/* ── assets/styles/legacy-base.css ── */
/* ─── SİTENİN YAZI TİPİ · Inter (SIL Open Font License) ───────────────────
   Değişken font: TEK dosyada 100–900 arası her kalınlık ve 14–32 arası optik
   boyut ekseni var; ayrı ayrı kalınlık dosyası indirilmez. Google'ın resmî
   Inter v20 yapısından alınıp yalnız gereken karakterlere daraltıldı
   (latin 65 KB + latin-ext 34 KB). Kendi sunucumuzdan gelir — üçüncü taraf
   isteği yok, çevrimdışı PWA'da da çalışır.

   `?v=` etiketi dosya içeriğinin sha1 önekidir ve SABİTtir (damgala.mjs yalnız
   js/css damgalar): Vercel bunu bir yıl immutable önbelleğe alır. Font dosyası
   değiştirilirse etiket de ELLE güncellenmelidir.

   font-display:swap → Inter inene kadar yazı sistem fontuyla görünür; kullanıcı
   bir an bile boş ekran görmez. latin-ext yalnız Türkçe'ye özgü harfler
   (ğ Ğ İ ş Ş) ve ₺ ekranda geçtiğinde iner. */
@font-face {
  font-family:"Inter";
  src:url("../fonts/inter-latin.woff2?v=7d8b5f62") format("woff2");
  font-weight:100 900;
  font-style:normal;
  font-display:swap;
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face {
  font-family:"Inter";
  src:url("../fonts/inter-latin-ext.woff2?v=37ff43b0") format("woff2");
  font-weight:100 900;
  font-style:normal;
  font-display:swap;
  unicode-range:U+0100-017F,U+0218-021B,U+0304,U+0308,U+0329,U+2020,U+20A0-20C0,U+2113;
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
/* Yukarıdaki margin:0, native <dialog>'un UA ortalamasını (margin:auto) da
   siliyordu: modal diyaloglar ekranın sol üstüne yapışıyordu. Kendi konumunu
   belirleyen diyaloglar (ör. .order-flow-glance-dialog) sınıfıyla ezer. */
dialog { margin: auto; }
/* Form elemanları ve butonlar gövde fontunu MİRAS ALMAZ (tarayıcı Arial/Times basar).
   Bu satır tüm buton/menü/giriş alanlarını sitenin kendi yazı tipine hizalar —
   özellikle Windows'ta nav etiketleri ve rozetlerdeki Arial görünümünü düzeltir. */
button, input, select, textarea { font-family: inherit; }
:root {
  /* Sitenin TEK yazı tipi. Inter inmezse sistem yazı tipine düşer; ölçüler
     yakın olduğu için düzen kaymaz. */
  --font: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;
  --bg: #f7f6f3; --surface: #ffffff; --border: #e2e0da;
  --text: #1a1917; --muted: #6b6860; --accent: #2563eb;
  --accent-soft: #eff4ff; --bursa: #0f6e56; --bursa-soft: #e1f5ee;
  --istanbul: #533ab7; --istanbul-soft: #eeedfe;
  --danger: #dc2626; --danger-soft: #fef2f2;
  --warning: #d97706; --warning-soft: #fffbeb;
  --success: #16a34a; --success-soft: #f0fdf4;
  --radius: 10px; --radius-sm: 6px;
  --shadow: 0 1px 3px rgba(0,0,0,0.08);
}
body { font-family: var(--font); background: var(--bg); color: var(--text); font-size: 14px; line-height: 1.5; min-height: 100vh; }

/* TOPBAR */
.topbar { background: var(--surface); border-bottom: 1px solid var(--border); padding: 0 24px; display: flex; align-items: center; height: 56px; gap: 12px; position: sticky; top: 0; z-index: 100; }

.dot { width: 7px; height: 7px; border-radius: 50%; background: currentColor; }
.notif-btn { position: relative; background: none; border: 1px solid var(--border); border-radius: var(--radius-sm); padding: 6px 10px; cursor: pointer; color: var(--muted); font-size: 18px; display: flex; align-items: center; transition: all 0.15s; }
.notif-btn:hover { background: var(--bg); color: var(--text); }
.notif-badge { position: absolute; top: -5px; right: -5px; background: var(--danger); color: #fff; font-size: 10px; font-weight: 600; min-width: 17px; height: 17px; border-radius: 9px; display: flex; align-items: center; justify-content: center; padding: 0 4px; border: 2px solid var(--surface); }
.notif-badge.hidden { display: none; }

/* NAV */
.nav { display: flex; gap: 2px; padding: 0 24px; background: var(--surface); border-bottom: 1px solid var(--border); overflow-x: auto; }
.nav-btn { background: none; border: none; border-bottom: 2px solid transparent; padding: 12px 14px; cursor: pointer; font-size: 13px; font-weight: 500; color: var(--muted); transition: all 0.15s; margin-bottom: -1px; display: flex; align-items: center; gap: 6px; white-space: nowrap; }
.nav-btn:hover { color: var(--text); }
.nav-btn.active { color: var(--accent); border-bottom-color: var(--accent); }
.nav-count { background: var(--accent); color: #fff; font-size: 10px; font-weight: 700; width: 22px; min-width: 22px; height: 22px; border-radius: 50%; display: flex; align-items: center; justify-content: center; padding: 0; line-height: 1; font-variant-numeric: tabular-nums; }
.nav-count.pulse { animation: pulse 1.5s ease-in-out 3; }
@keyframes pulse { 0%,100%{transform:scale(1)} 50%{transform:scale(1.3)} }

/* LAYOUT */
.page { display: none; padding: 24px; max-width: 1200px; margin: 0 auto; }
.page.active { display: block; }

/* CARDS */
.card { background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius); padding: 20px; box-shadow: var(--shadow); }
.card-title { font-size: 15px; font-weight: 600; margin-bottom: 16px; display: flex; align-items: center; gap: 8px; }

/* FORM */
.form-group { margin-bottom: 14px; }
label { display: block; font-size: 12px; font-weight: 500; color: var(--muted); margin-bottom: 5px; text-transform: uppercase; letter-spacing: 0.4px; }
input[type=text], input[type=number], select, textarea { width: 100%; padding: 9px 12px; border: 1px solid var(--border); border-radius: var(--radius-sm); font-size: 14px; font-family: inherit; color: var(--text); background: var(--surface); transition: border-color 0.15s, box-shadow 0.15s; outline: none; }
input[type=text]:focus, input[type=number]:focus, select:focus, textarea:focus { border-color: var(--accent); box-shadow: 0 0 0 3px rgba(37,99,235,0.1); }
input[type=text].error, input[type=number].error, select.error, textarea.error { border-color: var(--danger); }
textarea { resize: vertical; min-height: 90px; }
.field-error { font-size: 11px; color: var(--danger); margin-top: 4px; }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }

/* BUTTONS */
.btn { display: inline-flex; align-items: center; gap: 6px; padding: 9px 18px; border-radius: var(--radius-sm); font-size: 13px; font-weight: 500; cursor: pointer; border: none; transition: all 0.15s; font-family: inherit; }
.btn-primary { background: var(--accent); color: #fff; }
.btn-primary:hover { background: #1d4ed8; }
.btn-primary:active { transform: scale(0.98); }
.btn-primary:disabled { background: #93c5fd; cursor: not-allowed; }
.btn-sm { padding: 5px 10px; font-size: 12px; border-radius: 5px; }
.btn-outline { background: none; border: 1px solid var(--border); color: var(--text); }
.btn-outline:hover { background: var(--bg); }

/* CATEGORY PILLS */
.cat-grid { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 6px; }
.cat-pill { padding: 6px 13px; border-radius: 20px; font-size: 12px; font-weight: 500; cursor: pointer; border: 1.5px solid var(--border); color: var(--muted); background: var(--surface); transition: all 0.15s; user-select: none; }
.cat-pill:hover { border-color: var(--accent); color: var(--accent); background: var(--accent-soft); }
.cat-pill.selected { border-color: var(--accent); color: var(--accent); background: var(--accent-soft); }

/* SECTION HEADERS */

.section-count { background: var(--bg); border: 1px solid var(--border); border-radius: 10px; font-size: 11px; font-weight: 600; color: var(--muted); padding: 1px 8px; }

/* TICKETS */

.ticket { background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius); padding: 12px 16px; display: grid; grid-template-columns: 1fr auto; gap: 6px; align-items: start; transition: box-shadow 0.15s; cursor:pointer; }
.ticket:hover { box-shadow: var(--shadow); }
.ticket-msg,
.ticket-time { user-select:none; }
.ticket.is-open { border-left: 3px solid var(--accent); }

.ticket-sipno { font-weight: 600; font-size: 13px; }
.ticket-sip-link {
  display:inline;
  padding:0;
  border:0;
  background:transparent;
  color:inherit;
  font:inherit;
  cursor:pointer;
}
.ticket-sip-link:hover { color:var(--accent); text-decoration:underline; }

.ticket-cat { font-size: 11px; font-weight: 500; padding: 2px 8px; border-radius: 10px; }

.ticket-msg { font-size: 13px; color: var(--text); margin-top: 5px; line-height: 1.5; }
.ticket-time { font-size: 11px; color: var(--muted); white-space: nowrap; display:flex; flex-direction:column; align-items:flex-end; gap:2px; }
.ticket-time .ticket-updated { color: var(--accent); font-weight:600; }
.ticket-status { display: inline-flex; align-items: center; gap: 6px; font-size: 11px; font-weight: 500; padding: 3px 9px; border-radius: 10px; cursor: pointer; border: none; font-family: inherit; margin-top: 4px; }
/* Ticket satırındaki durum rozetine, modal başlığındaki gibi renkli nokta göstergesi.
   Renk currentColor'dan gelir: Açık=sarı, İşlemde=mavi, Kapalı=yeşil. */
.ticket-status-dot { width: 7px; height: 7px; border-radius: 50%; flex: 0 0 auto; background: currentColor; box-shadow: 0 0 0 3px color-mix(in srgb, currentColor 18%, transparent); }
.status-open { background: var(--warning-soft); color: var(--warning); }
.status-progress { background: var(--accent-soft); color: var(--accent); }
.status-closed { background: var(--success-soft); color: var(--success); }
.ticket-action-row { display:flex; justify-content:flex-end; gap:6px; flex-wrap:wrap; }

/* STATS */

/* ORDERS TABLE */
.orders-toolbar { display: flex; gap: 10px; margin-bottom: 16px; align-items: center; flex-wrap: wrap; }
/* Siparişler sayfasında iki katmanlı (arama satırı + filtre satırı) düzen. Geçmiş
   sayfasının daha sade toolbar'ı tek satır (varsayılan) olarak kalır. */
#page-orders .orders-toolbar { flex-direction: column; flex-wrap: nowrap; align-items: stretch; }
.orders-toolbar-row { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }
/* İkincil satır (açılır filtreler) görünüş olarak hafifçe geri çekilir, böylece
   arama + birincil aksiyonlar öne çıkar ve çubuk kalabalık görünmez. */
.orders-toolbar-filters { padding-top: 10px; border-top: 1px solid var(--border); }
.orders-filter-fields { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; flex: 1 1 auto; min-width: 0; }
.orders-filter-fields select { width: auto; min-width: 132px; }
/* Sıralama + kaydırma okları tek bir sağ-hizalı küme; dar ekranda birlikte sarar. */
.orders-toolbar-tools { display: flex; gap: 10px; align-items: center; flex: 0 0 auto; margin-left: auto; }
.orders-toolbar-filters .order-sort-controls,
.orders-toolbar-filters .table-pan-controls { flex: 0 0 auto; }
/* Tüm filtre kontrollerini tek tip yükseklik/biçimle hizala — profesyonel görünüm */
.orders-toolbar .search-input,
.orders-toolbar-filters select,
.orders-toolbar .favorites-filter-btn,
.orders-reset-btn { min-height: 40px; }
.orders-search-wrap { position: relative; flex: 1 1 280px; min-width: 220px; display: flex; align-items: center; }
.orders-search-wrap .search-input { flex: 1; min-width: 0; padding-left: 38px; }
.orders-search-icon { position: absolute; left: 13px; width: 16px; height: 16px; stroke-width: 1.9; color: var(--muted); pointer-events: none; }
.orders-reset-btn {
  display: inline-flex; align-items: center; gap: 7px; flex: 0 0 auto;
  padding: 8px 14px; border: 1px solid var(--border); border-radius: 11px;
  background: var(--surface); color: var(--muted);
  font: 600 12px inherit; white-space: nowrap; cursor: pointer;
  transition: color .18s ease, border-color .18s ease, background .18s ease;
}
.orders-reset-btn:hover { color: #d70015; border-color: rgba(215,0,21,.32); background: rgba(215,0,21,.06); }
.orders-reset-btn svg { width: 15px; height: 15px; stroke-width: 1.9; }
html[data-theme="dark"] .orders-reset-btn { color: #c7c7cc; border-color: rgba(255,255,255,.11); background: #242426; }
html[data-theme="dark"] .orders-reset-btn:hover { color: #ff6961; border-color: rgba(255,105,97,.4); background: rgba(255,105,97,.12); }
/* Filtre aktifken "Filtreleri sıfırla" butonu sabit bir uyarı tonuna geçer.
   Yanıp sönme yok; sınıf ilk eklendiğinde tek seferlik kısa bir vurgu oynar. */
.orders-reset-btn.filters-active {
  color: #c31220;
  border-color: rgba(215,0,21,.3);
  background: rgba(215,0,21,.07);
  animation: ordersResetSettle .5s ease-out 1;
}
.orders-reset-btn.filters-active::after {
  content: "";
  width: 5px; height: 5px;
  margin-left: 1px;
  border-radius: 50%;
  background: currentColor;
  opacity: .75;
}
.orders-reset-btn.filters-active:hover {
  color: #d70015;
  border-color: rgba(215,0,21,.45);
  background: rgba(215,0,21,.12);
}
@keyframes ordersResetSettle {
  from { box-shadow: 0 0 0 5px rgba(215,0,21,.15); }
  to { box-shadow: 0 0 0 0 rgba(215,0,21,0); }
}
html[data-theme="dark"] .orders-reset-btn.filters-active {
  color: #ff8078;
  border-color: rgba(255,105,97,.32);
  background: rgba(255,105,97,.1);
}
html[data-theme="dark"] .orders-reset-btn.filters-active:hover {
  color: #ff6961;
  border-color: rgba(255,105,97,.5);
  background: rgba(255,105,97,.16);
}
@media (prefers-reduced-motion: reduce) {
  .orders-reset-btn.filters-active { animation: none; }
}
@media (max-width: 700px) {
  .orders-filter-fields select { flex: 1 1 140px; min-width: 0; }
  .orders-reset-btn { flex: 1 1 auto; justify-content: center; }
}
.search-input { flex: 1; min-width: 200px; }
.table-wrap { overflow-x: auto; border-radius: var(--radius); border: 1px solid var(--border); }
table { width: 100%; border-collapse: collapse; font-size: 13px; background: var(--surface); }
thead th { background: var(--bg); padding: 10px 12px; text-align: left; font-size: 11px; font-weight: 600; color: var(--muted); text-transform: uppercase; letter-spacing: 0.4px; white-space: nowrap; border-bottom: 1px solid var(--border); position: sticky; top: 0; }
tbody td { padding: 10px 12px; border-bottom: 1px solid var(--border); vertical-align: middle; }
tbody tr:last-child td { border-bottom: none; }
tbody tr:hover { background: #fafaf9; }
.sip-no-cell { font-weight: 600; font-family: var(--font); font-size: 12px; white-space: nowrap; }
.sip-no-wrap { display:inline-flex; align-items:center; gap:7px; }

.favorites-filter-btn.is-active { color:#d97706; border-color:rgba(217,119,6,.45); background:rgba(217,119,6,.12); }
.firma-cell { max-width: 140px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
/* Bursa'da firma hep Gençler Örme'dir; sütun müş. sip. no'daki müşteriyi / Bursa Mağaza'yı gösterir (2026-10-18). */
.firma-head-bursa { display: none; }
body.office-bursa .firma-head-ist { display: none; }
body.office-bursa .firma-head-bursa { display: inline; }
.num-cell { text-align: right; font-variant-numeric: tabular-nums; }
.pill { display: inline-block; font-size: 11px; font-weight: 500; padding: 2px 8px; border-radius: 10px; }
.pill-blue { background: var(--accent-soft); color: var(--accent); }
.pill-green { background: var(--success-soft); color: var(--success); }
.sip-link { color: var(--accent); cursor: pointer; text-decoration: none; font-weight: 600; }
.sip-link:hover { text-decoration: underline; }

/* UPLOAD ZONE */

.upload-result { margin-top: 16px; }
.upload-stat { display: inline-flex; align-items: center; gap: 6px; padding: 6px 14px; border-radius: 20px; font-size: 13px; font-weight: 500; margin: 4px; }
.upload-new { background: var(--success-soft); color: var(--success); }
.upload-skip { background: var(--bg); color: var(--muted); border: 1px solid var(--border); }
.upload-err { background: var(--danger-soft); color: var(--danger); }
.progress-bar { height: 4px; background: var(--border); border-radius: 2px; margin: 12px 0; overflow: hidden; }
.progress-fill { height: 100%; background: var(--accent); border-radius: 2px; transition: width 0.3s; }

/* OFFICE PHOTOS */
.photo-shell { display:grid; gap:16px; }

.photo-empty { border:1px dashed var(--border); border-radius:var(--radius); padding:32px 18px; color:var(--muted); text-align:center; background:rgba(127,127,127,.035); }

.photo-viewer { width:min(920px,96vw); max-height:92vh; background:var(--surface); border-radius:var(--radius); overflow:hidden; box-shadow:0 20px 50px rgba(0,0,0,.25); display:grid; }
.photo-viewer img { width:100%; max-height:78vh; object-fit:contain; background:#050505; }
.photo-viewer-bar { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px 14px; border-top:1px solid var(--border); }
.photo-viewer-title { min-width:0; font-size:13px; font-weight:650; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }

/* NOTIFICATION PANEL */
.notif-panel { position: fixed; top: 56px; right: 16px; width: 320px; background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius); box-shadow: 0 8px 24px rgba(0,0,0,0.12); z-index: 200; display: none; max-height: 400px; overflow-y: auto; }
.notif-panel.open { display: block; }
.notif-panel-header { padding: 12px 16px; border-bottom: 1px solid var(--border); font-weight: 600; font-size: 13px; display: flex; justify-content: space-between; align-items: center; }
.notif-item { padding: 12px 16px; border-bottom: 1px solid var(--border); cursor: pointer; transition: background 0.1s; }
.notif-item:hover { background: var(--bg); }
.notif-item:last-child { border-bottom: none; }
.notif-item-title { font-weight: 500; font-size: 13px; }
.notif-item-sub { font-size: 12px; color: var(--muted); margin-top: 2px; }
.notif-empty { padding: 24px 16px; text-align: center; color: var(--muted); font-size: 13px; }

/* TOAST */
.toast-container { position: fixed; bottom: 24px; right: 24px; z-index: 2147483000; display: flex; flex-direction: column; gap: 8px; pointer-events: none; }
/* Uyarı her ekranda en üstte kalmalı. Popover ile tarayıcının top layer'ına alınır
   (native <dialog> ve yüksek z-index'li katmanların da üstünde); popover'ı
   desteklemeyen tarayıcıda yukarıdaki yüksek z-index yedek kalır. */
.toast-container[popover] { top: auto; left: auto; margin: 0; padding: 0; border: 0; background: none; overflow: visible; width: auto; max-width: none; height: auto; max-height: none; display: none; }
.toast-container[popover]:popover-open { display: flex; }
.toast { background: var(--text); color: #fff; padding: 12px 18px; border-radius: var(--radius-sm); font-size: 13px; box-shadow: 0 4px 12px rgba(0,0,0,0.2); animation: slideIn 0.25s ease; display: flex; align-items: center; gap: 8px; max-width: 320px; }
@keyframes slideIn { from { opacity:0; transform: translateY(10px); } to { opacity:1; transform:translateY(0); } }
.toast.success { background: var(--success); }
.toast.error { background: var(--danger); }
.toast.has-action { pointer-events: auto; }
.toast-action { margin-left: auto; padding: 2px 4px; border: 0; background: none; color: inherit; font: 700 13px/1.2 var(--font, inherit); text-decoration: underline; text-underline-offset: 2px; cursor: pointer; flex-shrink: 0; }
.toast-action:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; border-radius: 4px; }

/* MODAL */
.modal-overlay { position: fixed; inset: 0; background: rgba(0,0,0,0.4); z-index: 400; display: flex; align-items: center; justify-content: center; }
.modal { background: var(--surface); border-radius: var(--radius); padding: 28px; width: 360px; box-shadow: 0 20px 40px rgba(0,0,0,0.15); }
.modal h2 { font-size: 17px; font-weight: 600; margin-bottom: 6px; }
.modal p { color: var(--muted); font-size: 13px; margin-bottom: 20px; }
.office-btns { display: grid; gap: 10px; }
.office-choose-btn { padding: 16px; border-radius: var(--radius); border: 1.5px solid var(--border); cursor: pointer; text-align: left; background: var(--surface); font-family: inherit; transition: all 0.15s; }
.office-choose-btn:hover { border-color: var(--accent); }
.office-choose-btn .name { font-size: 15px; font-weight: 600; margin-bottom: 2px; }
.office-choose-btn .desc { font-size: 12px; color: var(--muted); }
.office-choose-btn.bursa .name { color: var(--bursa); }
.office-choose-btn.istanbul .name { color: var(--istanbul); }

/* TICKET FORWARD */
.ticket-forward-modal { width:min(430px, 94vw); }
.ticket-forward-summary { border:1px solid var(--border); border-radius:var(--radius-sm); padding:10px 12px; margin:14px 0; background:var(--bg); }

.ticket-forward-list { max-height:280px; overflow-y:auto; display:grid; gap:7px; padding-right:3px; margin:10px 0 16px; }
.ticket-forward-person { display:flex; align-items:center; gap:10px; padding:9px 10px; border:1px solid var(--border); border-radius:10px; cursor:pointer; background:var(--surface); transition:background .12s,border-color .12s; }
.ticket-forward-person:hover { background:var(--bg); }
.ticket-forward-person input { width:16px; height:16px; accent-color:var(--accent); }
.ticket-forward-person .name { flex:1; min-width:0; font-size:13px; font-weight:600; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; text-transform:none; letter-spacing:0; color:var(--text); margin:0; }
.ticket-forward-person .office { color:var(--muted); font-size:11px; }
.ticket-forward-actions { display:flex; justify-content:flex-end; gap:8px; }
#sipAssignModal { z-index:470; }

/* ORDER DETAIL MODAL */
.order-modal { background: var(--surface); border-radius: var(--radius); padding: 28px; width: min(960px, 96vw); max-height: 85vh; overflow-y: auto; box-shadow: 0 20px 40px rgba(0,0,0,0.15); }
.order-modal h2 { font-size: 18px; font-weight: 600; margin-bottom: 4px; }
.order-modal .subtitle { color: var(--muted); font-size: 13px; margin-bottom: 20px; }
.detail-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 12px; margin-bottom: 20px; }

.order-color-strip { display:flex; flex-wrap:wrap; gap:6px; margin:0 0 8px; }
.order-color-chip { display:inline-flex; align-items:center; max-width:100%; padding:4px 8px; border-radius:999px; color:var(--accent); background:var(--accent-soft); font-size:10.5px; font-weight:750; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.order-notes-panel { margin:0 0 16px; border:1px solid var(--border); border-radius:14px; background:var(--surface-solid,#fff); overflow:hidden; }

.order-note-mode button.active { background:var(--accent); color:#fff; }

.order-note-empty { padding:13px 16px; color:var(--muted); font-size:12px; line-height:1.4; }
/* @bahsetme: not yazarken kişi etiketleme (overlay + dropdown) */
.note-mention { color:var(--accent); font-weight:700; }

.mention-menu { position:absolute; top:calc(100% + 5px); left:0; right:0; z-index:30;
  max-height:240px; overflow-y:auto; padding:5px; display:grid; gap:2px;
  background:var(--surface); border:1px solid var(--border); border-radius:11px;
  box-shadow:0 16px 38px rgba(0,0,0,.28); }
.mention-menu[hidden] { display:none; }
.mention-option { display:flex; align-items:center; gap:9px; width:100%; padding:7px 9px;
  border:0; border-radius:8px; background:transparent; color:var(--text); font:inherit; cursor:pointer; text-align:left; }
.mention-option:hover, .mention-option.active { background:var(--accent-soft); }
.mention-ava { display:inline-flex; align-items:center; justify-content:center; width:26px; height:26px;
  flex:0 0 auto; border-radius:50%; color:#fff; font-size:10px; font-weight:800; }
.mention-name { flex:1; min-width:0; font-size:13px; font-weight:650; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.mention-office { font-size:10px; color:var(--muted); font-weight:700; white-space:nowrap; }
/* Sipariş modalı hızlı kontrolleri — Termin, ERP Notu ve sohbet notları */

.order-data-note { margin-bottom:16px; padding:11px 14px; border:1px solid rgba(146,64,14,.25); border-radius:12px; background:var(--warning-soft); color:#92400e; font-size:12.5px; line-height:1.5; }

.order-termin-panel { margin-bottom:16px; padding:14px; border:1px solid var(--border); border-radius:13px; background:var(--surface-solid,#fff); }
.order-termin-panel .termin-row { margin-bottom:0; }

.order-termin-panel .termin-picker { margin:12px 0 0; }
/* Sipariş detayı v2 — başlık, meta çipleri, veri sayfası, alt bilgi */
.om-head { display:flex; justify-content:space-between; align-items:flex-start; gap:14px; margin-bottom:16px; }
.om-title-wrap { min-width:0; }
.om-title-row { display:flex; align-items:center; gap:9px; flex-wrap:wrap; }
.om-sip { font-size:20px; font-weight:750; letter-spacing:-.02em; line-height:1.2; font-variant-numeric:tabular-nums; margin-bottom:0; }
.om-archived-badge { padding:3px 9px; border-radius:999px; font-size:10.5px; font-weight:750; color:#92400e; background:var(--warning-soft); border:1px solid rgba(146,64,14,.25); white-space:nowrap; }
html[data-theme="dark"] .om-archived-badge { color:#fbbf24; border-color:rgba(251,191,36,.3); background:rgba(251,191,36,.1); }
.om-meta { display:flex; align-items:center; flex-wrap:wrap; gap:5px 14px; margin-top:7px; color:var(--muted); font-size:12.5px; line-height:1.4; }
.om-meta-item { display:inline-flex; align-items:center; gap:5px; min-width:0; }
.om-meta-item svg { width:13px; height:13px; flex:0 0 auto; opacity:.75; }
.om-meta-item strong { color:var(--text); font-weight:650; }
.om-firm { color:var(--text); font-weight:650; max-width:360px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.om-data { margin-bottom:16px; border:1px solid var(--border); border-radius:14px; background:var(--surface-solid,#fff); overflow:hidden; }
.om-data-head { display:flex; align-items:center; justify-content:space-between; gap:10px; flex-wrap:wrap; padding:12px 16px; border-bottom:1px solid var(--border); }
.om-data-title { color:var(--text); font-size:12px; font-weight:800; letter-spacing:.04em; text-transform:uppercase; }
.om-data-head .order-color-strip { margin:0; justify-content:flex-end; }
.om-data-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); gap:1px; background:var(--border); }
.om-data-group { padding:12px 16px 14px; background:var(--surface-solid,#fff); }
.om-data-group-title { margin-bottom:7px; color:var(--muted); font-size:9.5px; font-weight:750; letter-spacing:.07em; text-transform:uppercase; }
.om-data-row { display:flex; align-items:baseline; gap:8px; padding:4.5px 0; font-size:12.5px; }
.om-data-row + .om-data-row { border-top:1px dashed color-mix(in srgb,var(--border) 55%,transparent); }
.om-data-k { flex:0 0 auto; color:var(--muted); font-weight:600; }
.om-data-fill { flex:1 1 auto; min-width:12px; }
.om-data-pct { flex:0 0 auto; color:var(--accent); font-size:10.5px; font-weight:750; font-variant-numeric:tabular-nums; }
.om-data-v { flex:0 0 auto; min-width:76px; text-align:right; color:var(--text); font-weight:750; font-variant-numeric:tabular-nums; }
.table-more-row td { padding:0 !important; }
.table-more-btn { display:flex; align-items:center; justify-content:center; gap:6px; width:100%; padding:12px; border:0; border-top:1px dashed var(--border); background:transparent; color:var(--accent); font:650 12.5px inherit; cursor:pointer; transition:background .15s; }
.table-more-btn span { color:var(--muted); font-weight:600; }
.table-more-btn:hover { background:var(--accent-soft); }
/* Kart listelerinin karşılığı: tablo düğmesiyle aynı dil, kart ızgarasının
   altında ince bir şerit. */
.order-flow-more { display:flex; align-items:center; justify-content:center; gap:6px; width:100%; margin-top:10px; padding:11px; border:1px dashed var(--border); border-radius:12px; background:transparent; color:var(--accent); font:650 12.5px inherit; cursor:pointer; transition:background .15s, border-color .15s; }
.order-flow-more span { color:var(--muted); font-weight:600; }
.order-flow-more:hover { border-color:color-mix(in srgb,var(--accent) 45%,var(--border)); background:var(--accent-soft); }
.om-foot { display:flex; flex-wrap:wrap; gap:6px 18px; padding-top:12px; border-top:1px solid var(--border); color:var(--muted); font-size:11px; }
.om-foot strong { color:var(--text); font-weight:650; }
@media (max-width:640px) {
  .om-head { flex-direction:column; }
  .om-firm { max-width:100%; }
  .om-data-grid { grid-template-columns:1fr; }
}
.tickets-in-order { margin: 14px 0 16px; }
.tickets-in-order-head { font-size:13px; font-weight:600; margin-bottom:10px; }
.order-ticket-scroll { max-height:372px; overflow-y:auto; padding-right:4px; overscroll-behavior:contain; }

.order-modal-actions { display:flex; gap:7px; flex-shrink:0; flex-wrap:wrap; justify-content:flex-end; }
.order-modal-action { min-height:36px; padding:7px 12px; white-space:nowrap; }

.empty-state { text-align: center; padding: 30px; color: var(--muted); font-size: 13px; }

.page-header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 20px; flex-wrap: wrap; gap: 10px; }

.istanbul-only { display: none; }
.bursa-only { display: none; }
/* Admin'den gizlenebilen sekmeler (ofis mantığını da ezer) */

/* iOS tarzı aç/kapa anahtarı (admin ayarları) */

.switch { position: relative; display: inline-block; width: 46px; height: 26px; flex-shrink: 0; }
.switch input { opacity: 0; width: 0; height: 0; }
.switch .slider { position: absolute; cursor: pointer; inset: 0; background: var(--border); border-radius: 999px; transition: background .2s; }
.switch .slider::before { content: ''; position: absolute; height: 20px; width: 20px; left: 3px; top: 3px; background: #fff; border-radius: 50%; transition: transform .2s; box-shadow: 0 1px 3px rgba(0,0,0,.3); }
.switch input:checked + .slider { background: var(--success); }
.switch input:checked + .slider::before { transform: translateX(20px); }

/* TICKET DETAIL MODAL */
/* Yükseklik içeriğe göre adaptif: tek kısa mesajda pencere incelir, içerik arttıkça
   maks boyuta kadar büyür (fazlası .reply-thread içinde kayar). Overlay ortaladığı için
   ince halde sayfada dikey olarak ortalanır. */
.ticket-detail-modal { background: var(--surface); border-radius: var(--radius); width: min(860px, calc(100vw - 48px)); max-height: min(760px, calc(100dvh - 48px)); box-shadow: 0 20px 40px rgba(0,0,0,0.15); display: flex; flex-direction: column; overflow: hidden; }
#ticketModalBody { min-height:0; }

.reply-bubble { padding: 10px 14px; border-radius: var(--radius); font-size: 13px; max-width: 74%; line-height: 1.45; word-break: break-word; }

.reply-mine { background: var(--accent); color: #fff; align-self: flex-end; border-bottom-right-radius: 3px; }

.reply-meta { font-size: 11px; margin-top: 3px; opacity: 0.7; }
.ticket-no-badge { font-size: 10px; font-weight: 700; color: var(--muted); font-family: var(--font); }

/* TICKET DETAIL — refined header */

.tk-avatar { width:27px; height:27px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:11px; font-weight:700; color:#fff; background:var(--accent); flex-shrink:0; box-shadow:0 2px 7px rgba(0,0,0,.16); user-select:none; }

/* Trigger ile menü arasındaki boşluğu kapatan görünmez köprü: fare geçerken hover kaybolmaz */

.tk-composer { padding:10px 18px; border-top:1px solid var(--border); flex-shrink:0; }
.tk-composer-row { display:flex; gap:10px; align-items:stretch; }
.tk-composer textarea { flex:1; min-height:44px; max-height:92px; resize:vertical; transition:border-color .15s, box-shadow .15s; }
.tk-composer textarea:focus { border-color:var(--accent); box-shadow:0 0 0 3px var(--accent-soft); }

.reply-bubble.is-color-code{min-width:230px;border-color:rgba(139,92,246,.28)}.ticket-color-code-reply{display:grid;gap:4px}.ticket-color-code-reply>small{font-size:9px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;opacity:.78}.ticket-color-code-reply>span{display:flex;align-items:center;gap:7px;font:720 10px var(--font-numeric)}.ticket-color-code-reply>span i{font-style:normal}.ticket-color-code-reply>strong{font:880 15px var(--font-numeric);letter-spacing:.035em}.reply-mine .ticket-color-code-reply del{color:rgba(255,255,255,.76)}.reply-other .ticket-color-code-reply>strong{color:#7142d4}
/* Composer: albümden hızlı fotoğraf ekleme */
.tk-photo-wrap { position:relative; display:flex; }
.tk-photo-btn { align-self:stretch; display:flex; align-items:center; justify-content:center; width:46px; padding:0; border:1px solid var(--border); border-radius:var(--radius); background:var(--surface); color:var(--muted); cursor:pointer; transition:color .15s, border-color .15s, background .15s; }
.tk-photo-btn:hover, .tk-photo-btn.active { color:var(--accent); border-color:var(--accent); background:var(--accent-soft); }
.tk-photo-btn svg { width:21px; height:21px; }
.tk-photo-pop { position:absolute; bottom:calc(100% + 10px); right:0; width:min(360px,80vw); background:var(--surface); border:1px solid var(--border); border-radius:14px; box-shadow:0 18px 44px rgba(0,0,0,.28); padding:12px; z-index:60; display:flex; flex-direction:column; gap:10px; opacity:0; transform:translateY(12px) scale(.97); transform-origin:bottom right; pointer-events:none; transition:opacity .18s ease, transform .18s ease; }
.tk-photo-pop.open { opacity:1; transform:translateY(0) scale(1); pointer-events:auto; }
.tk-photo-pop-head { display:flex; align-items:center; justify-content:space-between; gap:8px; }
.tk-photo-pop-head b { font-size:13px; }
.tk-photo-pop-close { background:none; border:none; color:var(--muted); cursor:pointer; font-size:14px; line-height:1; padding:3px 6px; border-radius:7px; }
.tk-photo-pop-close:hover { color:var(--text); background:var(--accent-soft); }
.tk-photo-search { width:100%; padding:8px 11px; border:1px solid var(--border); border-radius:9px; background:var(--bg); color:var(--text); font-size:12.5px; }
.tk-photo-search:focus { outline:none; border-color:var(--accent); box-shadow:0 0 0 3px var(--accent-soft); }
.tk-photo-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:7px; max-height:248px; overflow-y:auto; padding-right:2px; }
.tk-photo-pick { position:relative; aspect-ratio:1/1; border:1px solid var(--border); border-radius:10px; overflow:hidden; cursor:pointer; padding:0; background:var(--bg); transition:transform .12s, border-color .12s, box-shadow .12s; }
.tk-photo-pick img { width:100%; height:100%; object-fit:cover; display:block; }
.tk-photo-pick:hover { transform:translateY(-2px); border-color:var(--accent); box-shadow:0 6px 16px rgba(0,0,0,.22); }
.tk-photo-pick-cap { position:absolute; left:0; right:0; bottom:0; padding:8px 5px 3px; font-size:9.5px; color:#fff; background:linear-gradient(transparent, rgba(0,0,0,.72)); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; text-align:left; }
.tk-photo-empty { grid-column:1/-1; padding:20px 12px; text-align:center; color:var(--muted); font-size:12px; }

/* LOGIN SCREEN */
.login-overlay { position: fixed; inset: 0; z-index: 500; display: flex; align-items: center; justify-content: center; padding: 24px;
  background: linear-gradient(135deg, #1e293b 0%, #2563eb 100%); }
.login-card { background: var(--surface); border-radius: 16px; padding: 40px 36px; width: 100%; max-width: 380px;
  box-shadow: 0 24px 60px rgba(0,0,0,0.3); animation: loginIn 0.4s cubic-bezier(0.16,1,0.3,1); }
@keyframes loginIn { from { opacity:0; transform: translateY(16px) scale(0.98); } to { opacity:1; transform:none; } }
.login-logo { position: relative; isolation: isolate; font-family: var(--font); font-size: 38px; font-weight: 800; letter-spacing: -0.032em; text-align: center; margin-bottom: 4px; }
.login-logo span { color: var(--accent); }
/* Marka işareti yazının ÜSTÜNDE; yazının gölge katmanı (::before) yalnız yazıyı kapsar. */
.login-brand { display: flex; flex-direction: column; align-items: center; gap: 14px; margin: 0 0 10px; }
.login-brand .login-logo { margin-bottom: 0; line-height: 1.1; }
.login-brand-mark { width: 76px; height: 76px; display: block; object-fit: contain; filter: drop-shadow(0 4px 12px rgba(0,0,0,.22)); }
.login-logo::before {
  content: "Gençler Örme";
  position: absolute; inset: 0; z-index: -1;
  color: transparent;
  text-shadow: 0 3px 14px rgba(0,0,0,.3);
  pointer-events: none;
}
.login-sub { text-align: center; color: var(--muted); font-size: 13px; margin-bottom: 28px; }
.login-field { margin-bottom: 16px; }
.login-field label { display: block; font-size: 12px; font-weight: 600; color: var(--text); margin-bottom: 7px; text-transform: none; letter-spacing: normal; }
.login-input-wrap { position: relative; }
.login-input-wrap .ico { position: absolute; left: 13px; top: 50%; transform: translateY(-50%); font-size: 15px; opacity: 0.5; pointer-events: none; }
.login-input { width: 100%; padding: 12px 14px 12px 40px; border: 1.5px solid var(--border); border-radius: 10px;
  font-size: 14px; font-family: inherit; color: var(--text); background: var(--bg); transition: all 0.15s; outline: none; text-transform: none; letter-spacing: normal; }
.login-input:focus { border-color: var(--accent); background: var(--surface); box-shadow: 0 0 0 4px rgba(37,99,235,0.1); }
.login-btn { width: 100%; justify-content: center; padding: 12px; font-size: 14px; font-weight: 600; border-radius: 10px; margin-top: 4px; }
.login-error { background: var(--danger-soft); color: var(--danger); font-size: 12.5px; padding: 9px 12px; border-radius: 8px; margin-bottom: 14px; display: none; }
.login-error.show { display: block; }
.login-foot { text-align: center; font-size: 11.5px; color: var(--muted); margin-top: 22px; }
.login-label-row { display: flex; align-items: center; justify-content: space-between; margin-bottom: 7px; }
.login-label-row label { margin-bottom: 0; }
.login-link { background: none; border: none; padding: 0; font-size: 12px; font-weight: 600; color: var(--accent); cursor: pointer; }
.login-link:hover { text-decoration: underline; }
.login-remember { display: flex; align-items: center; gap: 8px; font-size: 12.5px; font-weight: 500; color: var(--text); margin-bottom: 16px; cursor: pointer; user-select: none; text-transform: none; letter-spacing: normal; }
.login-remember input { width: 16px; height: 16px; accent-color: var(--accent); cursor: pointer; margin: 0; }

/* SUPPLY CHAIN WIDGET */
.sc-card { background: linear-gradient(135deg, #f8fafc 0%, #eef2f7 100%); border: 1px solid var(--border); border-radius: var(--radius); padding: 18px 20px; margin-bottom: 18px; }

/* Kimin siparişi — ofise göre müş. sip. no (Bursa) / firma adı (İstanbul) */

.sc-tabs-row { margin-bottom:16px; overflow-x:auto; scrollbar-width:none; }
.sc-tabs-row::-webkit-scrollbar { height:0; display:none; }
.sc-tabs-row .sc-tabs { width:max-content; }
.sc-done-badge { background: var(--success); color: #fff; font-size: 12px; font-weight: 600; padding: 4px 12px; border-radius: 20px; }
.sc-raw-badge { background: var(--warning-soft); color: var(--warning); font-size: 11px; font-weight: 600; padding: 3px 10px; border-radius: 20px; }
/* Boyalı olacak ama boya siparişi henüz açılmamış: uyarı değil, bekleyen iş → nötr mavi. */
.sc-dye-pending-badge { background: var(--accent-soft); color: var(--accent); font-size: 11px; font-weight: 600; padding: 3px 10px; border-radius: 20px; }
/* Üretim tamamlandı (örme+boya %100) ama satış bitmedi → "hazır, sevk bekliyor": yeşil
   "Tamamlandı"dan ayrışan teal ton. */
.sc-production-badge { display:inline-flex; align-items:center; gap:5px; background:rgba(20,184,166,.13); color:#0d9488; border:1px solid rgba(20,184,166,.34); font-size:12px; font-weight:650; padding:4px 11px; border-radius:20px; white-space:nowrap; }
.sc-production-badge svg { width:13px; height:13px; stroke-width:2.6; }
html[data-theme="dark"] .sc-production-badge { background:rgba(45,212,191,.16); color:#5eead4; border-color:rgba(45,212,191,.4); }
/* Sipariş listesi Tedarik Zinciri hücresindeki kompakt rozet */
.chain-cell { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.row-prod-badge { display:inline-flex; align-items:center; gap:3px; background:rgba(20,184,166,.13); color:#0d9488; border:1px solid rgba(20,184,166,.3); font-size:9.5px; font-weight:750; letter-spacing:.02em; padding:2px 7px; border-radius:999px; white-space:nowrap; }
.row-prod-badge svg { width:10px; height:10px; stroke-width:3; flex:0 0 auto; }
html[data-theme="dark"] .row-prod-badge { background:rgba(45,212,191,.15); color:#5eead4; border-color:rgba(45,212,191,.34); }
/* Örgüsü başlamış ama boya siparişi açılmamış satır: bekleyen iş, nötr mavi. */
.row-dye-pending-badge { display:inline-flex; align-items:center; background:var(--accent-soft); color:var(--accent); font-size:9.5px; font-weight:750; letter-spacing:.02em; padding:2px 7px; border-radius:999px; white-space:nowrap; }
.sc-tabs { display:inline-flex; gap:3px; padding:3px; border:1px solid var(--border); border-radius:12px; background:rgba(127,127,127,.06); }
.sc-tab { min-height:30px; padding:6px 10px; border:0; border-radius:9px; background:transparent; color:var(--muted); font:600 11px inherit; cursor:pointer; white-space:nowrap; }
.sc-tab.active { color:var(--text); background:var(--surface); box-shadow:var(--shadow); }
.sc-pane { display:none; }
.sc-pane.active { display:block; }
.fabric-summary { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:7px; margin-bottom:14px; }
.fabric-stat { padding:8px 11px; border:1px solid var(--border); border-radius:11px; background:var(--surface-solid,#fff); }
.fabric-stat .k { color:var(--muted); font-size:9.5px; font-weight:750; text-transform:uppercase; letter-spacing:.05em; }
.fabric-stat .v { margin-top:3px; font-size:14px; font-weight:800; letter-spacing:-.01em; font-variant-numeric:tabular-nums; }
.fabric-list { display:grid; gap:10px; }
.fabric-card { overflow:hidden; border:1px solid var(--border); border-radius:12px; background:var(--surface-solid,#fff); }
.fabric-card-head { display:flex; justify-content:space-between; gap:12px; padding:11px 12px; border-bottom:1px solid var(--border); }
.fabric-name { min-width:0; font-size:14px; font-weight:800; line-height:1.3; letter-spacing:0; }
.fabric-meta { flex:0 0 auto; color:var(--muted); font-size:11px; white-space:nowrap; }
.fabric-colors { width:100%; border-collapse:collapse; font-size:11px; background:transparent; }
.fabric-colors th { position:static; padding:7px 9px; font-size:9px; background:transparent; }
.fabric-colors td { padding:7px 9px; border-top:1px solid var(--border); }
.fabric-empty { padding:16px; color:var(--muted); border:1px dashed var(--border); border-radius:var(--radius-sm); background:rgba(127,127,127,.04); font-size:12px; }
.fabric-source-note { margin-top:10px; color:var(--muted); font-size:10.5px; line-height:1.45; }
.production-detail { display:grid; gap:12px; margin-top:14px; }
.production-detail-head { display:flex; justify-content:space-between; gap:10px; align-items:center; flex-wrap:wrap; }
.production-detail-title { color:var(--text); font-size:12px; font-weight:800; letter-spacing:.02em; text-transform:uppercase; }
.production-detail-meta { color:var(--muted); font-size:10.5px; }
.production-timeline { display:grid; gap:8px; }
.production-event { display:grid; grid-template-columns:26px minmax(0,1fr) auto; gap:10px; align-items:start; padding:10px 11px; border:1px solid var(--border); border-radius:var(--radius-sm); background:rgba(127,127,127,.045); }
.production-event-mark { width:26px; height:26px; display:grid; place-items:center; border-radius:50%; background:var(--accent-soft); color:var(--accent); font-size:11px; font-weight:800; }
.production-event-main { min-width:0; }
.production-event-title { color:var(--text); font-size:12.5px; font-weight:760; line-height:1.25; }
.production-event-sub { margin-top:3px; color:var(--muted); font-size:10.5px; line-height:1.35; }
.production-event-days { color:var(--text); font-size:11px; font-weight:750; white-space:nowrap; text-align:right; }
/* Fasoncuda hâlâ duran işin satırı (2026-10-26): gün hapının altında bekleme. */
.production-event-days.has-wait { display:grid; justify-items:end; gap:3px; }
.production-event-wait { color:var(--warning); font-size:11px; font-weight:650; }
/* 4'ten fazla hareket varsa kalanları gizle; ok ile aç/kapa. */
.production-timeline.is-collapsed .production-event:nth-child(n+5) { display:none; }
.production-timeline-toggle { display:flex; align-items:center; justify-content:center; gap:6px; width:100%; margin-top:8px;
  padding:7px 12px; border:1px solid var(--border); border-radius:var(--radius-sm); background:rgba(127,127,127,.045);
  color:var(--muted); font:700 11px inherit; letter-spacing:.01em; cursor:pointer; transition:background .15s ease, color .15s ease, border-color .15s ease; }
.production-timeline-toggle:hover { color:var(--text); border-color:var(--accent); background:var(--accent-soft); }
.production-timeline-toggle svg { width:15px; height:15px; stroke-width:2.2; transition:transform .2s ease; }
.production-timeline-toggle.is-expanded svg { transform:rotate(180deg); }
.production-metrics { display:grid; grid-template-columns:repeat(auto-fit,minmax(130px,1fr)); gap:8px; }
.production-metric { padding:9px 10px; border:1px solid var(--border); border-radius:var(--radius-sm); background:rgba(127,127,127,.04); }
.production-metric .k { color:var(--muted); font-size:9.5px; font-weight:700; letter-spacing:.04em; text-transform:uppercase; }
.production-metric .v { margin-top:3px; color:var(--text); font-size:13px; font-weight:760; }

/* MINI SUPPLY CHAIN (tabloda) */
/* Tedarik Zinciri (liste): bölmeli tek çubuk + toplam yüzde */
.sc-mini { display: inline-flex; align-items: center; gap: 8px; }
.sc-segs { display: flex; gap: 2px; width: 72px; height: 6px; border-radius: 999px; overflow: hidden; flex-shrink: 0; }
.sc-seg { display: flex; flex: 1; min-width: 0; background: color-mix(in srgb, var(--muted) 26%, transparent); }
.sc-seg > i { display: block; flex: none; height: 100%; background: var(--accent); }
/* Fasonda bekleyen (çıktı, gelmedi): gelenin ardından açık renk (2026-10-28) */
.sc-seg > .sc-seg-out { display: block; flex: none; height: 100%; background: color-mix(in srgb, var(--accent) 32%, transparent); }
.sc-seg.done > i, .sc-seg.is-full > i { background: var(--success); }
.sc-total { min-width: 32px; color: var(--muted); font-size: 11px; font-weight: 650; font-variant-numeric: tabular-nums; }
.sc-mini.is-complete .sc-total { color: var(--success); }
/* Tedarik Zinciri (sipariş detayı): aynı bölmeli çubuğun büyük hâli; bölme = sütun */
.sc-board { display: grid; gap: 10px; }
.sc-board-total { justify-self: end; color: var(--muted); font-size: 13px; font-weight: 700; font-variant-numeric: tabular-nums; }
.sc-board-total.is-complete { color: var(--success); }
.sc-board-bar, .sc-board-cols { display: grid; grid-auto-columns: minmax(0, 1fr); grid-auto-flow: column; gap: 4px; }
.sc-board-bar { height: 8px; border-radius: 999px; overflow: hidden; }
.sc-stage { display: flex; flex-direction: column; align-items: flex-start; gap: 4px; min-width: 0; padding-right: 12px; }
.sc-stage-head { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; width: 100%; }
.sc-label { font-size: 13px; font-weight: 650; color: var(--text); }
.sc-stage.pending .sc-label { color: var(--muted); }
.sc-pct { font-size: 13px; font-weight: 700; font-variant-numeric: tabular-nums; }
.sc-pct.done { color: var(--success); } .sc-pct.active { color: var(--accent); } .sc-pct.pending { color: var(--muted); }
.sc-detail { font-size: 12px; color: var(--muted); line-height: 1.35; font-variant-numeric: tabular-nums; }
.sc-board .sc-party { width: fit-content; max-width: 100%; font-size: 11px; }
.sc-board .sc-activity { max-width: 100%; font-size: 11px; }
.sc-note { max-width: 100%; font-size: 11px; color: var(--muted); line-height: 1.35; font-variant-numeric: tabular-nums; }
.sc-note.is-warn { color: var(--warning); font-weight: 600; }
.sc-board-bar .sc-seg-split { display: flex; gap: 2px; min-width: 0; height: 100%; }
.sc-seg-split > .sc-seg { flex-basis: 0; flex-shrink: 1; min-width: 14%; }
.sc-part { display: flex; align-items: center; gap: 6px; max-width: 100%; font-size: 11px; color: var(--muted); line-height: 1.35; font-variant-numeric: tabular-nums; }
.sc-part > i { flex: none; width: 6px; height: 6px; border-radius: 50%; background: var(--accent); }
.sc-part.done > i { background: var(--success); }
.sc-part.pending > i { background: color-mix(in srgb, var(--muted) 40%, transparent); }
.sc-part > b { font-weight: 600; color: var(--text); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sc-part-count { color: var(--muted); white-space: nowrap; }
.sc-pct-split { display: inline-flex; align-items: baseline; gap: 5px; }
.sc-pct-split > i { font-style: normal; font-size: 12px; color: var(--muted); }

/* ─── Fiyat sekmesi (İstanbul'a özel — tedarik zinciri kartı) ───
   Sitenin kumaş tablosu diliyle aynı: fabric-summary kartları + fabric-card/fabric-colors. */

.price-period.is-son { background:var(--success-soft); color:var(--success); }
.price-period.is-gunu { background:rgba(127,127,127,.13); color:var(--muted); }

/* Fiyat sekmesi: okunabilirlik — tablo puntoları bir kademe büyük */

.sc-pane[data-tab="pricing"] .fabric-source-note { font-size:11.5px; }

/* Tahmini fiyat kartı + arama fiyat rozeti */

.tk-search-price-badge { display:inline-flex; align-items:center; justify-content:center; margin-left:5px; width:15px; height:15px; border-radius:50%; background:var(--success-soft); color:var(--success); font-size:9.5px; font-weight:850; vertical-align:middle; }

/* Proses fiyat satırı */

/* Raporla ile açık siparişlerden kaldırılan siparişin Geçmiş satırındaki izi (2026-10-21). */
.row-closure-badge { display:inline-flex; align-items:center; color:var(--muted); background:color-mix(in srgb,var(--muted) 12%,transparent); font-size:9.5px; font-weight:700; letter-spacing:.02em; padding:2px 7px; border-radius:999px; white-space:nowrap; }

/* ── assets/styles/aurora-layer.css ── */
/* ================================================================
   ORMETAKIP / AURORA CONTROL ROOM
   Visual system refresh. Existing data and application logic remain intact.
   ================================================================ */
:root {
  --bg: #07111f;
  --surface: rgba(14, 28, 48, .72);
  --surface-solid: #101f34;
  --surface-raised: rgba(19, 37, 61, .88);
  --border: rgba(173, 213, 255, .13);
  --border-bright: rgba(173, 224, 255, .25);
  --text: #f4f8ff;
  --muted: #91a4bd;
  --accent: #5eead4;
  --accent-2: #8b7cff;
  --accent-soft: rgba(94, 234, 212, .11);
  --bursa: #5eead4;
  --bursa-soft: rgba(94, 234, 212, .11);
  --istanbul: #b9adff;
  --istanbul-soft: rgba(139, 124, 255, .13);
  --danger: #fb7185;
  --danger-soft: rgba(251, 113, 133, .12);
  --warning: #fbbf24;
  --warning-soft: rgba(251, 191, 36, .11);
  --success: #4ade80;
  --success-soft: rgba(74, 222, 128, .11);
  --radius: 18px;
  --radius-sm: 11px;
  --shadow: 0 18px 50px rgba(0, 0, 0, .22);
  --glow: 0 0 0 1px rgba(255,255,255,.03), 0 18px 60px rgba(0,0,0,.24);
}

html { scroll-behavior: smooth; }
body {
  font-family: var(--font);
  background:
    radial-gradient(circle at 10% -10%, rgba(34, 211, 238, .16), transparent 32rem),
    radial-gradient(circle at 88% 8%, rgba(139, 124, 255, .18), transparent 29rem),
    linear-gradient(145deg, #07111f 0%, #091625 48%, #07101d 100%);
  background-attachment: fixed;
  color: var(--text);
  letter-spacing: -.01em;
}
body::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  opacity: .18;
  background-image: linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px);
  background-size: 52px 52px;
  mask-image: linear-gradient(to bottom, black, transparent 82%);
}
::selection { color: #06131b; background: #7ff8e7; }
* { scrollbar-width: thin; scrollbar-color: rgba(145,164,189,.34) transparent; }
*::-webkit-scrollbar { width: 8px; height: 8px; }
*::-webkit-scrollbar-thumb { border-radius: 20px; background: rgba(145,164,189,.3); }

/* Top navigation */
.topbar {
  height: 74px;
  padding: 0 30px;
  gap: 10px;
  background: rgba(7, 17, 31, .68);
  border-bottom: 1px solid rgba(173, 213, 255, .1);
  backdrop-filter: blur(24px) saturate(150%);
  -webkit-backdrop-filter: blur(24px) saturate(150%);
}

.brand-mark svg { width: 21px; height: 21px; }

.notif-btn {
  width: 38px;
  height: 38px;
  justify-content: center;
  padding: 0;
  color: #b8c7da;
  background: rgba(255,255,255,.045);
  border-color: var(--border);
  border-radius: 12px;
}
.notif-btn svg { width: 17px; height: 17px; stroke-width: 1.8; }
.notif-btn:hover { color: var(--text); border-color: var(--border-bright); background: rgba(255,255,255,.09); transform: translateY(-1px); }
.notif-badge { top: -5px; right: -5px; border-color: #0b1727; box-shadow: 0 5px 15px rgba(251,113,133,.3); }

.nav {
  position: sticky;
  top: 74px;
  z-index: 90;
  justify-content: center;
  gap: 4px;
  padding: 10px 24px;
  background: rgba(7, 17, 31, .54);
  border-bottom: 1px solid rgba(173, 213, 255, .08);
  backdrop-filter: blur(22px) saturate(150%);
  -webkit-backdrop-filter: blur(22px) saturate(150%);
}
.nav-btn {
  position: relative;
  gap: 8px;
  margin: 0;
  padding: 9px 13px;
  border: 1px solid transparent;
  border-radius: 11px;
  color: #8297b1;
  font-size: 12.5px;
  font-weight: 600;
  letter-spacing: -.01em;
  transition: color .2s ease, background .2s ease, border-color .2s ease, transform .2s ease;
}
.nav-btn svg { width: 16px; height: 16px; stroke-width: 1.8; transition: transform .25s ease; }
.nav-btn:hover { color: #e8f1fc; background: rgba(255,255,255,.045); transform: translateY(-1px); }
.nav-btn:hover svg { transform: scale(1.08); }
.nav-btn.active {
  color: #eafffb;
  border-color: rgba(94, 234, 212, .17);
  background: linear-gradient(135deg, rgba(94,234,212,.14), rgba(139,124,255,.08));
  box-shadow: inset 0 1px rgba(255,255,255,.05), 0 8px 25px rgba(0,0,0,.12);
}
.nav-btn.active::after { content:""; position:absolute; left:22%; right:22%; bottom:-11px; height:2px; border-radius:4px; background:var(--accent); box-shadow:0 0 12px var(--accent); }
.nav-count { background: linear-gradient(135deg, var(--danger), #f43f5e); box-shadow: 0 4px 12px rgba(251,113,133,.25); }

/* Menü tek küme halinde ortalanır; "Ana Sayfa" bu kümenin İLK butonudur.
   Kişiye özel butonlar (Admin, Tedarik vb.) görünse de küme ortalı kalır. */
.nav-side { display: flex; align-items: center; gap: 4px; flex: 0 1 auto; min-width: 0; }
#nav-dashboard { flex: 0 0 auto; margin-right: 10px; }

/* Sabit (pinned) göstergesi: butonun altında ince çizgi */
.nav-pinned::before {
  content: "";
  position: absolute;
  left: 26%; right: 26%;
  bottom: -7px;
  height: 2px;
  border-radius: 4px;
  background: rgba(173, 213, 255, .5);
}
.nav-pinned.active::before { background: var(--accent); box-shadow: 0 0 12px var(--accent); }
/* pinned butonun ikinci (active) çizgisini gizle, tek çizgi kalsın */
.nav-pinned.active::after { display: none; }
.nav-pinned { cursor: default; }

/* Hover ile dikeyde (y ekseninde) daralan menü: imleç uzakken yalnız ikonlar — çubuk
   incelir, alttaki sayfa büyür. İmleç yaklaşınca yazılar ikonun altından açılır.
   Tüm butonlar eşit genişlikte → ikonlar simetrik aralıklı durur ve yazı uzunluğu
   ne olursa olsun ikonlar yatayda hiç kaymaz (hover'da yazılar ortalanır). */
@media (hover: hover) and (min-width: 781px) {
  .nav-btn {
    flex-direction: column;
    gap: 0;
    padding: 7px 6px;
    width: 116px;
    box-sizing: border-box;
    text-align: center;
  }
  .nav-btn > span:not(.nav-count) {
    max-height: 0;
    margin-top: 0;
    opacity: 0;
    overflow: hidden;
    white-space: nowrap;
    transform: translateY(-5px);
    transition: max-height .4s cubic-bezier(.2,.8,.2,1),
                margin-top .4s cubic-bezier(.2,.8,.2,1),
                opacity .3s ease,
                transform .4s cubic-bezier(.2,.8,.2,1);
  }
  .nav:hover .nav-btn > span:not(.nav-count) {
    max-height: 18px;
    margin-top: 5px;
    opacity: 1;
    transform: translateY(0);
  }
  /* İmleç uzakken (menü kısık) sayaç rozeti küçük kırmızı noktaya iner, sayı gizlenir.
     İmleç yaklaşınca büyür ve içindeki sayı belirir. */
  .nav-btn > .nav-count {
    position: absolute;
    top: 5px;
    /* Buton 116px geniş ama ikon ortada; rozeti butonun sağ kenarına değil
       ikonun sağ üstüne yasla ki uzakta kalmasın. */
    left: calc(50% + 4px);
    right: auto;
    margin: 0;
    width: 9px;
    min-width: 9px;
    height: 9px;
    font-size: 0;
    padding: 0;
    overflow: hidden;
    transition: width .3s cubic-bezier(.2,.8,.2,1),
                min-width .3s cubic-bezier(.2,.8,.2,1),
                height .3s cubic-bezier(.2,.8,.2,1),
                font-size .2s ease .05s,
                top .3s cubic-bezier(.2,.8,.2,1),
                left .3s cubic-bezier(.2,.8,.2,1);
  }
  .nav:hover .nav-btn > .nav-count {
    top: 1px;
    left: calc(50% + 2px);
    right: auto;
    width: 19px;
    min-width: 19px;
    height: 19px;
    font-size: 9px;
  }
}

/* Content and dashboard */
.page { max-width: 1320px; padding: 32px 28px 64px; }
.page.active { animation: pageReveal .42s cubic-bezier(.2,.8,.2,1); }
@keyframes pageReveal { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
.dashboard-hero {
  position: relative;
  min-height: 210px;
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: end;
  gap: 28px;
  margin-bottom: 18px;
  padding: 30px 32px;
  overflow: hidden;
  border: 1px solid rgba(170, 221, 255, .16);
  border-radius: 24px;
  background: linear-gradient(125deg, rgba(22,45,70,.92), rgba(12,27,48,.76) 54%, rgba(43,35,88,.65));
  box-shadow: var(--glow);
  isolation: isolate;
}
.dashboard-hero::before { content:""; position:absolute; width:340px; height:340px; right:-70px; top:-190px; z-index:-1; border-radius:50%; background:radial-gradient(circle, rgba(94,234,212,.28), transparent 68%); }
.dashboard-hero::after { content:""; position:absolute; width:270px; height:270px; right:210px; bottom:-220px; z-index:-1; border-radius:50%; background:radial-gradient(circle, rgba(139,124,255,.3), transparent 68%); }

@keyframes livePulse { 50% { opacity:.55; transform:scale(.82); } }
.dashboard-hero h1 { max-width: 640px; margin: 0; color: #f7fbff; font-size: clamp(28px, 4vw, 46px); font-weight: 620; line-height: 1.04; letter-spacing: -.055em; }

.hero-copy { max-width: 590px; margin-top: 14px; color: #9db0c6; font-size: 13px; line-height: 1.65; }
/* "Son güncelleme" durumunda: nokta yok, ince yazı. */
.hero-copy.is-sync { display: inline-flex; align-items: center; font-weight: 300; }
.hero-actions { display:flex; flex-direction:column; align-items:flex-end; gap:12px; }

/* Glass surfaces */
.card, .table-wrap, .sc-card {
  border-color: var(--border);
  background: linear-gradient(145deg, rgba(17,34,56,.79), rgba(11,25,43,.71));
  box-shadow: var(--glow);
  backdrop-filter: blur(18px) saturate(125%);
  -webkit-backdrop-filter: blur(18px) saturate(125%);
}
.card { padding: 22px; border-radius: 19px; }
.card-title { color: #eef6ff; font-size: 14px; font-weight: 650; }
.card-head-row { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:16px; }
.card-head-row .card-title { margin:0; }
.text-action { border:0; background:transparent; color:var(--accent); font:600 11px inherit; cursor:pointer; }
.text-action:hover { color:#a9fff2; }
/* Küçük metin-butonların TIKLAMA alanını görünmez şekilde büyüt (min ~28px):
   görünüm ve yerleşim birebir aynı kalır, yalnızca parmak/imleç isabeti kolaylaşır. */
.text-action, button.ticket-sipno { position:relative; }
.text-action::after, button.ticket-sipno::after {
  content:""; position:absolute; left:-6px; right:-6px; top:50%;
  height:max(100%, 28px); transform:translateY(-50%);
}
.page-header { margin-bottom: 18px; }

/* Controls */
label { color:#8fa3bc; font-size:10px; font-weight:700; letter-spacing:.1em; }
input[type=text], input[type=email], select, textarea {
  color: var(--text);
  border-color: var(--border);
  background: rgba(5, 15, 27, .48);
  caret-color: var(--accent);
}
input::placeholder, textarea::placeholder { color:#60748c; }
input[type=text]:hover, input[type=email]:hover, select:hover, textarea:hover { border-color:rgba(173,213,255,.22); }
input[type=text]:focus, input[type=email]:focus, select:focus, textarea:focus { border-color:rgba(94,234,212,.62); background:rgba(7,19,33,.8); box-shadow:0 0 0 4px rgba(94,234,212,.08),0 12px 30px rgba(0,0,0,.13); }
select option { color:var(--text); background:#102139; }
.btn { min-height: 38px; padding: 9px 16px; border-radius: 11px; font-weight:650; transition:transform .2s ease, box-shadow .2s ease, background .2s ease, border-color .2s ease; }
.btn-primary { color:#06151a; background:linear-gradient(135deg,#8bf5e5,#5eead4 55%,#6dd8e8); box-shadow:0 9px 24px rgba(94,234,212,.18),inset 0 1px rgba(255,255,255,.55); }
.btn-primary:hover { background:linear-gradient(135deg,#a0faed,#69efdc 55%,#7be1ef); transform:translateY(-2px); box-shadow:0 13px 30px rgba(94,234,212,.25); }
.btn-primary:active { transform:translateY(0) scale(.98); }
.btn-primary:disabled { color:#31565a; background:#73aaa5; box-shadow:none; }
.btn-outline { color:#d6e3f2; border-color:var(--border-bright); background:rgba(255,255,255,.035); }
.btn-outline:hover { color:#fff; border-color:rgba(173,224,255,.38); background:rgba(255,255,255,.075); transform:translateY(-1px); }

.cat-pill { color:#9dafc3; border-color:var(--border); background:rgba(255,255,255,.03); }
.cat-pill:hover { color:#dffdf8; border-color:rgba(94,234,212,.38); background:var(--accent-soft); transform:translateY(-1px); }
.cat-pill.selected { color:#dffdf8; border-color:rgba(94,234,212,.55); background:linear-gradient(135deg,rgba(94,234,212,.16),rgba(139,124,255,.1)); box-shadow:0 0 0 3px rgba(94,234,212,.05); }

/* Tickets and tables */

.ticket { position:relative; padding:15px 16px; border-color:var(--border); background:rgba(8,21,37,.5); box-shadow:none; transition:transform .22s ease,border-color .22s ease,background .22s ease,box-shadow .22s ease; }
.ticket::before { content:""; position:absolute; left:-1px; top:18%; bottom:18%; width:2px; border-radius:5px; background:transparent; }
.ticket.is-open { border-left:1px solid var(--border); }
.ticket.is-open::before { background:var(--accent); box-shadow:0 0 10px rgba(94,234,212,.65); }
.ticket:hover { transform:translateY(-2px); border-color:var(--border-bright); background:rgba(16,34,56,.78); box-shadow:0 14px 30px rgba(0,0,0,.15); }
.ticket-sipno { color:#f3f8ff; }
.ticket-msg { color:#bac9da; }
.ticket-time, .ticket-no-badge { color:#71879f; }
.ticket-cat,
.ticket-status,
.pill { border:1px solid rgba(255,255,255,.055); }

.status-open { background:var(--warning-soft); color:#facc55; }
.status-progress { background:rgba(96,165,250,.11); color:#82b8ff; }
.status-closed { background:var(--success-soft); color:#64e993; }

.section-count { color:var(--accent); border-color:rgba(94,234,212,.14); background:rgba(94,234,212,.07); }
.table-wrap { border-radius:17px; }
table { color:#b9c9db; background:transparent; }
thead th { top:0; color:#71869e; border-color:var(--border); background:rgba(8,22,38,.94); backdrop-filter:blur(14px); }
tbody td { border-color:rgba(173,213,255,.075); }
tbody tr { transition:background .18s ease; }
tbody tr:hover { background:rgba(94,234,212,.035); }
.sip-link { color:#83f4e3; text-decoration:none !important; }
.sip-link:hover { color:#bcfff4; }
.pill-blue { color:#90bfff; background:rgba(96,165,250,.1); }
.pill-green { color:#72eca0; background:rgba(74,222,128,.1); }

/* Uploads, notifications, modals */

.progress-bar { height:6px; background:rgba(255,255,255,.07); }
.progress-fill { background:linear-gradient(90deg,var(--accent),#82a9ff); box-shadow:0 0 12px rgba(94,234,212,.45); }
.notif-panel { top:67px; right:20px; width:350px; color:var(--text); border-color:var(--border-bright); background:rgba(11,25,43,.92); box-shadow:0 24px 70px rgba(0,0,0,.4); backdrop-filter:blur(24px); }
.notif-panel.open { display:block; animation:panelIn .24s ease; }
@keyframes panelIn { from { opacity:0; transform:translateY(-8px) scale(.98); } }
.notif-panel-header,.notif-item { border-color:var(--border); }
.notif-item:hover { background:rgba(255,255,255,.04); }
.toast { color:#eaf4ff; border:1px solid var(--border-bright); border-radius:13px; background:rgba(12,27,46,.94); box-shadow:0 18px 45px rgba(0,0,0,.35); backdrop-filter:blur(18px); }
.toast.success { color:#dfffea; border-color:rgba(74,222,128,.25); background:rgba(18,69,48,.93); }
.toast.error { background:rgba(98,27,44,.94); }
.modal-overlay { padding:20px; background:rgba(2,8,16,.72); backdrop-filter:blur(13px) saturate(125%); animation:overlayIn .2s ease; overscroll-behavior:contain; }
html.modal-scroll-locked,
body.modal-scroll-locked { overscroll-behavior:none; }
@keyframes overlayIn { from { opacity:0; } }
.modal,.order-modal,.ticket-detail-modal { color:var(--text); border:1px solid var(--border-bright); background:linear-gradient(145deg,rgba(20,40,64,.96),rgba(8,21,38,.97)); box-shadow:0 30px 90px rgba(0,0,0,.5); }
.modal { width:390px; border-radius:21px; }
.order-modal { border-radius:22px; }
.ticket-detail-modal { border-radius:22px; }
.office-choose-btn { color:var(--text); border-color:var(--border); background:rgba(255,255,255,.035); }
.office-choose-btn:hover { border-color:rgba(94,234,212,.42); background:rgba(94,234,212,.06); transform:translateY(-2px); box-shadow:0 12px 25px rgba(0,0,0,.15); }
.office-choose-btn.bursa .name { color:#70efdc; }
.office-choose-btn.istanbul .name { color:#bdb4ff; }

.reply-mine { color:#06161a; background:linear-gradient(135deg,#81f4e3,#5eead4); }
.sc-card { background:linear-gradient(135deg,rgba(14,34,55,.86),rgba(14,27,50,.84)); }

/* Login */
.login-overlay { overflow:hidden; background:radial-gradient(circle at 20% 10%,rgba(94,234,212,.2),transparent 30rem),radial-gradient(circle at 90% 85%,rgba(139,124,255,.22),transparent 32rem),linear-gradient(145deg,#06101d,#0a192b 55%,#0a1224); }
.login-overlay::before { content:""; position:absolute; width:520px; height:520px; left:-280px; bottom:-250px; border:1px solid rgba(94,234,212,.18); border-radius:50%; box-shadow:0 0 100px rgba(94,234,212,.08),inset 0 0 100px rgba(94,234,212,.05); }
.login-overlay::after { content:""; position:absolute; inset:0; pointer-events:none; background-image:linear-gradient(rgba(255,255,255,.022) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.022) 1px,transparent 1px); background-size:48px 48px; mask-image:radial-gradient(circle at center,black,transparent 75%); }
.login-card { position:relative; z-index:1; max-width:410px; padding:42px 38px; color:var(--text); border:1px solid rgba(173,224,255,.2); border-radius:24px; background:linear-gradient(145deg,rgba(21,42,68,.78),rgba(8,22,39,.72)); box-shadow:0 35px 100px rgba(0,0,0,.42),inset 0 1px rgba(255,255,255,.06); backdrop-filter:blur(26px) saturate(135%); }
.login-card::before { content:""; display:block; width:48px; height:48px; margin:0 auto 18px; border-radius:15px; background:linear-gradient(135deg,#8ff6e7,#5eead4 52%,#8b7cff); box-shadow:0 12px 35px rgba(94,234,212,.24); }
.login-card::after { content:"OT"; position:absolute; left:50%; top:57px; transform:translate(-50%,-50%); color:#07151b; font-size:14px; font-weight:850; letter-spacing:-.07em; }
/* Logo rozeti kaldırıldı */
.login-card::before, .login-card::after { display:none !important; }
.login-logo { color:#f7fbff; font-size:28px; letter-spacing:-.055em; }
.login-logo span { color:var(--accent); }
.login-sub { color:#879cb4; }
.login-field label { color:#aabbd0; }
.login-input { color:var(--text); border-color:var(--border); background:rgba(3,13,24,.43); }
.login-input:focus { border-color:rgba(94,234,212,.55); background:rgba(4,16,29,.68); box-shadow:0 0 0 4px rgba(94,234,212,.08); }
.login-foot { color:#71869f; }

@media (max-width: 1050px) {
  
  .nav { justify-content:flex-start; }
  /* dar ekranda yan gruplar şeffaf olsun, butonlar normal akışta dizilsin */
  .nav-side { display:contents; }
  /* dar ekranda ilk butonun ekstra sağ boşluğu gereksiz */
  #nav-dashboard { margin-right:0; }
}
@media (max-width: 760px) {
  body { padding-bottom:88px; }
  .topbar { height:64px; padding:0 14px; }

  .nav { position:fixed; top:auto; bottom:0; left:0; right:0; z-index:250; justify-content:flex-start; gap:6px; overflow-x:auto; overflow-y:hidden; scroll-snap-type:x proximity; -webkit-overflow-scrolling:touch; padding:8px max(12px,env(safe-area-inset-right)) calc(8px + env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left)); border-top:1px solid rgba(173,213,255,.13); border-bottom:0; background:rgba(7,17,31,.9); }
  .nav::-webkit-scrollbar { display:none; }
  .nav-btn { min-width:86px; flex:0 0 86px; flex-direction:column; gap:4px; padding:6px 5px; font-size:9px; border-radius:9px; scroll-snap-align:start; }
  .nav-btn svg { width:18px; height:18px; }
  .nav-btn.active::after { left:28%; right:28%; top:-9px; bottom:auto; }
  .nav-pinned::before { top:-7px; bottom:auto; }
  .page { padding:20px 14px 35px; }
  .dashboard-hero { grid-template-columns:1fr; min-height:230px; padding:24px 22px; }
  .dashboard-hero h1 { font-size:31px; }
  .hero-actions { align-items:flex-start; }

  .card { padding:17px; }
  .ticket { grid-template-columns:1fr; }

  .notif-panel { top:60px; left:12px; right:12px; width:auto; }
  .form-row { grid-template-columns:1fr; }
  .order-modal { width:100%; height:min(91dvh,720px); max-height:91vh; border-radius:18px; }
  .fabric-summary { grid-template-columns:repeat(3,minmax(0,1fr)); }
  /* Ticket modalı dar ekranda da içeriğe göre adaptif; sabit yükseklik yok. */
  .ticket-detail-modal { width:100%; height:auto; max-height:min(91dvh,720px); border-radius:18px; }
  
  .order-modal-actions { width:100%; justify-content:flex-start; }

  .reply-bubble { max-width:88%; }

  .tk-composer { padding:9px 14px; }
}
@media (max-width: 420px) {

  .notif-btn { width:34px; height:34px; }
  
  .hero-copy { font-size:12px; }
  
}
@media (prefers-reduced-motion: reduce) {
  *,*::before,*::after { scroll-behavior:auto !important; animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; }
}

/* ── assets/styles/app-theme.css ── */
/* ================================================================
   ORMETAKIP / APPLE-INSPIRED MINIMAL UI
   Quiet surfaces, precise typography and restrained motion.
   ================================================================ */
:root {
  --bg: #f5f5f7;
  /* Gençler AI kimliği (2026-11-04, TASARIM-DILI.md §2.1): yalnız AI yüzeyleri. */
  --ai: #8b5cf6;
  --ai-2: #3b82f6;
  --surface: rgba(255,255,255,.82);
  --surface-solid: #ffffff;
  --surface-raised: rgba(255,255,255,.94);
  --border: rgba(0,0,0,.08);
  --border-bright: rgba(0,0,0,.13);
  --text: #1d1d1f;
  --muted: #6e6e73;
  --accent: #0071e3;
  --accent-2: #5e5ce6;
  --accent-soft: #eaf3ff;
  /* Vurgu DOLGUSU üzerindeki yazı/ikon (mavi düğme). */
  --on-accent: #ffffff;
  --bursa: #198754;
  --bursa-soft: #edf8f2;
  --istanbul: #5e5ce6;
  --istanbul-soft: #f1f0ff;
  --danger: #d70015;
  --danger-soft: #fff0f1;
  --warning: #9a6700;
  --warning-soft: #fff8e6;
  /* Sari dolgu beyaz murekkep tasiyamaz (bkz. TASARIM-DILI 2.1): --warning
     okunur MUREKKEP, --warning-fill DOLGU, --warning-ink o dolgunun uzerine. */
  --warning-fill: #f3b61f;
  --warning-ink: #402c00;
  --success: #248a3d;
  --success-soft: #edf8f0;
  --radius: 18px;
  --radius-sm: 11px;
  --shadow: 0 1px 2px rgba(0,0,0,.03), 0 8px 24px rgba(0,0,0,.045);
  --glow: 0 1px 2px rgba(0,0,0,.025), 0 10px 30px rgba(0,0,0,.04);
  /* Rakamlar da Inter'dir; hizalamayı ayrı bir font değil, Inter'in tablo
     rakamları (tabular-nums) sağlar. Ayrı bir font ailesi TUTULMAZ. */
  --font-numeric: var(--font);
}

body {
  color: var(--text);
  
  background-attachment: initial;
  font-family: var(--font);
  font-size: 14px;
  /* Inter'in optik boyut ekseni: küçük punto biraz daha açık, büyük punto daha
     sıkı çizilir. Tracking'i elle kovalamak yerine fontun kendi ölçeği çalışır. */
  font-optical-sizing: auto;
  letter-spacing: -.012em;
  /* Üretim panosu baştan sona sayı okur: sipariş no, kilo, tarih, gün sayısı.
     Tablo rakamları hepsini aynı genişlikte tutar, sütunlar titremez. */
  font-variant-numeric: tabular-nums;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}
body::before { display:none; }

/* ─── YAZI ÖLÇEĞİ · Inter'in varyasyonları ────────────────────────────────
   Tek bir aile, farklı eksenlerle konuşur. Kurallar azdır ve her biri bir işe
   bakar; sayfa sayfa tracking ayarlamak yerine ölçek burada tanımlıdır.

   1) Optik boyut (opsz) otomatiktir: 11px bir rozet ile 32px bir başlık aynı
      fontun farklı çizimidir. Küçükte harfler açılır ve kalınlaşır, büyükte
      sıkılaşır — okunurluk her boyutta korunur.
   2) Kalınlık (wght) sürekli bir eksendir: 450, 620, 780 gibi ara değerler
      gerçek çizimlerdir, sahte kalınlaştırma (synthetic bold) yoktur.
   3) Harf aralığı boyutla ters orantılıdır. Inter büyük puntoda genişçe durur;
      başlıklar sıkılaşmazsa dağınık görünür. Küçük punto ise açılmalıdır. */
:where(h1, h2, h3, .card-title, .tk-form-title, .page-title) {
  font-family: var(--font);
  font-optical-sizing: auto;
}
/* Büyük başlıklar sıkılaşır; 24px üstü Inter'de bu şart. */
:where(h1), .dashboard-hero h1, .login-logo { letter-spacing: -.028em; }
:where(h2),
.tk-form-title { letter-spacing: -.021em; }
:where(h3), .card-title { letter-spacing: -.015em; }
/* Sipariş ve ticket numaraları eskiden monospace idi (hizalansın diye). Artık
   Inter'in tablo rakamları o işi yapıyor; ayrı bir font ailesine gerek yok.
   Burada yalnız hizayı garanti altına alırız — gövdeden miras alsa da bu
   yüzeyler oransal rakama düşerse sütunlar titrer. */
:where(.sip-no-cell, .ticket-no-badge, .tk-eyebrow .tk-no, .termin-up-sip, .tk-search-sip, .termin-badge) {
  font-variant-numeric: tabular-nums;
}
/* NOT: Inter'in "cv/ss" biçim varyantları Google yapısında yoktur; bu dosyada
   font-feature-settings ile çağrılmamalıdır — sessizce hiçbir şey yapmaz.
   Kullanılabilir özellikler: kern, calt, locl, tnum/pnum, frac, numr/dnom.
   `locl` Türkçe harf biçimleri için <html lang="tr"> ile birlikte çalışır. */

/* Operasyonel veri tipografisi — rakamları metinden ayırır, sütunları hizalar. */
.nav-count,
.section-count,
.num-cell,
.sip-no-cell,
.ticket-no-badge,
.tk-msg-count,
.om-sip,
.order-fact strong,
.om-data-pct,
.om-data-v,
.fabric-stat .v,
.production-metric .v,
.whatsapp-phone-main,
.whatsapp-phone-sub,
.tedarik-row-kg,
.tedarik-yarn-kg,
.ticket-tab-count,
.ticket-reply-count,
.termin-hover-card .thc-sip,
.termin-day-count,
.termin-cal-stat b,
.analysis-kpi .v,
.analysis-rank-val,
.tl-value,
.no-head .no-kg,
.no-color-kg,
.no-price,
.quick-line-title,
.order-flow-count,
.msg-time,
.msg-day,
.msg-user-unread,
.msg-dock-time,
.msg-dock-date {
  font-family:var(--font-numeric);
  font-variant-numeric:tabular-nums lining-nums;
  font-feature-settings:"tnum" 1,"lnum" 1;
  letter-spacing:-.01em;
}
.sip-no-cell,
.ticket-no-badge,
.om-sip { letter-spacing:.015em; }

::selection { color:#fff; background:#0071e3; }
* { scrollbar-color:rgba(0,0,0,.18) transparent; }
*::-webkit-scrollbar-thumb { background:rgba(0,0,0,.16); }

/* Calm translucent chrome */
.topbar {
  height:68px;
  padding:0 32px;
  background:rgba(250,250,252,.82);
  border-color:rgba(0,0,0,.07);
  box-shadow:none;
  backdrop-filter:saturate(180%) blur(22px);
  -webkit-backdrop-filter:saturate(180%) blur(22px);
}

.brand-mark svg { width:24px; height:24px; overflow:visible; }
@keyframes homeLightPulse{0%{opacity:.5}55%{opacity:1}100%{opacity:.72}}@keyframes homeWelcome{0%,100%{transform:translateY(0)}45%{transform:translateY(-1.5px) rotate(-1deg)}}

.profile-panel {
  position:fixed;
  top:72px;
  right:128px;
  z-index:240;
  width:344px;
  overflow:hidden;
  color:#1d1d1f;
  border:1px solid rgba(0,0,0,.1);
  border-radius:20px;
  background:rgba(255,255,255,.96);
  box-shadow:0 24px 70px rgba(0,0,0,.18);
  backdrop-filter:saturate(180%) blur(22px);
  -webkit-backdrop-filter:saturate(180%) blur(22px);
  animation:panelIn .22s ease;
}

/* Profil paneli — hesap kartı ve hızlı ayarlarla aynı dil: ince ayraçlar,
   tek tip 13/11 punto, kutu içinde kutu yok. */
.profile-panel-body { display:grid; gap:0; padding:0 12px 12px; }
.profile-panel label { margin:0; text-transform:none; letter-spacing:normal; color:inherit; font:inherit; }
.pp-identity { display:flex; align-items:center; gap:12px; padding:2px 4px 12px; }
.profile-avatar {
  width:42px; height:42px; flex:0 0 auto; display:grid; place-items:center;
  border-radius:50%; background:var(--accent); color:#fff;
  font-size:17px; font-weight:700; letter-spacing:-.02em;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.18);
}
.pp-row {
  display:flex; align-items:center; justify-content:space-between; gap:12px;
  min-height:44px; padding:8px 4px;
  border-top:1px solid color-mix(in srgb, var(--text) 8%, transparent);
  color:var(--muted); font-size:11px; font-weight:500;
}
.pp-row strong { color:var(--text); font-size:13px; font-weight:620; text-align:right; }
.pp-group { padding:12px 4px 4px; border-top:1px solid color-mix(in srgb, var(--text) 8%, transparent); }
.pp-group h4 { margin:0 0 8px; color:var(--muted); font-size:10px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
.pp-group h4 label { color:inherit; font:inherit; letter-spacing:inherit; text-transform:inherit; }
.profile-panel input[type=text] {
  width:100%; min-height:44px; padding:10px 13px;
  border:1px solid var(--border); border-radius:11px;
  background:var(--surface-solid, var(--surface)); color:var(--text);
  font:inherit; font-size:15px; font-weight:600;
}
.profile-panel input[type=text]:focus { outline:2px solid var(--accent); outline-offset:1px; border-color:transparent; }
.pp-colors { display:flex; align-items:center; justify-content:space-between; gap:12px; padding-bottom:4px; }
.profile-swatches { display:flex; gap:9px; }
.profile-swatches button { width:26px; height:26px; padding:0; border:0; border-radius:50%; background:var(--swatch); box-shadow:0 0 0 1px color-mix(in srgb, var(--text) 12%, transparent); cursor:pointer; transition:transform .15s ease, box-shadow .15s ease; }
.profile-swatches button:hover { transform:scale(1.08); }
.profile-swatches button.selected { box-shadow:0 0 0 2px var(--surface-solid, var(--surface)), 0 0 0 4px var(--swatch); }
.profile-swatches button:focus-visible { outline:2px solid var(--accent); outline-offset:3px; }
#profileColorInput {
  width:30px; height:30px; flex:0 0 30px; padding:0; overflow:hidden;
  border:1px solid color-mix(in srgb, var(--text) 14%, transparent); border-radius:50%;
  outline:0; appearance:none; -webkit-appearance:none; background:transparent; cursor:pointer;
}
#profileColorInput::-webkit-color-swatch-wrapper { padding:3px; }
#profileColorInput::-webkit-color-swatch { border:0; border-radius:50%; }
#profileColorInput::-moz-color-swatch { border:0; border-radius:50%; }
#profileColorInput:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
.pp-actions { display:flex; justify-content:flex-end; gap:8px; padding:14px 0 2px; margin-top:12px; border-top:1px solid color-mix(in srgb, var(--text) 8%, transparent); }
.pp-btn {
  min-height:36px; padding:8px 16px; border:1px solid color-mix(in srgb, var(--text) 14%, transparent);
  border-radius:10px; background:transparent; color:var(--text);
  font:inherit; font-size:12.5px; font-weight:620; cursor:pointer;
  transition:border-color .14s ease, background .14s ease, color .14s ease, opacity .14s ease;
}
.pp-btn:hover { border-color:var(--accent); color:var(--accent); background:color-mix(in srgb, var(--accent) 8%, transparent); }
.pp-btn:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
.pp-btn.is-primary { border-color:var(--accent); background:var(--accent); color:#fff; }
.pp-btn.is-primary:hover { filter:brightness(1.06); color:#fff; }
.pp-btn.is-loading, .pp-btn[disabled] { opacity:.6; pointer-events:none; }

.notif-btn {
  width:36px;
  height:36px;
  color:#515154;
  border-color:rgba(0,0,0,.075);
  border-radius:10px;
  background:rgba(255,255,255,.68);
}
.notif-btn:hover { color:#1d1d1f; border-color:rgba(0,0,0,.13); background:#fff; transform:none; }
.notif-badge { border-color:#fff; }

.nav {
  top:68px;
  gap:3px;
  padding:8px 24px;
  background:rgba(250,250,252,.84);
  border-color:rgba(0,0,0,.065);
  backdrop-filter:saturate(180%) blur(22px);
  -webkit-backdrop-filter:saturate(180%) blur(22px);
}
.nav-btn {
  padding:8px 12px;
  color:#6e6e73;
  border:0;
  border-radius:9px;
  font-size:12px;
  font-weight:550;
}
.nav-btn svg { stroke-width:1.7; }
.nav-btn:hover { color:#1d1d1f; background:rgba(0,0,0,.035); transform:none; }
.nav-btn.active { color:#1d1d1f; border:0; background:#fff; box-shadow:0 1px 3px rgba(0,0,0,.08); }
.nav-btn.active::after { display:none; }
.nav-count { background:#ff3b30; box-shadow:none; }

/* Spacious content */
.page { max-width:1280px; padding:38px 28px 72px; }
.page.active { animation:appleReveal .32s cubic-bezier(.25,.8,.25,1); }
@keyframes appleReveal { from { opacity:0; transform:translateY(5px); } to { opacity:1; transform:none; } }
.dashboard-hero {
  min-height:180px;
  margin-bottom:16px;
  padding:32px 34px;
  color:#1d1d1f;
  border-color:rgba(0,0,0,.065);
  border-radius:22px;
  background:#fff;
  box-shadow:var(--shadow);
}
.dashboard-hero::before {
  display:block;
  width:280px;
  height:280px;
  top:-200px;
  right:-45px;
  opacity:.8;
  background:radial-gradient(circle,rgba(0,113,227,.09),transparent 70%);
}
.dashboard-hero::after { display:none; }

@keyframes statusPulse { 50% { opacity:.45; transform:scale(.82); } }
.dashboard-hero h1 { max-width:660px; color:#1d1d1f; font-size:clamp(30px,4vw,44px); font-weight:650; line-height:1.05; letter-spacing:-.052em; }

.announcement-dot {
  width:5px;
  height:5px;
  border-radius:50%;
  background:#d2d2d7;
  transition:width .25s ease,background .25s ease,border-radius .25s ease;
}
.announcement-dot.active { width:17px; border-radius:4px; background:#0071e3; }
.hero-copy { max-width:620px; margin-top:13px; color:#6e6e73; font-size:13px; line-height:1.55; }

/* White content surfaces */
.card,.table-wrap,.sc-card {
  border-color:rgba(0,0,0,.065);
  background:#fff;
  box-shadow:var(--shadow);
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
}
.card { padding:22px; border-radius:19px; }
.card-title { color:#1d1d1f; font-weight:650; }
.text-action { color:#0071e3; }
.text-action:hover { color:#0077ed; }

/* Native-feeling controls */
label { color:#6e6e73; font-weight:650; }
input[type=text],input[type=email],input[type=number],select,textarea {
  color:#1d1d1f;
  border-color:rgba(0,0,0,.1);
  background:#fff;
  caret-color:#0071e3;
}
input::placeholder,textarea::placeholder { color:#aeaeb2; }
input[type=text]:hover,input[type=email]:hover,input[type=number]:hover,select:hover,textarea:hover { border-color:rgba(0,0,0,.17); }
input[type=text]:focus,input[type=email]:focus,input[type=number]:focus,select:focus,textarea:focus {
  border-color:#0071e3;
  background:#fff;
  box-shadow:0 0 0 3px rgba(0,113,227,.12);
}
select option { color:#1d1d1f; background:#fff; }
.btn { min-height:36px; border-radius:10px; font-weight:600; }
.btn-primary { color:#fff; background:#0071e3; box-shadow:none; }
.btn-primary:hover { color:#fff; background:#0077ed; transform:translateY(-1px); box-shadow:0 5px 14px rgba(0,113,227,.18); }
.btn-primary:active { background:#006edb; transform:scale(.98); }
.btn-primary:disabled { color:#fff; background:#8dbce9; }
.btn-outline { color:#3a3a3c; border-color:rgba(0,0,0,.1); background:#fff; }
.btn-outline:hover { color:#1d1d1f; border-color:rgba(0,0,0,.16); background:#fafafa; transform:none; }

.cat-pill { color:#515154; border-color:rgba(0,0,0,.1); background:#fff; }
.cat-pill:hover { color:#0071e3; border-color:rgba(0,113,227,.28); background:#f5f9ff; transform:none; }
.cat-pill.selected { color:#006edb; border-color:rgba(0,113,227,.38); background:#eaf3ff; box-shadow:0 0 0 2px rgba(0,113,227,.06); }

/* Data */
.ticket { border-color:rgba(0,0,0,.07);  }
.ticket.is-open { border-left-color:rgba(0,0,0,.07); }

.ticket:hover {  border-color:rgba(0,0,0,.11); background:#fff;  }
.ticket-sipno,.ticket-msg { color:#1d1d1f; }

.ticket-time,.ticket-no-badge { color:#86868b; }
.ticket-cat,
.ticket-status,
.pill { border-color:rgba(0,0,0,.035); }

.status-open { color:#8a5c00; background:#fff8e6; }
.status-progress { color:#006edb; background:#eaf3ff; }
.status-closed { color:#207a36; background:#edf8f0; }

.section-count { color:#6e6e73; border-color:rgba(0,0,0,.07); background:#fff; }
.table-wrap { border-radius:17px; }
table { color:#3a3a3c; }
thead th { color:#6e6e73; border-color:rgba(0,0,0,.07); background:rgba(250,250,250,.94); }
tbody td { border-color:rgba(0,0,0,.055); }
tbody tr:hover { background:#f8f8fa; }
.sip-link { color:#0071e3; }
.sip-link:hover { color:#0077ed; }
.pill-blue { color:#006edb; background:#eaf3ff; }
.pill-green { color:#207a36; background:#edf8f0; }

/* Secondary surfaces */

.progress-bar { background:#e5e5ea; }
.progress-fill { background:#0071e3; box-shadow:none; }
.notif-panel {
  top:62px;
  color:#1d1d1f;
  border-color:rgba(0,0,0,.1);
  background:rgba(255,255,255,.92);
  box-shadow:0 20px 55px rgba(0,0,0,.15);
  backdrop-filter:saturate(180%) blur(24px);
}
.notif-panel-header,.notif-item { border-color:rgba(0,0,0,.065); }
.notif-item:hover { background:#f5f5f7; }
.toast { color:#fff; border:0; background:rgba(29,29,31,.93); box-shadow:0 12px 35px rgba(0,0,0,.16); }
.toast.success { color:#fff; border:0; background:rgba(36,138,61,.94); }
.toast.error { background:rgba(215,0,21,.94); }
.modal-overlay { background:rgba(0,0,0,.24); backdrop-filter:blur(10px); }
.app-confirm-overlay {
  position:fixed; inset:0; z-index:3000; display:grid; place-items:center; padding:20px;
  background:rgba(11,21,38,.28); opacity:0; transition:opacity .14s ease;
  backdrop-filter:blur(7px); -webkit-backdrop-filter:blur(7px);
}
.app-confirm-overlay.is-open { opacity:1; }
.app-confirm-overlay.is-closing { opacity:0; }
.app-confirm-dialog {
  --confirm-accent:#1479e9; width:min(408px,calc(100vw - 40px)); display:grid;
  grid-template-columns:44px minmax(0,1fr); gap:13px; padding:18px;
  color:var(--text,#172033); border:1px solid color-mix(in srgb,var(--confirm-accent) 25%,var(--border));
  border-radius:20px; background:color-mix(in srgb,var(--surface-solid,#fff) 96%,var(--confirm-accent));
  box-shadow:0 24px 70px -24px rgba(10,23,43,.55),0 1px 0 rgba(255,255,255,.75) inset;
  transform:translateY(8px) scale(.985); transition:transform .14s ease;
}
.app-confirm-overlay.is-open .app-confirm-dialog { transform:translateY(0) scale(1); }
.app-confirm-overlay.is-danger .app-confirm-dialog { --confirm-accent:#d94b4b; }
.app-confirm-overlay.is-warning .app-confirm-dialog { --confirm-accent:#bd7800; }
.app-confirm-overlay.is-success .app-confirm-dialog { --confirm-accent:#168756; }
.app-confirm-icon { width:44px; height:44px; display:grid; place-items:center; border-radius:14px; color:var(--confirm-accent); background:color-mix(in srgb,var(--confirm-accent) 14%,transparent); }
.app-confirm-icon svg { width:23px; height:23px; stroke-width:2; }
.app-confirm-copy { min-width:0; padding-top:2px; }
.app-confirm-copy h2 { margin:0; color:var(--text,#172033); font-size:17px; line-height:1.25; letter-spacing:-.015em; }
.app-confirm-copy p { margin:6px 0 0; color:var(--muted,#65718a); font-size:13px; line-height:1.5; white-space:pre-line; }
/* Geri alınamaz toplu işlemlerde yazılı doğrulama alanı. */
.app-confirm-verify { display:grid; gap:5px; margin-top:12px; }
.app-confirm-verify>span { color:var(--muted,#65718a); font-size:11.5px; font-weight:700; letter-spacing:.02em; }
.app-confirm-verify>input {
  width:100%; min-height:38px; padding:0 12px;
  border:1px solid color-mix(in srgb,var(--confirm-accent) 40%,var(--border));
  border-radius:10px; outline:0;
  color:var(--text,#172033); background:var(--surface-solid,#fff);
  font:700 13px inherit; letter-spacing:.04em;
}
.app-confirm-verify>input:focus { box-shadow:0 0 0 3px color-mix(in srgb,var(--confirm-accent) 16%,transparent); }
.app-confirm-accept:disabled { opacity:.45; box-shadow:none; cursor:not-allowed; transform:none; }
html[data-theme="dark"] .app-confirm-verify>input { background:rgba(255,255,255,.05); }
.app-confirm-actions { grid-column:1/-1; display:flex; justify-content:flex-end; gap:8px; padding-top:2px; }
/* Miktar ölçerli onay (elle hareket denetimi, 2026-10-29): satır başına
   başlık + fazla etiketi, ince çubuk (mevcut · girilen · aşan taralı) ve
   sınır çizgisi, altında rakamlar ve tek satır neden. */
.app-confirm-dialog.has-meters { width:min(460px,calc(100vw - 40px)); max-height:calc(100dvh - 40px); overflow-y:auto; overscroll-behavior:contain; }
.app-confirm-meters { display:grid; gap:10px; margin-top:14px; }
.app-confirm-meter { display:grid; gap:7px; padding:11px 12px 12px; border:1px solid var(--border); border-radius:12px; background:color-mix(in srgb,var(--surface-solid,#fff) 70%,transparent); }
.app-confirm-meter-head { display:flex; align-items:baseline; gap:8px; min-width:0; }
.app-confirm-meter-head > b { min-width:0; color:var(--text); font-size:13px; font-weight:650; line-height:1.3; }
.app-confirm-meter-head > em { padding:2px 6px; border-radius:6px; background:color-mix(in srgb,var(--text) 6%,transparent); color:var(--muted); font-size:11px; font-style:normal; font-weight:600; white-space:nowrap; }
.app-confirm-meter-over { margin-left:auto; color:var(--danger); font-size:12.5px; font-weight:700; white-space:nowrap; font-variant-numeric:tabular-nums; }
.app-confirm-meter-bar { position:relative; display:flex; height:8px; border-radius:999px; background:color-mix(in srgb,var(--text) 8%,transparent); }
.app-confirm-meter-bar > i { display:block; height:100%; flex:none; }
.app-confirm-meter-bar > i:first-child { border-radius:999px 0 0 999px; }
.app-confirm-meter-bar > i:last-of-type { border-radius:0 999px 999px 0; }
.app-confirm-meter-bar > .is-have { background:color-mix(in srgb,var(--text) 38%,transparent); }
.app-confirm-meter-bar > .is-add { background:var(--accent); }
.app-confirm-meter-bar > .is-over { background:repeating-linear-gradient(135deg,var(--danger) 0 3px,color-mix(in srgb,var(--danger) 35%,transparent) 3px 6px); }
.app-confirm-meter-bar > u { position:absolute; top:-4px; bottom:-4px; width:2px; margin-left:-1px; border-radius:2px; background:var(--text); text-decoration:none; }
.app-confirm-meter-nums { display:flex; justify-content:space-between; gap:12px; color:var(--muted); font-size:11.5px; font-variant-numeric:tabular-nums; }
.app-confirm-meter-nums > span:last-child { color:var(--text); font-weight:600; text-align:right; }
.app-confirm-meter > small { color:var(--muted); font-size:12px; line-height:1.45; }
/* Karşılaştırmalı onay (sipariş eşleştirme, 2026-10-23): üç sütun, ince
   ayraç; uyarılı satır tehlike renginde ve altında tek satır gerekçe. */
.app-confirm-dialog.has-compare { width:min(600px,calc(100vw - 40px)); max-height:calc(100dvh - 40px); overflow-y:auto; overscroll-behavior:contain; }
.app-confirm-compare { display:grid; margin-top:12px; border:1px solid var(--border); border-radius:12px; overflow:hidden; font-size:12.5px; }
.app-confirm-compare-row { display:grid; grid-template-columns:64px minmax(0,1fr) minmax(0,1fr); gap:4px 12px; padding:8px 12px; align-items:baseline; }
.app-confirm-compare-row + .app-confirm-compare-row { border-top:1px solid var(--border); }
.app-confirm-compare-row.is-head { color:var(--muted); font-size:11px; font-weight:600; }
.app-confirm-compare-row > b { color:var(--muted); font-size:11px; font-weight:600; }
.app-confirm-compare-row > span { min-width:0; color:var(--text); overflow-wrap:anywhere; }
.app-confirm-compare-row.is-warn > span { color:var(--danger); }
/* Değişen satır (düzenleme onayı, 2026-11-03): sipariş kartındaki sarı "değişti" dili. */
.app-confirm-compare-row.is-changed { background:color-mix(in srgb,var(--warning-fill) 10%,transparent); }
.app-confirm-compare-row.is-changed > span:last-of-type { color:var(--warning); font-weight:600; }
.app-confirm-compare-warn { grid-column:2 / -1; color:var(--danger); font-size:11px; line-height:1.35; }

/* Seçenekli onay (fason iş raporu, 2026-10-16): sakin satırlar, ince ayraç,
   seçilen satır vurgu renginde; etiket yalnız sonucu söyler. */
.app-confirm-dialog.has-choices { width:min(520px,calc(100vw - 40px)); max-height:calc(100dvh - 40px); overflow-y:auto; overscroll-behavior:contain; }
.app-confirm-choices { display:grid; margin-top:12px; border:1px solid var(--border); border-radius:12px; overflow:hidden; }
/* Genel label { text-transform:uppercase } kuralı satırlara sızmasın. */
.app-confirm-choice { display:grid; grid-template-columns:16px minmax(0,1fr) auto; align-items:center; gap:10px; padding:8px 12px; text-transform:none; letter-spacing:normal; cursor:pointer; transition:background .14s ease; }
.app-confirm-choice + .app-confirm-choice { border-top:1px solid var(--border); }
.app-confirm-choice:hover { background:color-mix(in srgb,var(--confirm-accent) 6%,transparent); }
.app-confirm-choice:has(input:checked) { background:color-mix(in srgb,var(--confirm-accent) 11%,transparent); }
.app-confirm-choice input { width:15px; height:15px; margin:0; accent-color:var(--confirm-accent); }
.app-confirm-choice input:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
.app-confirm-choice > span { display:grid; gap:1px; min-width:0; }
.app-confirm-choice b { color:var(--text); font-size:13px; font-weight:650; line-height:1.3; }
.app-confirm-choice small { overflow:hidden; color:var(--muted); font-size:11.5px; font-weight:500; line-height:1.35; white-space:nowrap; text-overflow:ellipsis; }
.app-confirm-choice-tag { color:var(--muted); font-size:11px; font-style:normal; font-weight:600; white-space:nowrap; }
.app-confirm-choice-tag.is-danger { color:var(--danger); }
/* Seçenek grubu ara başlığı ve listenin altındaki tek onay kutusu (2026-10-21,
   Raporla › "Siparişi açık siparişlerden kaldır"). */
.app-confirm-choice-section { padding:8px 12px 4px; border-top:1px solid var(--border); color:var(--muted); font-size:11px; font-weight:650; }
.app-confirm-choice-section:first-child { border-top:0; }
.app-confirm-choice-section + .app-confirm-choice { border-top:0; }
.app-confirm-toggle { display:grid; grid-template-columns:16px minmax(0,1fr); align-items:center; gap:10px; margin-top:10px; padding:8px 12px; border:1px solid var(--border); border-radius:12px; text-transform:none; letter-spacing:normal; cursor:pointer; }
.app-confirm-toggle input { width:15px; height:15px; margin:0; accent-color:var(--confirm-accent); }
.app-confirm-toggle input:disabled { cursor:default; }
.app-confirm-toggle input:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
.app-confirm-toggle > span { display:grid; gap:1px; min-width:0; }
.app-confirm-toggle b { color:var(--text); font-size:13px; font-weight:650; line-height:1.3; }
.app-confirm-toggle small { color:var(--muted); font-size:11.5px; font-weight:500; line-height:1.35; }
.app-confirm-switch { display:flex; align-items:center; gap:8px; margin-top:12px; padding-top:10px; border-top:1px dashed var(--border); color:var(--muted); font-size:12px; font-weight:500; }
.app-confirm-switch-ic { display:inline-flex; flex:none; }
.app-confirm-switch-ic svg { width:15px; height:15px; stroke-width:1.8; }
.app-confirm-switch-btn { margin-left:auto; padding:4px 6px; border:0; border-radius:6px; background:none; color:var(--accent); font:inherit; font-weight:600; white-space:nowrap; cursor:pointer; }
.app-confirm-switch-btn:hover { background:color-mix(in srgb, var(--accent) 10%, transparent); }
.app-confirm-switch-btn:focus-visible { outline:2px solid var(--accent); outline-offset:1px; }
.app-confirm-note > textarea {
  width:100%; min-height:64px; padding:9px 12px; resize:vertical;
  border:1px solid color-mix(in srgb,var(--confirm-accent) 40%,var(--border));
  border-radius:10px; outline:0; color:var(--text); background:var(--surface-solid);
  font:500 13px/1.45 var(--font);
}
.app-confirm-note > textarea:focus { box-shadow:0 0 0 3px color-mix(in srgb,var(--confirm-accent) 16%,transparent); }
html[data-theme="dark"] .app-confirm-note > textarea { background:rgba(255,255,255,.05); }
.app-confirm-btn { min-height:36px; padding:0 14px; border-radius:11px; font:inherit; font-size:13px; font-weight:750; cursor:pointer; transition:transform .14s ease,box-shadow .14s ease,background .14s ease; }
.app-confirm-btn:hover { transform:translateY(-1px); }
.app-confirm-btn:focus-visible { outline:3px solid color-mix(in srgb,var(--confirm-accent) 28%,transparent); outline-offset:2px; }
.app-confirm-cancel { color:var(--muted,#65718a); border:1px solid var(--border); background:rgba(255,255,255,.58); }
.app-confirm-accept { color:#fff; border:1px solid var(--confirm-accent); background:var(--confirm-accent); box-shadow:0 7px 15px color-mix(in srgb,var(--confirm-accent) 25%,transparent); }
html[data-theme="dark"] .app-confirm-overlay { background:rgba(0,0,0,.58); }
html[data-theme="dark"] .app-confirm-dialog { background:color-mix(in srgb,#151c28 94%,var(--confirm-accent)); box-shadow:0 24px 70px -24px rgba(0,0,0,.8),0 1px 0 rgba(255,255,255,.04) inset; }
html[data-theme="dark"] .app-confirm-cancel { background:rgba(255,255,255,.06); }
@media (max-width:520px) { .app-confirm-overlay { padding:14px; } .app-confirm-dialog { width:min(408px,calc(100vw - 28px)); padding:16px; } .app-confirm-actions { flex-direction:column-reverse; } .app-confirm-btn { width:100%; } }
.pending-cart-leave-overlay { z-index:1450; padding:18px; }
.pending-cart-leave-modal {
  width:min(480px,calc(100vw - 36px));
  display:grid;
  grid-template-columns:52px minmax(0,1fr);
  gap:16px;
  padding:24px;
  border:1px solid color-mix(in srgb,var(--warning) 34%,var(--border));
  background:color-mix(in srgb,var(--surface-solid,#fff) 96%,var(--warning));
  box-shadow:0 28px 80px -24px rgba(0,0,0,.48);
}
.pending-cart-leave-mark {
  width:52px;
  height:52px;
  display:grid;
  place-items:center;
  border-radius:16px;
  background:color-mix(in srgb,var(--warning) 18%,transparent);
  color:var(--warning);
  font-size:28px;
  font-weight:900;
  line-height:1;
}
.pending-cart-leave-copy { min-width:0; }
.pending-cart-leave-eyebrow { display:block; margin:1px 0 7px; color:var(--warning); font-size:10px; font-weight:850; letter-spacing:.11em; }
.pending-cart-leave-copy h2 { margin:0; color:var(--text); font-size:20px; line-height:1.24; letter-spacing:-.02em; }
.pending-cart-leave-copy p { margin:9px 0 0; color:var(--muted); font-size:13px; line-height:1.52; }
.pending-cart-leave-actions { grid-column:1/-1; display:flex; justify-content:flex-end; gap:9px; padding-top:4px; }
@media (max-width:520px) {
  .pending-cart-leave-modal { grid-template-columns:42px minmax(0,1fr); gap:12px; padding:20px; }
  .pending-cart-leave-mark { width:42px; height:42px; border-radius:13px; font-size:23px; }
  .pending-cart-leave-copy h2 { font-size:18px; }
  .pending-cart-leave-actions { flex-direction:column-reverse; }
  .pending-cart-leave-actions .btn { width:100%; }
}
.modal,.order-modal,.ticket-detail-modal { color:#1d1d1f; border-color:rgba(0,0,0,.08); background:rgba(255,255,255,.96); box-shadow:0 28px 80px rgba(0,0,0,.2); }
.office-choose-btn { color:#1d1d1f; border-color:rgba(0,0,0,.09); background:#fafafa; }
.office-choose-btn:hover { border-color:rgba(0,113,227,.3); background:#f5f9ff; transform:none; box-shadow:none; }
.office-choose-btn.bursa .name { color:#16784b; }
.office-choose-btn.istanbul .name { color:#4d4ac7; }

.reply-mine { color:#fff; background:#0071e3; }
.sc-card { background:#fafafa; }
.sc-party {
  max-width:116px; min-height:20px; padding:3px 7px; border-radius:999px;
  overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
  color:var(--accent); background:var(--accent-soft); font-size:9.5px; font-weight:750; line-height:1.35;
}
.sc-party.is-missing { color:var(--warning); background:var(--warning-soft); font-weight:650; }
.sc-activity { max-width:116px; color:var(--muted); font-size:9px; font-weight:650; line-height:1.3; }

/* Login */
.login-overlay { background:#f5f5f7; }
.login-overlay::before { width:430px; height:430px; left:-240px; bottom:-250px; border-color:rgba(0,113,227,.08); box-shadow:none; }
.login-overlay::after { display:none; }
.login-card {
  color:#1d1d1f;
  border-color:rgba(0,0,0,.07);
  border-radius:24px;
  background:rgba(255,255,255,.88);
  box-shadow:0 25px 70px rgba(0,0,0,.1);
  backdrop-filter:saturate(180%) blur(24px);
}
.login-card::before { background:#1d1d1f; box-shadow:0 5px 16px rgba(0,0,0,.14); }
.login-card::after {
  content:"";
  width:32px; height:32px;
  background:currentColor;
  -webkit-mask:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIwAAACMCAYAAACuwEE+AAAZBElEQVR42u2daZBc1XXHf+9194xmkUYrlhBLBAghQMIBswYQW5x4iXHixCFOObH9JXbKScXZEydf8ikf4rgSO+VUClNOvAXHwY7D7mBjMMJGbAIEiEUyaEWgdZgZ9fR0v3y459YcHd3X0y3N9HT33FvVNUv39PR793/Pfv4H4oorrrjiiiuuuOKKq8tXEm/BMfegkfuR5XwfAdNl15mo7zP1mK73TtT7Zd0KpqTLAZIAtTqbVwBKwADQB8wDeuRRUK+rARNAGRgFxoCj8vNEnc+RdhuAki6UILXA8wPAUmAFsFK+LgbmA0V5fr68tiq/K8p71RR4PEiqAoAycAh4E9gL7AF2A28Bw90IoE4HTJoDkncAZwNrgFXAEgFFP9Arr/HSQUuhCQFDIu+dyXOp/K5qJJP/fUG+TgAVkUD7gO3AVuBVAVTW6eBJOliaaJD0CkAuAtYCZwJD8roKMC6bmalr9sDolc3PZBOLSoL431fkkYi6SuU9vbTxkiiRv+kxds3bInVeBJ4GXgJGGgB+BMw0AiUBzgOuAtYBy4wa0QZoor5PZVOLStLsB3bJ1xHgIHBEnX5vp/SLtJoPLAAWyc8LRIKVBEhHDUCLYh8VRPocEtBsBJ6T1+cdhgiYkwTKYuBK4HJgtWyEty08IApKpVSVYZsoVfEqsA14XWyQiRP8fIPAKcBZwIUi6RaJlJkQAHk15iVXrzxfls/zHPBjUV9a6tQiYE4cKCuBm4Br5URXAh6QNXzniVQ4AmwBNolK2DeFZ1UvxqKfD21oj6jE9cAlAqCSSJaKsYc8ePpEbT0PPAQ8Jq9tO+AkbWzM+pt0OvA+4FI5uV6alAyoNFi8QbpLQPIj+T7kVZ2s0WnjMDVzHecDNwI/L9LoqLKfUMYyyp56DbhHpE65nYCTtDFQFgO/AlwvN3os8FobhPN2wlbgbuCnSiUk6v2zWXDxl4uE/EWxgY4oVWXtrKL8vAu4H/iB8uhmNcKctCFYErmpvyGG7LD8vmhUVKq8HWQT9gH/DTygTm2hBSBpxvVfAXxQ7LBeOQipcbO1Su0V7+oOUVWzKm3aATD61KwBPiLez4SKgRA4Xam8xqum+4FvqYBZuxmN1iY7F/htMZRHlJSxKq4qoEmAR4HbJUCISUfMCcBoqfIB4ENiAI6qU5eYZF+mbtSgeDq3iafRtt5FDnBS4P3ArytpUwokN2sKOKPAXcD/qPdo2fUWZvHGeVWxAvhz4DoVYCvmGKf6pg8CPwQ+J7o+7aAMcqY2eivwrEic5WLkJjmHa0JAc4VI41eAw+rauxIw2vi8Evgz4Aw5XcWACrJZ4ILo9q8CX1Guao3OWpnag/3Aw+IFnqs8I33tiZK4o7j0x2Vy37YpUGXdBBjt1XwQ+D0ByZiRKmmgTkWH7r8A3NthUmUqaVNR8Zf1ylBPzeHx96cs92KDSOnN6vBk3QAYfyE9wKcktjJmPIkk8DVRGeMU+AdcSL3QgVKlHmg8EF7A5Z0uU4crDdTcoIC2VhyFLWL0J50OGK8y5gN/Kzp4WKmgpE71W6aSfp+X2EpBudPdtLzK3S7Bu6vUwUhNfU6qHiMqZbILlxlPOhUwHiyLgL8UN3LYeANJTmWcvzkDwK1i5HYrWCxodgE7BTRWNdv75LPnC3ER8QfqGM/TElSaabCcAnwW+Dmx6ouBaG3I3a/i8kb340Ll3Q4W1HUXxKb5ZzHyM5OpTwwgSqqUozjTUciZBMtS4O8ELBUj1bKAZNHPzRPX8bYO9YSmAzQbRbr2mPQAgfhUy8LWM+ENeZvlr4HTlFWPqTEJAUZf/K3KzZxrVfoeNPfggnULTOLSBjMTFfnuGMAkKvP6JxJjOSJg8Rv+uDLYMnPR/iYMAA+K1zDXpAsBA/fruABfvwJNKEaTdpqE8Zv+aVzJ5IiSOEPAI8AOkT7VnPaMgoDs27F36piqvy+IDdhrDlraql6pdIbC/bcA1whYSqrqbT/wnxKYGqlTlNQvBt8b7V6y2OLg3ltiz/UplW7rejoGMKkA4xpcMu1tUypZAL4oqmmNWPO1HJE6Bnw/SpfjVFNBJPS94hBUW5lHmk7AeBvjdOCTAgZtyM6XC92EK9ieZ1o5tMvYJ57RS51SSd9i0CTA10Ta9LZKskwnYBJVy/op+VpVqqQo7vTX5XfLRJzacLev/egRQzdr9enpoBTCYVyh2ICqDbb3sq0BUwM+jIviHlWxlgmRJt/DFf1kIm0qdeIv47gKsznZ7N6E1/QgLnfUY3JRSTtLGK+KzgHey2TI379vUdTLt9XvTjHdhpkxmg/jQuIRMFPHaL6p1Ln2MNs6DlMAPqa6BLUR2w/cqepWUYXaqKYzVMvpmCqQjqu+lNkMPIML6NVUF2ZbShgvXa7FpdaPKre6KsDYh2uV0K5xxYjOzJwOlMsYJczU6y4j1SvtaMN442oIV7RdUaIwUQwI9wiQ9P/Zl+NO18wjrsY8pmeYjADPeAXCyQLmPcCppsDJ9xLvxqXZMY1me5Vln5r4S9XEFmIcprF9+A6TrcKldgOMTixeJ/ZGwaiXPuAJeS41xu1uJksUMlPm4MFWilhoWMoAPAX8TFXgtRVg/N/cJNKlaix1D6qNOUXPO0ztaWbed5Gourga348KLqHbq5gg2gYwPi90g3zQorFDfG/wi+YUeGC8gWNL6DV9N5mqrjs1qqSm12PK2WgbwPjXX4DroRkLJMCKgvZK4P19xdwWAUzNSCAfIT4jAqZp4/d1XMyrrx29pKtUE3lm/P+aAII6vThPMJlvsu0TNRxFRnSrm9/HRxUrVlsApiaSYW2g3NJXe43iqt5DG+5/3ireUinQ4FbBRY77jHcVF1M2xW2Rg1hoB8D4156F67oLJRB9tfuBOoDx5QtbFMWYNpYruPTBOVEtNe0t7cClZ3rbATB+486XIFFmjFYfrt7dYKZ5s4kA24jvBREwTa9x4MuKwWLaVXrxBMTe6cbXt33Pw1NstFZLw4EcFCK9zov1MCe0nmsXL8lv3AJFQWoDb2kD5II+Fb8f10ReCnhLFfGUhkxxeFyz3Gt2Im71UB0CwZpqCWnk/27LCeBVcXSmZ0a1dML2zKwCRlfVzTf1F1mAZ67RtUdZ9LYDsohrfouA6WDxlSm607xe6EUNGFyZSkSWc7oex3HlnDEe04GAyRRr9uGcETKePrQZwBwJ8P3rPpwlETCdK2G8FNhf5+/GcW2xi5swVnsDXXz+sTACpnMBk6rkYW8OoCZwzfcXN/H+tUAxeKJKNuPqUMBkxrOp5dB0VHE8u2kD9OvzlE2UBjogj8Yt6nzAvCBSJjU5IFTYfw3wrgBzkgXMcjVuxnLg1cyUj7g6EDApbjTMZtUPQ4AVqYxj8u7N2XD/d+vr5D2KuHbbCJguiAo+quItlqojEcCsAj4akDKJynqvUwXjluek1zBex9WBgPEG6mZcDem8QO2FzykdBX4VN8mjagJ04FgiFwu4bPOVt39eiV5S50sYX4LwTbPRtYCHM4Jrzl+jQOPLMH9XdQnUjP1SEjvp5QiYzgeMVzE/wdW0DKpxdXbAQkUA8Ye4Ghqvfso4NocBk/vw6qoHV5U30gp267iYcdpVLw22A7+Qw/GSqWDegBi4jysioafETrlEPKvMNMLdiivESiJgOh8w2mMaFdCMTzFUYTluKtlGsW+KwJO48P9a5UIvlNfcOce57boKMBo0rwgY1oikKASoQAsCmtNxBd4/lp8LOGbvZeIx+enz/ygudZQuXQQYHbB7SlTOykCwTXcEjOAGKSzH9dF4NfQ4rob3AuCfxAuL0qULbRjvQldwTeGX4up9J0zftFZVoxKjWajoV6uinvbi+NuiZOkiwPjNPEseu8QeGcaxCFzGZItIaryfTI1uOV/c580qbvNSBEt3AcZv5kLgb4B342YtvyGbfwA3QHyDYc+sBca8VHHDyt8UO6gQwdJ9gPES4/dxk8PGcUnGLbg6GR9wew3H7JCqGI19H9+0dpFIprciYLoLMN4IvQnHwzusSJivFRvkgIBmJ4446HJRNYmhJUO1k6Q4MsWNMzWyJa7WA0bz7f6B2CwFJvurB8VL2qQGZ21ToPHAKAQGK/iiqyW4pGanR3bTJqfLJjmlIkngERrnl/d8GpipFKrBJhBsPekxxJ514TeB38LV9ZaUCqnIz3txU153q9jLe4FPGDpWlBHsDeKF8rcPdqBLnajxhH8s11KVg9Qv1+4paH1qZCSnQ1SzWBQNEDWHIDkDynT6JlNcyZk5uAX5vH5v7wO+O9W9LzZ4M6ri+dygBjhpA9bPE1grts0uZfDeLdLjI6oeODNZ6VRu6seAp02hOR3UDF/BTbqdJ/dkUO5bisvML5FHrzy3HFc074EwqrL3qZHKlqI2C0irrM4syZoiTBzCBUafFvvxdUV1WzvZVlnv0azHNcm/nfN383ER3B8qkHnp9FVcNPcaXKdAyQBGt5X8GpMDtTpNNWUiZRtVXQtxwc5VwGpcH9YSdYDsHtUCszAbUXsYaXa7xLv2MwO91X7TLlL0ZFpXVxV67wg0pfmL/KKcptWGKkRf1GHxru7BFU91oteU1FH3tgT1gDyeleeH5D5vkAOa4NItiQFImjOQLMv5HP5/9gJfAv4vYG81RDlfaGJo5YdFilhx58sRXsIxfpPjRk/g6oE3KPapxOjdqiqX2NzhBnBW52GNTb9xRyUk8ZA4DWeI1B3LMZZpYhxiH24+wfdMhWNTswnSBk/LUvngoXG4mRh2T9Yp+va0rHtFPfUb9NfU5zmKy34PzQFCoUwdFDsv4AncFN5vBaoVCQwlyxuw5XkHDwpYEqMpptUFTNR8gMHAP9L1K1OVU3r+3R+IsTVfqbPMxGZOVXU26RxjktIplIrYG/8h99+CJkSCHfKY/ITakZNV840CZomq7rdcLn6gxN4myim/EaA416UQGZPzmmtznOywIDbH1xRo8myOJEdFjUuMLGlVkGlAbWZq1JEvWxhp4ia8iCvxLOWAtCwew1znh8lULfR3cGUkC3LYMwgcQG9/jitmsKwVgCnmGFz6FEzQnBfxsBLB9n3HRaJFfphjgfDvEqvJcozmJMd2HGWSGawlEqakIoW1gGvXzGAnf7EviSoLWf8+hrOSuHTk9jWxAXuVdE9y1JG+n2WmafZ32sQHzgL2REF9gJ4mAXNQHj2BjLa/4BURK8dJ5weZHERBnQHxOtk7Ol22YNrg5h7KcZk9iPqMQdbI/80k0jgvoIe1Ox/7ko49tNtxSd1ijoeUGU+oMJ096o1KmP1mMFZi3OV5ii0qacKOeWuKZriBiJPgIIod6qCF6qdD7ndLAXPQEDlb9VHC5UOa/VAjipHTqqNCHIOTe9C2mTBHVse1ntYps2kT9kZFJSKzQDZ77QnGTaoB9odMlU3Edfx+7DQlDARYvKhj28w4YIapnwws4wrCBxuMm2SqaS3JybDWpssV7ELAvCmGbFIn0UgOO+mMqyT/mheN8WUTi8twnQBJE4BZlkNX5o21yA8TXkfkEaq6IzCSKJuNZvwXVCVYnlS4ssEPl6l6kNCMR92KGwETlujlnDKHZCbLQtImA20jKuqbGcaGMeCduJqXellm//vFApjxnNNRw4Wzo1t9/F6MM1mZl9WpvaFBiT/tgEkkFrNdkQhZ5qmKxE1umEIq+N+fLaAJgcurub0RI7lFWMNNqJ2WqyT/ukdUesDmMwqC+pvMPMc8wFyoCsmtwZZK7GdPlDA0MlMgC3hIGfWr/2Y8NQCuqGe/qKUk8PdlXDj/ijozk3yeaFWOOvIZ1jcig0NDMZm8AqpkJg5b2iS1xzAuxT4QGK6FKoC62cxBIjCPYIUZo6PbaXtUFXsasTFlCWg9FZTMNmXZfQIcO6s6VY32q4HrlbSwH36lMY5DF749YoJGKPepUw8zaxJGp9h/hqPp6A8UcqeK0uNm8xq9BnOGW/ifR3D5kmi/5Bfl9wfsGHIKqrLZ5um9R3XP2fpST4Z4Gq7HKMvxgvKq6T3fzHAETK7dUjIM6lOlBmaVpzeVmMzDYstUc+g8RoAP4FIGtUAPTClQaqjBFOcM5K8+sfOqgfBHPQN4ViRMpgq5DwQ+WGbKAz8e+D9v4AJ9aZ3AVEw85q/5TJY3JIHo7oxJmvQkyBD3iGoaNBJGo30U18H3fmPL7JBHiLVgQsBSjLio2/bT20SB/KzbMP6D3inA6cuJ/nrVdIuoJk/sXMF1NpYMkPQcgr6Ij1zArKoTHM1LQrYFYEZxvbq1HNfYF44XgU8bMfqQsvgzZTRnuFaKpTHxmBtAPVdJ+mnNRs/kjGNvozwL/K/o1UqOlCnjWkZ+R/XZvC7u+QIzeBRxGc+IgAnmkAZwPVuVHPtlxoqnpiOK6r2f23H1Mrb9Vauat3F5pvepcs9v4EoYEuNhjauepOhWHwuE1WI32hrrxLCVtuUUdV1K+S+KrqwWqM3wBcyfxNGY1XDEQ/+lVJWPFo8KYHojufNx64oGxiPaCHDaLoDRXtNOHAdMr8kPWVE5DnxGFY3fixtzM6Ay4RUBzIUxn3SMMzCkOAOTBnlp2kolWdX0BI6ya9AYwlpkeoKcz+BKNCu4ySUjxqDuBX4pCpRj9ulqcQayHCmTBO53bTpjWoUZyHFsFcCsE9WSBkoJx+W0rBeQ7RFb5moVg/G0H5vkubk6N0kTLn7CcOuQUwOjQeMz/xuno1SkMEOn4UlcNd15ppRQqzBPt7pWYjLPy8Vdrlo7i2LfPDaH62L8QXkPjs5tLIfuLZRP8k2Gu3H8g20JGBSD0mm4sTgjORdXxkUtLxXQPMLkKJ1RueBzxMbZMweljK4f+qMAhy91gneZ6rz4NybTOLQrYBDJ8A5c/W7Z/L9MNcYtwzFOvSAxnRUClLLYMqtxTegTcywu4w/Ix0VaVwxospwxQ/7ezsfNnnpmug5boQWW/U/lhKwz3CYpxxZd9YvLuBNH3rcS1+d0CMeANQ9X7VeYI1LGc/duwBFqjwb2K8lxQDxBwpeAH5kBIW0LGH1Bj4t9coGaJ1AMzLpOxPBNcFy9i3AzIQ+ImjqMm5bS7aDxRMxnAH+ao4ZCGepMMYbdxmTdUrUdvaSpJrc9LdLinbik40ROLiTDzVw6C/iyGHlXytcrcKWbO7sYNB4si4C/UNHzQo5ksc1/Hix3TTdYWgUYfTGvyoZfgmtiGwvcLC9tzsYxh98tYLtY1NLFuDTEvi4ETarmen8WF9wsB/YpC2T4U5Ha/4oLhk47WFoJGB2n2SPG8Coxbo+q53Rftbdrrpc4zPcFZEtF0myT9+oW0HiwLBA1dK4cqOIUXYzedR4FPi+e5owN9yjQ+gJm367yoPy8Rg23sLx5VQnyrReAPSX2zGkiffbgeN+mtR10Fg3cFcBfiYc4ElBDtumvKiprF/D3InkLM5l/KzA7Ve/+gp/HEUKvwUV1y4E6j0Sk0JAE+Q4KaIbE1inK+2QdKG00he16kSwrRLKUArZKYlRQr3hBn8NRgMz42KCkTcRwP64q75cFAG8HMt0Y3tlUzTl4FkdJusu8bzsH5PTGf4jJDouJAFV8ZmqlF4rH+BXggVZec9JGuhuRILdIkKpqioRSQ0Hv/25cYg5l3ICoO1WAL2kz4NjPtBr4qMSbjuaQA2myg4JIlefEE9rR6qq7pE1v5AbcXMlTRTxPmGKhzACoqgZavYwb6LApYCNkbaB6EJf5Zlw2PlXGLYGRe17izBN77bti/82KJE3aNBTuJ6TcKGrqVPECKmZCWWJsHe8x1HC5qfvEJbcb14oTmQZYFpaK13edOQyFHIrVHrkPR8RLvCNA88FcBkxITQ3hSjuvlpvsjeCqmn1gp6HUFMvk67hM7U9MAi6ZRlqvJIfmFMWFcyMuXzYo4NeSLwkM6PDD4zfh8ms728E+a2dX1KqpflzE9924Imiv16s55H+Z4vr1Kf4nxTXfios615v0mjVAs5HHGlrAVQyuw01YWyPu74iAvahUjv78RVGth8T7uZ9JUqWWdwh0GmDygJPiclJX4iLGS0WqjJk5kzqm4w3lHtmUQxKz2IojF9gt7vqJntxBXMb9TAHHueIe+xRI1Uyws+SPvqx1K25m5mMK0G0BFDqwhSPk9SzCpQrepcbleJE9UWcWoiWOHsalGg6KvfCWqK+ymbNQEmk1H1cgtkj+5wL5fpBJMoKyUZso761PhQf2itR7UuJJtXYECh3e8xMyKJeIW36RuOWnyAaPq1OOIZNODeVaSXU9VExWfVyRCJSU218xHlhmvLiSAERPFXlTjPGnxasr5xj+bVvRRQdXpIUIiXpwpQGr1GOF4qXRveAV83M1MOLHzqVMFUhKAeoTPcZnTADyslKBuzie67gjps91U/VaEhhyoTdkmYBGPxbI6R+Qr5pzpaQyvjUFlAml7jIlsQ7j+P/2iTrbi8t1van4hpklFz8CpkHwJDlznvTrBsQDG5SvJQWikvG4quISj4mKGselMUbFAyo3oEY7CiBzBTCNgGimNi7N6Q7tqqp0Ys9ybichU3QS1psZHVdcccUVV1xxxRVXXHF12vp/+YodbItbmQ0AAAAASUVORK5CYII=") center/contain no-repeat;
          mask:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIwAAACMCAYAAACuwEE+AAAZBElEQVR42u2daZBc1XXHf+9194xmkUYrlhBLBAghQMIBswYQW5x4iXHixCFOObH9JXbKScXZEydf8ikf4rgSO+VUClNOvAXHwY7D7mBjMMJGbAIEiEUyaEWgdZgZ9fR0v3y459YcHd3X0y3N9HT33FvVNUv39PR793/Pfv4H4oorrrjiiiuuuOKKq8tXEm/BMfegkfuR5XwfAdNl15mo7zP1mK73TtT7Zd0KpqTLAZIAtTqbVwBKwADQB8wDeuRRUK+rARNAGRgFxoCj8vNEnc+RdhuAki6UILXA8wPAUmAFsFK+LgbmA0V5fr68tiq/K8p71RR4PEiqAoAycAh4E9gL7AF2A28Bw90IoE4HTJoDkncAZwNrgFXAEgFFP9Arr/HSQUuhCQFDIu+dyXOp/K5qJJP/fUG+TgAVkUD7gO3AVuBVAVTW6eBJOliaaJD0CkAuAtYCZwJD8roKMC6bmalr9sDolc3PZBOLSoL431fkkYi6SuU9vbTxkiiRv+kxds3bInVeBJ4GXgJGGgB+BMw0AiUBzgOuAtYBy4wa0QZoor5PZVOLStLsB3bJ1xHgIHBEnX5vp/SLtJoPLAAWyc8LRIKVBEhHDUCLYh8VRPocEtBsBJ6T1+cdhgiYkwTKYuBK4HJgtWyEty08IApKpVSVYZsoVfEqsA14XWyQiRP8fIPAKcBZwIUi6RaJlJkQAHk15iVXrzxfls/zHPBjUV9a6tQiYE4cKCuBm4Br5URXAh6QNXzniVQ4AmwBNolK2DeFZ1UvxqKfD21oj6jE9cAlAqCSSJaKsYc8ePpEbT0PPAQ8Jq9tO+AkbWzM+pt0OvA+4FI5uV6alAyoNFi8QbpLQPIj+T7kVZ2s0WnjMDVzHecDNwI/L9LoqLKfUMYyyp56DbhHpE65nYCTtDFQFgO/AlwvN3os8FobhPN2wlbgbuCnSiUk6v2zWXDxl4uE/EWxgY4oVWXtrKL8vAu4H/iB8uhmNcKctCFYErmpvyGG7LD8vmhUVKq8HWQT9gH/DTygTm2hBSBpxvVfAXxQ7LBeOQipcbO1Su0V7+oOUVWzKm3aATD61KwBPiLez4SKgRA4Xam8xqum+4FvqYBZuxmN1iY7F/htMZRHlJSxKq4qoEmAR4HbJUCISUfMCcBoqfIB4ENiAI6qU5eYZF+mbtSgeDq3iafRtt5FDnBS4P3ArytpUwokN2sKOKPAXcD/qPdo2fUWZvHGeVWxAvhz4DoVYCvmGKf6pg8CPwQ+J7o+7aAMcqY2eivwrEic5WLkJjmHa0JAc4VI41eAw+rauxIw2vi8Evgz4Aw5XcWACrJZ4ILo9q8CX1Guao3OWpnag/3Aw+IFnqs8I33tiZK4o7j0x2Vy37YpUGXdBBjt1XwQ+D0ByZiRKmmgTkWH7r8A3NthUmUqaVNR8Zf1ylBPzeHx96cs92KDSOnN6vBk3QAYfyE9wKcktjJmPIkk8DVRGeMU+AdcSL3QgVKlHmg8EF7A5Z0uU4crDdTcoIC2VhyFLWL0J50OGK8y5gN/Kzp4WKmgpE71W6aSfp+X2EpBudPdtLzK3S7Bu6vUwUhNfU6qHiMqZbILlxlPOhUwHiyLgL8UN3LYeANJTmWcvzkDwK1i5HYrWCxodgE7BTRWNdv75LPnC3ER8QfqGM/TElSaabCcAnwW+Dmx6ouBaG3I3a/i8kb340Ll3Q4W1HUXxKb5ZzHyM5OpTwwgSqqUozjTUciZBMtS4O8ELBUj1bKAZNHPzRPX8bYO9YSmAzQbRbr2mPQAgfhUy8LWM+ENeZvlr4HTlFWPqTEJAUZf/K3KzZxrVfoeNPfggnULTOLSBjMTFfnuGMAkKvP6JxJjOSJg8Rv+uDLYMnPR/iYMAA+K1zDXpAsBA/fruABfvwJNKEaTdpqE8Zv+aVzJ5IiSOEPAI8AOkT7VnPaMgoDs27F36piqvy+IDdhrDlraql6pdIbC/bcA1whYSqrqbT/wnxKYGqlTlNQvBt8b7V6y2OLg3ltiz/UplW7rejoGMKkA4xpcMu1tUypZAL4oqmmNWPO1HJE6Bnw/SpfjVFNBJPS94hBUW5lHmk7AeBvjdOCTAgZtyM6XC92EK9ieZ1o5tMvYJ57RS51SSd9i0CTA10Ta9LZKskwnYBJVy/op+VpVqqQo7vTX5XfLRJzacLev/egRQzdr9enpoBTCYVyh2ICqDbb3sq0BUwM+jIviHlWxlgmRJt/DFf1kIm0qdeIv47gKsznZ7N6E1/QgLnfUY3JRSTtLGK+KzgHey2TI379vUdTLt9XvTjHdhpkxmg/jQuIRMFPHaL6p1Ln2MNs6DlMAPqa6BLUR2w/cqepWUYXaqKYzVMvpmCqQjqu+lNkMPIML6NVUF2ZbShgvXa7FpdaPKre6KsDYh2uV0K5xxYjOzJwOlMsYJczU6y4j1SvtaMN442oIV7RdUaIwUQwI9wiQ9P/Zl+NO18wjrsY8pmeYjADPeAXCyQLmPcCppsDJ9xLvxqXZMY1me5Vln5r4S9XEFmIcprF9+A6TrcKldgOMTixeJ/ZGwaiXPuAJeS41xu1uJksUMlPm4MFWilhoWMoAPAX8TFXgtRVg/N/cJNKlaix1D6qNOUXPO0ztaWbed5Gourga348KLqHbq5gg2gYwPi90g3zQorFDfG/wi+YUeGC8gWNL6DV9N5mqrjs1qqSm12PK2WgbwPjXX4DroRkLJMCKgvZK4P19xdwWAUzNSCAfIT4jAqZp4/d1XMyrrx29pKtUE3lm/P+aAII6vThPMJlvsu0TNRxFRnSrm9/HRxUrVlsApiaSYW2g3NJXe43iqt5DG+5/3ireUinQ4FbBRY77jHcVF1M2xW2Rg1hoB8D4156F67oLJRB9tfuBOoDx5QtbFMWYNpYruPTBOVEtNe0t7cClZ3rbATB+486XIFFmjFYfrt7dYKZ5s4kA24jvBREwTa9x4MuKwWLaVXrxBMTe6cbXt33Pw1NstFZLw4EcFCK9zov1MCe0nmsXL8lv3AJFQWoDb2kD5II+Fb8f10ReCnhLFfGUhkxxeFyz3Gt2Im71UB0CwZpqCWnk/27LCeBVcXSmZ0a1dML2zKwCRlfVzTf1F1mAZ67RtUdZ9LYDsohrfouA6WDxlSm607xe6EUNGFyZSkSWc7oex3HlnDEe04GAyRRr9uGcETKePrQZwBwJ8P3rPpwlETCdK2G8FNhf5+/GcW2xi5swVnsDXXz+sTACpnMBk6rkYW8OoCZwzfcXN/H+tUAxeKJKNuPqUMBkxrOp5dB0VHE8u2kD9OvzlE2UBjogj8Yt6nzAvCBSJjU5IFTYfw3wrgBzkgXMcjVuxnLg1cyUj7g6EDApbjTMZtUPQ4AVqYxj8u7N2XD/d+vr5D2KuHbbCJguiAo+quItlqojEcCsAj4akDKJynqvUwXjluek1zBex9WBgPEG6mZcDem8QO2FzykdBX4VN8mjagJ04FgiFwu4bPOVt39eiV5S50sYX4LwTbPRtYCHM4Jrzl+jQOPLMH9XdQnUjP1SEjvp5QiYzgeMVzE/wdW0DKpxdXbAQkUA8Ye4Ghqvfso4NocBk/vw6qoHV5U30gp267iYcdpVLw22A7+Qw/GSqWDegBi4jysioafETrlEPKvMNMLdiivESiJgOh8w2mMaFdCMTzFUYTluKtlGsW+KwJO48P9a5UIvlNfcOce57boKMBo0rwgY1oikKASoQAsCmtNxBd4/lp8LOGbvZeIx+enz/ygudZQuXQQYHbB7SlTOykCwTXcEjOAGKSzH9dF4NfQ4rob3AuCfxAuL0qULbRjvQldwTeGX4up9J0zftFZVoxKjWajoV6uinvbi+NuiZOkiwPjNPEseu8QeGcaxCFzGZItIaryfTI1uOV/c580qbvNSBEt3AcZv5kLgb4B342YtvyGbfwA3QHyDYc+sBca8VHHDyt8UO6gQwdJ9gPES4/dxk8PGcUnGLbg6GR9wew3H7JCqGI19H9+0dpFIprciYLoLMN4IvQnHwzusSJivFRvkgIBmJ4446HJRNYmhJUO1k6Q4MsWNMzWyJa7WA0bz7f6B2CwFJvurB8VL2qQGZ21ToPHAKAQGK/iiqyW4pGanR3bTJqfLJjmlIkngERrnl/d8GpipFKrBJhBsPekxxJ514TeB38LV9ZaUCqnIz3txU153q9jLe4FPGDpWlBHsDeKF8rcPdqBLnajxhH8s11KVg9Qv1+4paH1qZCSnQ1SzWBQNEDWHIDkDynT6JlNcyZk5uAX5vH5v7wO+O9W9LzZ4M6ri+dygBjhpA9bPE1grts0uZfDeLdLjI6oeODNZ6VRu6seAp02hOR3UDF/BTbqdJ/dkUO5bisvML5FHrzy3HFc074EwqrL3qZHKlqI2C0irrM4syZoiTBzCBUafFvvxdUV1WzvZVlnv0azHNcm/nfN383ER3B8qkHnp9FVcNPcaXKdAyQBGt5X8GpMDtTpNNWUiZRtVXQtxwc5VwGpcH9YSdYDsHtUCszAbUXsYaXa7xLv2MwO91X7TLlL0ZFpXVxV67wg0pfmL/KKcptWGKkRf1GHxru7BFU91oteU1FH3tgT1gDyeleeH5D5vkAOa4NItiQFImjOQLMv5HP5/9gJfAv4vYG81RDlfaGJo5YdFilhx58sRXsIxfpPjRk/g6oE3KPapxOjdqiqX2NzhBnBW52GNTb9xRyUk8ZA4DWeI1B3LMZZpYhxiH24+wfdMhWNTswnSBk/LUvngoXG4mRh2T9Yp+va0rHtFPfUb9NfU5zmKy34PzQFCoUwdFDsv4AncFN5vBaoVCQwlyxuw5XkHDwpYEqMpptUFTNR8gMHAP9L1K1OVU3r+3R+IsTVfqbPMxGZOVXU26RxjktIplIrYG/8h99+CJkSCHfKY/ITakZNV840CZomq7rdcLn6gxN4myim/EaA416UQGZPzmmtznOywIDbH1xRo8myOJEdFjUuMLGlVkGlAbWZq1JEvWxhp4ia8iCvxLOWAtCwew1znh8lULfR3cGUkC3LYMwgcQG9/jitmsKwVgCnmGFz6FEzQnBfxsBLB9n3HRaJFfphjgfDvEqvJcozmJMd2HGWSGawlEqakIoW1gGvXzGAnf7EviSoLWf8+hrOSuHTk9jWxAXuVdE9y1JG+n2WmafZ32sQHzgL2REF9gJ4mAXNQHj2BjLa/4BURK8dJ5weZHERBnQHxOtk7Ol22YNrg5h7KcZk9iPqMQdbI/80k0jgvoIe1Ox/7ko49tNtxSd1ijoeUGU+oMJ096o1KmP1mMFZi3OV5ii0qacKOeWuKZriBiJPgIIod6qCF6qdD7ndLAXPQEDlb9VHC5UOa/VAjipHTqqNCHIOTe9C2mTBHVse1ntYps2kT9kZFJSKzQDZ77QnGTaoB9odMlU3Edfx+7DQlDARYvKhj28w4YIapnwws4wrCBxuMm2SqaS3JybDWpssV7ELAvCmGbFIn0UgOO+mMqyT/mheN8WUTi8twnQBJE4BZlkNX5o21yA8TXkfkEaq6IzCSKJuNZvwXVCVYnlS4ssEPl6l6kNCMR92KGwETlujlnDKHZCbLQtImA20jKuqbGcaGMeCduJqXellm//vFApjxnNNRw4Wzo1t9/F6MM1mZl9WpvaFBiT/tgEkkFrNdkQhZ5qmKxE1umEIq+N+fLaAJgcurub0RI7lFWMNNqJ2WqyT/ukdUesDmMwqC+pvMPMc8wFyoCsmtwZZK7GdPlDA0MlMgC3hIGfWr/2Y8NQCuqGe/qKUk8PdlXDj/ijozk3yeaFWOOvIZ1jcig0NDMZm8AqpkJg5b2iS1xzAuxT4QGK6FKoC62cxBIjCPYIUZo6PbaXtUFXsasTFlCWg9FZTMNmXZfQIcO6s6VY32q4HrlbSwH36lMY5DF749YoJGKPepUw8zaxJGp9h/hqPp6A8UcqeK0uNm8xq9BnOGW/ifR3D5kmi/5Bfl9wfsGHIKqrLZ5um9R3XP2fpST4Z4Gq7HKMvxgvKq6T3fzHAETK7dUjIM6lOlBmaVpzeVmMzDYstUc+g8RoAP4FIGtUAPTClQaqjBFOcM5K8+sfOqgfBHPQN4ViRMpgq5DwQ+WGbKAz8e+D9v4AJ9aZ3AVEw85q/5TJY3JIHo7oxJmvQkyBD3iGoaNBJGo30U18H3fmPL7JBHiLVgQsBSjLio2/bT20SB/KzbMP6D3inA6cuJ/nrVdIuoJk/sXMF1NpYMkPQcgr6Ij1zArKoTHM1LQrYFYEZxvbq1HNfYF44XgU8bMfqQsvgzZTRnuFaKpTHxmBtAPVdJ+mnNRs/kjGNvozwL/K/o1UqOlCnjWkZ+R/XZvC7u+QIzeBRxGc+IgAnmkAZwPVuVHPtlxoqnpiOK6r2f23H1Mrb9Vauat3F5pvepcs9v4EoYEuNhjauepOhWHwuE1WI32hrrxLCVtuUUdV1K+S+KrqwWqM3wBcyfxNGY1XDEQ/+lVJWPFo8KYHojufNx64oGxiPaCHDaLoDRXtNOHAdMr8kPWVE5DnxGFY3fixtzM6Ay4RUBzIUxn3SMMzCkOAOTBnlp2kolWdX0BI6ya9AYwlpkeoKcz+BKNCu4ySUjxqDuBX4pCpRj9ulqcQayHCmTBO53bTpjWoUZyHFsFcCsE9WSBkoJx+W0rBeQ7RFb5moVg/G0H5vkubk6N0kTLn7CcOuQUwOjQeMz/xuno1SkMEOn4UlcNd15ppRQqzBPt7pWYjLPy8Vdrlo7i2LfPDaH62L8QXkPjs5tLIfuLZRP8k2Gu3H8g20JGBSD0mm4sTgjORdXxkUtLxXQPMLkKJ1RueBzxMbZMweljK4f+qMAhy91gneZ6rz4NybTOLQrYBDJ8A5c/W7Z/L9MNcYtwzFOvSAxnRUClLLYMqtxTegTcywu4w/Ix0VaVwxospwxQ/7ezsfNnnpmug5boQWW/U/lhKwz3CYpxxZd9YvLuBNH3rcS1+d0CMeANQ9X7VeYI1LGc/duwBFqjwb2K8lxQDxBwpeAH5kBIW0LGH1Bj4t9coGaJ1AMzLpOxPBNcFy9i3AzIQ+ImjqMm5bS7aDxRMxnAH+ao4ZCGepMMYbdxmTdUrUdvaSpJrc9LdLinbik40ROLiTDzVw6C/iyGHlXytcrcKWbO7sYNB4si4C/UNHzQo5ksc1/Hix3TTdYWgUYfTGvyoZfgmtiGwvcLC9tzsYxh98tYLtY1NLFuDTEvi4ETarmen8WF9wsB/YpC2T4U5Ha/4oLhk47WFoJGB2n2SPG8Coxbo+q53Rftbdrrpc4zPcFZEtF0myT9+oW0HiwLBA1dK4cqOIUXYzedR4FPi+e5owN9yjQ+gJm367yoPy8Rg23sLx5VQnyrReAPSX2zGkiffbgeN+mtR10Fg3cFcBfiYc4ElBDtumvKiprF/D3InkLM5l/KzA7Ve/+gp/HEUKvwUV1y4E6j0Sk0JAE+Q4KaIbE1inK+2QdKG00he16kSwrRLKUArZKYlRQr3hBn8NRgMz42KCkTcRwP64q75cFAG8HMt0Y3tlUzTl4FkdJusu8bzsH5PTGf4jJDouJAFV8ZmqlF4rH+BXggVZec9JGuhuRILdIkKpqioRSQ0Hv/25cYg5l3ICoO1WAL2kz4NjPtBr4qMSbjuaQA2myg4JIlefEE9rR6qq7pE1v5AbcXMlTRTxPmGKhzACoqgZavYwb6LApYCNkbaB6EJf5Zlw2PlXGLYGRe17izBN77bti/82KJE3aNBTuJ6TcKGrqVPECKmZCWWJsHe8x1HC5qfvEJbcb14oTmQZYFpaK13edOQyFHIrVHrkPR8RLvCNA88FcBkxITQ3hSjuvlpvsjeCqmn1gp6HUFMvk67hM7U9MAi6ZRlqvJIfmFMWFcyMuXzYo4NeSLwkM6PDD4zfh8ms728E+a2dX1KqpflzE9924Imiv16s55H+Z4vr1Kf4nxTXfios615v0mjVAs5HHGlrAVQyuw01YWyPu74iAvahUjv78RVGth8T7uZ9JUqWWdwh0GmDygJPiclJX4iLGS0WqjJk5kzqm4w3lHtmUQxKz2IojF9gt7vqJntxBXMb9TAHHueIe+xRI1Uyws+SPvqx1K25m5mMK0G0BFDqwhSPk9SzCpQrepcbleJE9UWcWoiWOHsalGg6KvfCWqK+ymbNQEmk1H1cgtkj+5wL5fpBJMoKyUZso761PhQf2itR7UuJJtXYECh3e8xMyKJeIW36RuOWnyAaPq1OOIZNODeVaSXU9VExWfVyRCJSU218xHlhmvLiSAERPFXlTjPGnxasr5xj+bVvRRQdXpIUIiXpwpQGr1GOF4qXRveAV83M1MOLHzqVMFUhKAeoTPcZnTADyslKBuzie67gjps91U/VaEhhyoTdkmYBGPxbI6R+Qr5pzpaQyvjUFlAml7jIlsQ7j+P/2iTrbi8t1van4hpklFz8CpkHwJDlznvTrBsQDG5SvJQWikvG4quISj4mKGselMUbFAyo3oEY7CiBzBTCNgGimNi7N6Q7tqqp0Ys9ybichU3QS1psZHVdcccUVV1xxxRVXXHF12vp/+YodbItbmQ0AAAAASUVORK5CYII=") center/contain no-repeat;
}
/* Logo yazısı düz renk: geçiş, doku ve animasyon yok */
.login-logo { color:var(--text); }
.login-logo span { color:var(--accent); }
.login-logo::before { color:rgba(0,0,0,.16); text-shadow:0 1px 0 rgba(0,0,0,.12), 0 2px 4px rgba(0,0,0,.14); }
.login-sub { color:#86868b; }
.login-field label { color:#3a3a3c; }
.login-input { color:#1d1d1f; border-color:rgba(0,0,0,.11); background:#fff; }
.login-input:focus { border-color:#0071e3; background:#fff; box-shadow:0 0 0 3px rgba(0,113,227,.12); }
.login-foot { color:#86868b; }

/* Form consistency and professional iconography */
input[type=email] {
  width:100%;
  min-height:44px;
  padding:10px 12px;
  border:1px solid rgba(0,0,0,.1);
  border-radius:var(--radius-sm);
  font:14px inherit;
  outline:none;
  transition:border-color .18s ease,box-shadow .18s ease,background .18s ease;
}
/* Giriş kutuları ikonun yanından başlar. Kural tür tür yazıldığı için hesap
   isteği formundaki ad alanı (type=text) ikonun ÜSTÜNE biniyordu; kural artık
   kutunun kendisine bakıyor, yeni alan eklenince yeniden bozulmaz. */
.login-input-wrap .login-input,
.login-input[type=email],
.login-input[type=password] {
  width:100%;
  min-height:46px;
  padding:12px 14px 12px 42px;
}
.login-input-wrap .ico { left:14px; }
.ticket-form-card { width:100%; max-width:none; }

.title-icon {
  width:30px;
  height:30px;
  display:inline-grid;
  place-items:center;
  flex:0 0 auto;
  color:#0071e3;
  border-radius:9px;
  background:#eaf3ff;
}
.title-icon svg { width:16px; height:16px; stroke-width:1.8; }
.login-input-wrap .ico { width:16px; height:16px; color:#86868b; opacity:1; }
.login-input-wrap .ico svg { display:block; width:16px; height:16px; stroke-width:1.7; }


.ticket-form-card .form-group { margin-bottom:18px; }
.ticket-form-card input[type=text] {
  min-height:44px;
}
.ticket-form-card textarea { min-height:124px; }
.ticket-submit-btn {
  width:100%;
  min-height:58px;
  justify-content:center;
  gap:10px;
  margin-top:6px;
  border-radius:16px;
  font-size:15px;
  font-weight:750;
  box-shadow:0 12px 28px rgba(0,113,227,.2), inset 0 1px rgba(255,255,255,.25);
}
.ticket-submit-btn:hover { box-shadow:0 16px 36px rgba(0,113,227,.26), inset 0 1px rgba(255,255,255,.35); }
.ticket-submit-btn .ticket-submit-copy { display:flex; flex-direction:column; align-items:flex-start; line-height:1.1; }
.cat-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:9px;
  margin-top:7px;
}
.cat-pill {
  min-width:0;
  min-height:44px;
  display:flex;
  align-items:center;
  gap:10px;
  padding:10px 12px;
  border-width:1px;
  border-radius:12px;
  font-size:13px;
  font-weight:560;
  line-height:1.25;
  text-align:left;
}
.cat-pill svg { width:18px; height:18px; flex:0 0 auto; color:#6e6e73; stroke-width:1.7; }
.cat-pill:hover svg,.cat-pill.selected svg { color:#0071e3; }
.cat-pill.selected::after {
  content:"";
  width:6px;
  height:6px;
  margin-left:auto;
  flex:0 0 auto;
  border-radius:50%;
  background:#0071e3;
}

/* NEW TICKET — refined header & sender */
.tk-form-head { display:flex; align-items:flex-start; gap:15px; margin-bottom:24px; padding-bottom:20px; border-bottom:1px solid var(--border); }
.tk-form-head .title-icon { width:42px; height:42px; border-radius:13px; flex:0 0 auto; }
.tk-form-head .title-icon svg { width:21px; height:21px; }
.tk-form-head-txt { min-width:0; }
.tk-form-kicker { font-size:11px; font-weight:700; letter-spacing:.13em; text-transform:uppercase; color:var(--accent); }
.tk-form-title { margin:4px 0 0; font-size:21px; font-weight:700; letter-spacing:-.01em; color:var(--text); }
.tk-form-sub { margin:7px 0 0; font-size:13px; line-height:1.55; color:var(--muted); max-width:580px; }

.tk-sender { display:flex; align-items:center; gap:11px; min-height:44px; padding:6px 12px; border:1px solid var(--border); border-radius:var(--radius-sm); background:var(--bg); }
.tk-sender .tk-avatar { width:30px; height:30px; font-size:12px; box-shadow:0 2px 6px rgba(0,0,0,.14); }
.tk-sender-txt { display:flex; flex-direction:column; line-height:1.25; min-width:0; }
.tk-sender-name { font-size:13.5px; font-weight:600; color:var(--text); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.tk-sender-office { font-size:11.5px; color:var(--muted); }

/* NEW TICKET — akıllı sipariş arama çubuğu */
.tk-search { position:relative; }
/* backdrop-filter'lı kartlar (stat-card vb.) kendi stacking context'lerini kurup sonradan
   çizildikleri için öneri kutusunun üstüne biniyordu; odaklı arama hep üstte kalsın. */
.tk-search:focus-within { z-index:90; }
.tk-search-icon { position:absolute; left:14px; top:23px; transform:translateY(-50%); width:17px; height:17px; color:var(--muted); stroke-width:1.9; pointer-events:none; z-index:1; }
.ticket-form-card .tk-search input[type=text] { padding-left:40px; }
.ticket-order-add-row { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:start; gap:9px; }
.ticket-order-add-row .tk-search { min-width:0; }
.ticket-add-order-btn { min-height:44px; white-space:nowrap; }
.tk-search-results {
  display:none; position:absolute; left:0; right:0; top:calc(100% + 6px); z-index:60;
  max-height:292px; overflow-y:auto; padding:6px;          /* ~4 satır görünür, kalanı kaydırılır */
  border:1px solid var(--border); border-radius:14px; background:var(--surface-solid,var(--surface));
  box-shadow:0 18px 46px rgba(0,0,0,.24);
}
/* Dashboard akıllı arama çubuğu (hero ile istatistik kutuları arası) — ince tek satır */

.dash-search .dash-search-icon { position:absolute; left:14px; top:50%; transform:translateY(-50%); width:15px; height:15px; color:var(--muted); stroke-width:2; pointer-events:none; z-index:1; }
.dash-search .search-input { width:100%; min-height:38px; height:38px; padding-top:0; padding-bottom:0; padding-left:38px; border-radius:11px; font-size:13px; }
.dash-search .tk-search-results { max-height:380px; }
.dash-cust-item { display:flex; align-items:center; gap:11px; }
.dash-cust-item .tk-search-item-main { flex:1; min-width:0; }
.dash-cust-avatar {
  display:inline-flex; align-items:center; justify-content:center; flex:0 0 auto;
  width:32px; height:32px; border-radius:50%;
  background:var(--accent-soft); color:var(--accent);
  font-size:11px; font-weight:850; letter-spacing:.02em;
}
.tk-search-results::-webkit-scrollbar { width:9px; }
.tk-search-results::-webkit-scrollbar-thumb { background:rgba(127,127,127,.32); border-radius:7px; }
.tk-search-results.open { display:block; }
.tk-search-hint-row { padding:7px 10px 5px; font-size:10px; font-weight:750; letter-spacing:.08em; text-transform:uppercase; color:var(--muted); }
.tk-search-item {
  display:block; padding:9px 11px; border-radius:10px; cursor:pointer;
  transition:background .12s ease;
}
.tk-search-item-row { display:flex; align-items:center; gap:12px; }
.tk-search-item:hover, .tk-search-item.active { background:var(--accent-soft); }
.tk-search-item.active { box-shadow:inset 0 0 0 1px var(--accent); }
.tk-search-item-main { min-width:0; flex:1; }
/* Hover/odak detay önizleme: siparişler listesindeki aynı kart (photoOrderHoverDetailHTML) */

.tk-search-item.active .photo-order-hover {
  max-height:240px; opacity:1; margin-top:7px; padding:9px; border-width:1px; border-color:var(--border);
}

/* Aramada Tip ve Termin gereksiz: gizle → geriye Müşteri + Toplam, tek satır */

/* Sipariş çubuğu: müşteri aşaması ve seçili müşteri rozeti */
.tk-search-cust-item .tk-search-sip { font-weight:800; }
.tk-cust-chip-row { margin-top:7px; }
.tk-cust-chip {
  display:inline-flex; align-items:center; gap:7px; padding:4px 5px 4px 11px;
  border:1px solid var(--accent); border-radius:999px; background:var(--accent-soft);
  font-size:12px; font-weight:750; max-width:100%;
}
.tk-cust-chip b { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.tk-cust-chip button {
  display:flex; align-items:center; justify-content:center; width:18px; height:18px; padding:0;
  border:0; border-radius:50%; background:rgba(127,127,127,.2); color:inherit;
  font-size:13px; line-height:1; cursor:pointer;
}
.tk-cust-chip button:hover { background:rgba(127,127,127,.36); }
/* NEW TICKET — yeniden tasarım: iki sütunlu yerleşim + adım başlıkları + mention */
.tk-layout { display:grid; grid-template-columns:minmax(0,1fr) 360px; gap:20px; align-items:start; }
.tk-rail { position:sticky; top:128px; display:flex; flex-direction:column; gap:12px; min-width:0; }
.tk-rail-card { padding:15px 16px; }
.tk-rail-title { font-size:11px; font-weight:750; letter-spacing:.1em; text-transform:uppercase; color:var(--muted); margin-bottom:10px; }

/* Dar rayda "Otomatik ata" + ipucu alt alta dursun, sıkışmasın */
.tk-rail .ticket-assignment-head { flex-direction:column; align-items:flex-start; gap:7px; }
.tk-rail .ticket-auto-toggle { white-space:nowrap; }

@media (max-width: 1180px) {
  .tk-layout { grid-template-columns:1fr; }
  .tk-rail { position:static; }
}
.tk-step { display:flex; align-items:center; gap:9px; margin-bottom:8px; }
.tk-step label { margin:0; }
.tk-step-n {
  width:21px; height:21px; flex:0 0 auto; display:inline-grid; place-items:center;
  border-radius:7px; font-size:11px; font-weight:800;
  color:var(--accent); background:var(--accent-soft);
}
.ticket-selected-orders {    margin-top:9px; }
.ticket-selected-empty { color:var(--muted); font-size:11.5px; }

.ticket-draft-actions { display:grid; gap:8px; }
.ticket-cancel-edit { width:100%; justify-content:center; }
.ticket-cart-card {
  display:flex; flex-direction:column; gap:15px; min-height:300px; padding:20px;
  border:1px solid color-mix(in srgb,var(--accent) 38%,var(--border));
  box-shadow:0 20px 50px rgba(0,113,227,.13),inset 0 1px rgba(255,255,255,.5);
  background:linear-gradient(150deg,color-mix(in srgb,var(--accent) 7%,var(--surface)) 0%,var(--surface) 48%);
  overflow:hidden;
}
.ticket-cart-head { display:flex; align-items:flex-start; justify-content:space-between; gap:10px; }
.ticket-cart-title-wrap { display:flex; align-items:center; gap:12px; min-width:0; }
.ticket-cart-head .tk-rail-title { margin-bottom:5px; color:var(--text); font-size:14px; letter-spacing:.07em; }
.ticket-cart-meta { color:var(--accent); font-size:12px; font-weight:750; }
.ticket-cart-list { min-height:150px; max-height:420px; display:grid; align-content:start; gap:9px; overflow-y:auto; }
.ticket-cart-empty { min-height:150px; display:grid; place-items:center; padding:22px; border:1.5px dashed color-mix(in srgb,var(--accent) 28%,var(--border)); border-radius:16px; color:var(--muted); background:rgba(0,113,227,.025); font-size:12.5px; line-height:1.6; text-align:center; }
.ticket-cart-item { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:start; gap:10px; padding:13px; border:1px solid color-mix(in srgb,var(--accent) 18%,var(--border)); border-radius:14px; background:var(--bg); }
.ticket-cart-item.is-editing { border-color:var(--accent); background:var(--accent-soft); box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 15%,transparent); }
.ticket-cart-item-main { min-width:0; }
.ticket-cart-item-main strong,.ticket-cart-item-main span,.ticket-cart-item-main small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.ticket-cart-item-main strong { color:var(--text); font-size:13px; }
.ticket-cart-item-main span { margin-top:4px; color:var(--accent); font-size:11px; font-weight:700; }
.ticket-cart-item-main small { margin-top:5px; color:var(--muted); font-size:11px; }
.ticket-cart-item-actions { display:flex; flex-direction:column; gap:5px; }
.ticket-cart-item-actions button { min-height:27px; padding:4px 7px; border:1px solid var(--border); border-radius:8px; background:var(--surface); color:var(--muted); font:650 9.5px inherit; cursor:pointer; }
.ticket-cart-item-actions .ticket-cart-edit:hover { border-color:var(--accent); color:var(--accent); }
.ticket-cart-item-actions .ticket-cart-remove:hover { border-color:rgba(215,0,21,.25); color:#d70015; background:rgba(215,0,21,.07); }
.ticket-cart-send { width:100%; min-height:54px; justify-content:center; gap:9px; border-radius:15px; font-size:14px; font-weight:800; }

.ticket-cart-send:not(:disabled) { box-shadow:0 12px 28px rgba(0,113,227,.25); }
@keyframes ticketCartItemIn { from { opacity:0; transform:translateY(4px); } to { opacity:1; transform:none; } }
.ticket-cart-item.is-fresh { animation:ticketCartItemIn .18s ease; }
.ticket-cart-send-modal { width:min(620px,94vw); }
.ticket-cart-send-modal > p { color:var(--muted); font-size:12px; line-height:1.45; }
.ticket-cart-send-list { max-height:min(55vh,480px); display:grid; gap:9px; margin:14px 0 18px; padding-right:3px; overflow-y:auto; }
.ticket-cart-send-group { padding:13px; border:1px solid var(--border); border-radius:14px; background:var(--bg); }
.ticket-cart-send-head { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.ticket-cart-send-head strong { color:var(--text); font-size:13px; }
.ticket-cart-send-head > span { color:var(--accent); font-size:11px; font-weight:700; }
.ticket-cart-send-sips { display:flex; flex-wrap:wrap; gap:5px; margin-top:9px; }
.ticket-cart-send-group p { margin:9px 0 0; color:var(--text); font-size:11.5px; line-height:1.5; }

@keyframes ticketJustSent {
  0%,100% { transform:none; box-shadow:var(--ticket-card-shadow,0 8px 24px rgba(0,0,0,.08)); }
  50% { box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 22%,transparent); }
}
@media (prefers-reduced-motion:reduce) {
  .ticket-cart-item { animation:none !important; }
}

@media (max-width:760px) {
  .ticket-order-add-row { grid-template-columns:1fr; }
  .ticket-add-order-btn { width:100%; justify-content:center; }
}

/* ================================================================
   NAVIGATION DOCK 3.0
   Sakin dock: yalnız AKTİF sekme yazısını gösterir, hover'da menü
   zıplamaz. Aktif zemin ".nav-glider" ile sekmeden sekmeye süzülür,
   pasif ikonlar gecikmeli yumuşak bir tooltip ile isimlenir.
   Tüm hareket transform/opacity üzerindendir (eski GPU dostu).
   ================================================================ */
@media (hover:hover) and (min-width:781px) {
  .nav {
    top:78px;
    width:max-content;
    max-width:calc(100vw - 40px);
    min-height:52px;
    margin:10px auto 4px;
    padding:5px;
    gap:3px;
    overflow:visible;
    isolation:isolate;
    border:1px solid rgba(0,0,0,.08);
    border-radius:17px;
    background:rgba(248,248,250,.78);
    box-shadow:0 1px 0 rgba(255,255,255,.82) inset,
               0 12px 36px rgba(15,23,42,.1),
               0 2px 8px rgba(15,23,42,.06);
    backdrop-filter:saturate(180%) blur(26px);
    -webkit-backdrop-filter:saturate(180%) blur(26px);
  }

  .nav-side {
    display:contents;
  }

  #nav-dashboard {
    margin-right:5px;
  }

  #nav-dashboard::before {
    content:"";
    position:absolute;
    top:9px;
    right:-5px;
    bottom:9px;
    left:auto;
    width:1px;
    height:auto;
    border-radius:1px;
    background:rgba(0,0,0,.09);
    box-shadow:none;
  }

  /* Aktif sekmenin arkasında süzülen zemin. Konumu/geometrisi JS
     (core.js → initDockGlider) tarafından rAF ile sürülür; CSS yalnız
     görünümünü ve görünürlük geçişini tanımlar. */
  .nav-glider {
    position:absolute;
    top:0; left:0;
    z-index:0;
    width:0; height:0;
    box-sizing:border-box;
    opacity:0;
    border:1px solid rgba(0,113,227,.14);
    border-radius:12px;
    background:linear-gradient(145deg,rgba(255,255,255,.96),rgba(234,243,255,.9));
    box-shadow:0 7px 20px rgba(0,113,227,.1),
               0 1px 0 rgba(255,255,255,.92) inset;
    pointer-events:none;
    transition:opacity .22s ease;
    will-change:transform,width;
  }

  .nav-btn {
    position:relative;
    z-index:1;
    width:auto;
    min-width:44px;
    height:42px;
    flex:0 0 auto;
    flex-direction:row;
    justify-content:flex-start;
    gap:0;
    margin:0;
    padding:0 13px;
    overflow:visible;
    color:#77777d;
    border:1px solid transparent;
    border-radius:12px;
    background:transparent;
    text-align:left;
    transform:none;
    transition:min-width .42s cubic-bezier(.2,.8,.2,1),
               padding .42s cubic-bezier(.2,.8,.2,1),
               color .2s ease,
               background .2s ease,
               border-color .2s ease;
  }

  .nav-btn svg {
    width:18px;
    height:18px;
    flex:0 0 18px;
    transform:none;
    transition:transform .3s cubic-bezier(.2,.8,.2,1), color .2s ease;
  }

  .nav-btn > span:not(.nav-count) {
    max-width:0;
    max-height:20px;
    margin:0;
    opacity:0;
    overflow:hidden;
    color:inherit;
    white-space:nowrap;
    transform:translateX(-5px);
    transition:max-width .42s cubic-bezier(.2,.8,.2,1),
               margin-left .42s cubic-bezier(.2,.8,.2,1),
               opacity .2s ease,
               transform .35s cubic-bezier(.2,.8,.2,1);
  }

  /* Yazı yalnız aktif sekmede açılır; hover komşuları itip menüyü
     oynatmaz. Pasif sekmelerin adı tooltip'ten okunur. */
  .nav-btn.active {
    min-width:112px;
    padding-right:14px;
  }

  .nav-btn.active > span:not(.nav-count) {
    max-width:94px;
    margin-left:9px;
    opacity:1;
    transform:translateX(0);
  }

  .nav-btn:hover,
  .nav-btn:focus-visible {
    color:#1d1d1f;
    background:rgba(0,0,0,.045);
    outline:none;
  }

  .nav-btn:not(.active):hover svg,
  .nav-btn:not(.active):focus-visible svg {
    transform:translateY(-1px) scale(1.14);
  }

  .nav-btn.active {
    color:#0a68c7;
    border-color:rgba(0,113,227,.14);
    background:linear-gradient(145deg,rgba(255,255,255,.96),rgba(234,243,255,.9));
    box-shadow:0 7px 20px rgba(0,113,227,.1),
               0 1px 0 rgba(255,255,255,.92) inset;
  }

  /* Glider devredeyken zemini o çizer; butonun kendi zemini kapanır. */
  .nav.dock-glide .nav-btn.active {
    border-color:transparent;
    background:transparent;
    box-shadow:none;
  }

  /* Aktif olan sekmenin ikonu tek seferlik minik bir "pop" yapar. */
  @keyframes dockIconPop {
    0% { transform:scale(1); }
    45% { transform:scale(1.18); }
    100% { transform:scale(1); }
  }
  .nav-btn.active svg { animation:dockIconPop .45s cubic-bezier(.2,.8,.2,1); }

  /* Pasif sekme tooltip'i: dock'un altında, gecikmeli ve yumuşak. */
  .nav-btn[data-label]::after {
    content:attr(data-label);
    position:absolute;
    top:calc(100% + 13px);
    left:50%;
    padding:6px 11px;
    color:#f5f5f7;
    border:1px solid rgba(255,255,255,.09);
    border-radius:9px;
    background:rgba(28,28,30,.94);
    box-shadow:0 12px 30px rgba(0,0,0,.28);
    font-size:11px;
    font-weight:650;
    letter-spacing:.01em;
    white-space:nowrap;
    opacity:0;
    transform:translate(-50%,-6px) scale(.94);
    transform-origin:top center;
    pointer-events:none;
    z-index:6;
    transition:opacity .16s ease, transform .24s cubic-bezier(.2,.8,.2,1);
  }

  .nav-btn[data-label]:not(.active):hover::after,
  .nav-btn[data-label]:not(.active):focus-visible::after {
    opacity:1;
    transform:translate(-50%,0) scale(1);
    transition-delay:.3s;
  }

  .nav-pinned.active::before {
    top:9px;
    right:-5px;
    bottom:9px;
    left:auto;
    width:1px;
    height:auto;
    background:rgba(0,0,0,.09);
    box-shadow:none;
  }

  .nav-btn > .nav-count,
  .nav:hover .nav-btn > .nav-count {
    top:3px;
    left:26px;
    right:auto;
    width:17px;
    min-width:17px;
    height:17px;
    padding:0 4px;
    overflow:visible;
    font-size:8px;
    line-height:17px;
    border:2px solid rgba(248,248,250,.95);
    box-sizing:border-box;
    transition:transform .25s ease, border-color .2s ease;
  }

  .nav-btn:hover > .nav-count,
  .nav-btn:focus-visible > .nav-count {
    transform:translateY(-1px) scale(1.06);
  }

  html[data-theme="dark"] #nav-dashboard::before,
  html[data-theme="dark"] .nav-pinned.active::before {
    background:rgba(255,255,255,.11);
  }

  html[data-theme="dark"] .nav-btn {
    color:#98989d;
  }

  html[data-theme="dark"] .nav-glider,
  html[data-theme="dark"] .nav-btn.active {
    border-color:rgba(10,132,255,.32);
    background:linear-gradient(145deg,rgba(10,132,255,.27),rgba(10,132,255,.13));
    box-shadow:0 9px 24px rgba(0,83,180,.2), 0 1px 0 rgba(255,255,255,.08) inset;
  }

  html[data-theme="dark"] .nav.dock-glide .nav-btn.active {
    border-color:transparent;
    background:transparent;
    box-shadow:none;
  }

  html[data-theme="dark"] .nav-btn[data-label]::after {
    color:#1d1d1f;
    border-color:rgba(0,0,0,.06);
    background:rgba(245,245,247,.97);
    box-shadow:0 12px 30px rgba(0,0,0,.45);
  }

  html[data-theme="dark"] .nav-btn > .nav-count,
  html[data-theme="dark"] .nav:hover .nav-btn > .nav-count {
    border-color:rgba(24,24,27,.96);
  }
}

@media (prefers-reduced-motion:reduce) {
  .nav,
  .nav-btn,
  .nav-btn svg,
  .nav-btn > span,
  .nav-btn > .nav-count,
  .nav-btn[data-label]::after,
  .nav-glider {
    transition-duration:.01ms !important;
    animation:none !important;
  }
}
/* Mesaj alanı: mention menüsü için konum + alt bilgi satırı */
.ticket-message-compose { display:grid; grid-template-columns:minmax(0,1fr) 248px; align-items:stretch; gap:12px; }
.tk-msg-editor { min-width:0; display:flex; flex-direction:column; }
.tk-msg-wrap { position:relative; display:flex; flex:1; }
.tk-msg-wrap textarea { width:100%; min-height:194px; flex:1; }
.tk-msg-wrap .mention-menu { top:auto; bottom:calc(100% + 5px); }
.tk-msg-foot { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-top:6px; }
.tk-msg-hint { font-size:11.5px; color:var(--muted); }
.tk-msg-hint b { font-weight:700; color:var(--text); opacity:.75; }
.tk-msg-count { font-size:11px; font-variant-numeric:tabular-nums; color:var(--muted); }
.ticket-mention-picker {
  min-width:0;
  min-height:194px;
  display:flex;
  flex-direction:column;
  padding:11px;
  border:1px solid color-mix(in srgb,var(--accent) 18%,var(--border));
  border-radius:15px;
  background:linear-gradient(155deg,color-mix(in srgb,var(--accent) 5%,var(--surface-solid,#fff)),var(--surface-solid,#fff));
  box-shadow:inset 0 1px rgba(255,255,255,.7);
}
.ticket-mention-picker>header { display:flex; align-items:center; gap:9px; padding:1px 1px 9px; }
.ticket-mention-picker-icon { width:28px; height:28px; display:grid; place-items:center; flex:0 0 28px; border-radius:9px; background:var(--accent); color:#fff; font-size:15px; font-weight:850; box-shadow:0 6px 14px color-mix(in srgb,var(--accent) 22%,transparent); }
.ticket-mention-picker>header>div { min-width:0; display:grid; gap:1px; }
.ticket-mention-picker>header strong { color:var(--text); font-size:11.5px; }
.ticket-mention-picker>header small { color:var(--muted); font-size:8.5px; }
.ticket-mention-search { height:34px; display:flex; align-items:center; gap:7px; padding:0 9px; border:1px solid var(--border); border-radius:10px; background:var(--surface-solid,#fff); transition:border-color .18s ease,box-shadow .18s ease; }
.ticket-mention-search:focus-within { border-color:var(--accent); box-shadow:0 0 0 3px var(--accent-soft); }
.ticket-mention-search>span { color:var(--accent); font-size:11px; font-weight:850; }
.ticket-mention-search input { min-width:0; width:100%; height:100%; padding:0; border:0; outline:0; background:transparent; color:var(--text); font:650 10.5px inherit; box-shadow:none; }
.ticket-mention-search input:focus,.ticket-mention-search input:hover { border:0; box-shadow:none; }
.ticket-mention-people { min-height:0; max-height:145px; display:grid; align-content:start; gap:4px; overflow:auto; margin-top:7px; padding-right:2px; scrollbar-width:thin; }
.ticket-mention-person { width:100%; min-width:0; display:grid; grid-template-columns:29px minmax(0,1fr) 22px; align-items:center; gap:8px; padding:6px; border:1px solid transparent; border-radius:10px; background:transparent; color:var(--text); text-align:left; cursor:pointer; transition:border-color .16s ease,background .16s ease,transform .16s ease; }
.ticket-mention-person:hover,.ticket-mention-person:focus-visible { border-color:color-mix(in srgb,var(--accent) 25%,var(--border)); background:var(--accent-soft); outline:0; transform:translateX(2px); }
.ticket-mention-person.is-mentioned { border-color:color-mix(in srgb,var(--accent) 32%,var(--border)); background:color-mix(in srgb,var(--accent) 10%,transparent); }
.ticket-mention-avatar { width:29px; height:29px; display:grid; place-items:center; border-radius:9px; color:#fff; font-size:8.5px; font-weight:850; box-shadow:inset 0 0 0 1px rgba(255,255,255,.24); }
.ticket-mention-name { min-width:0; display:grid; gap:1px; }
.ticket-mention-name strong,.ticket-mention-name small { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.ticket-mention-name strong { font-size:9.5px; }
.ticket-mention-name small { color:var(--muted); font-size:7.5px; }
.ticket-mention-state { width:20px; height:20px; display:grid; place-items:center; border-radius:7px; background:color-mix(in srgb,var(--muted) 8%,transparent); color:var(--muted); font-size:12px; font-weight:850; }
.ticket-mention-person.is-mentioned .ticket-mention-state { background:var(--accent); color:#fff; }
.ticket-mention-empty { min-height:62px; display:grid; place-items:center; padding:10px; color:var(--muted); font-size:9px; line-height:1.4; text-align:center; }
html[data-theme="dark"] .ticket-mention-picker { background:linear-gradient(155deg,color-mix(in srgb,var(--accent) 8%,#242426),#202023); box-shadow:inset 0 1px rgba(255,255,255,.04); }
html[data-theme="dark"] .ticket-mention-search { background:#242426; }
@media(max-width:820px) {
  .ticket-message-compose { grid-template-columns:1fr; }
  .ticket-mention-picker { min-height:0; }
  .ticket-mention-people { max-height:174px; grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:520px) { .ticket-mention-people { grid-template-columns:1fr; } }

.tk-search-item-top { display:flex; align-items:center; gap:9px; flex-wrap:wrap; }
.tk-search-sip { font-size:13px; font-weight:750; color:var(--text); letter-spacing:.01em; white-space:nowrap; }
.tk-search-cust { font-size:11px; font-weight:700; color:var(--accent); padding:1px 8px; border-radius:999px; background:var(--accent-soft); white-space:nowrap; max-width:230px; overflow:hidden; text-overflow:ellipsis; }
.tk-search-item-sub { margin-top:3px; font-size:11.5px; color:var(--muted); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.tk-search-fabric { color:var(--accent); font-weight:650; }
.tk-search-go { flex:0 0 auto; width:22px; height:22px; display:grid; place-items:center; color:var(--muted); opacity:.65; }
.tk-search-go svg { width:16px; height:16px; stroke-width:2; }
.tk-search-remove { flex:0 0 auto; width:24px; height:24px; display:grid; place-items:center; padding:0; border:0; border-radius:7px; background:transparent; color:var(--muted); cursor:pointer; }
.tk-search-remove svg { width:14px; height:14px; stroke-width:2; }
.tk-search-remove:hover { background:color-mix(in srgb,var(--text) 10%,transparent); color:var(--text); }
.tk-search-recent-head { display:flex; align-items:center; justify-content:space-between; gap:8px; }
.tk-search-recent-clear { padding:2px 6px; border:0; border-radius:6px; background:transparent; color:var(--accent); font-family:var(--font); font-size:11px; font-weight:600; letter-spacing:0; text-transform:none; cursor:pointer; }
.tk-search-recent-clear:hover { background:color-mix(in srgb,var(--accent) 9%,transparent); }
.tk-search-empty { padding:15px 12px; text-align:center; font-size:12.5px; color:var(--muted); line-height:1.5; }
/* Bursa RPT alanı: akıllı arama satır içinde büyür, ikon ortalı, hint küçük */

/* NEW TICKET — kategori "düzenle" pill'i + kategori yöneticisi modal */

.cat-mgr-overlay { position:fixed; inset:0; z-index:400; align-items:center; justify-content:center; padding:20px; background:rgba(0,0,0,.5); backdrop-filter:blur(3px); }
.cat-mgr-modal { width:min(720px,100%); max-height:88vh; display:flex; flex-direction:column; border:1px solid var(--border); border-radius:18px; background:var(--surface); box-shadow:0 30px 80px rgba(0,0,0,.4); overflow:hidden; }
.cat-mgr-head { display:flex; align-items:flex-start; gap:14px; padding:20px 22px; border-bottom:1px solid var(--border); }
.cat-mgr-head > div { flex:1; min-width:0; }
.cat-mgr-kicker { font-size:10.5px; font-weight:750; letter-spacing:.12em; text-transform:uppercase; color:var(--accent); }
.cat-mgr-title { margin:4px 0 0; font-size:19px; font-weight:740; color:var(--text); }
.cat-mgr-sub { margin:7px 0 0; font-size:12.5px; line-height:1.5; color:var(--muted); }
.cat-mgr-close { flex:0 0 auto; width:34px; height:34px; border:1px solid var(--border); border-radius:10px; background:var(--bg); color:var(--muted); font-size:20px; line-height:1; cursor:pointer; }
.cat-mgr-close:hover { color:var(--text); }
.cat-mgr-list { flex:1; overflow-y:auto; padding:14px 18px; display:flex; flex-direction:column; gap:10px; }

.cat-mgr-input { width:100%; padding:8px 11px; border:1px solid var(--border); border-radius:9px; background:var(--surface); color:var(--text); font:600 13px inherit; }

.cat-mgr-template { min-height:58px; resize:vertical; font-weight:500; font-size:12px; line-height:1.45; color:var(--text); }

.cat-mgr-colors { display:flex; flex-wrap:wrap; gap:6px; }
.cat-color-opt { width:21px; height:21px; padding:0; border-radius:50%; border:2px solid transparent; background:var(--c); cursor:pointer; box-shadow:0 0 0 1px var(--border); transition:transform .12s ease; }
.cat-color-opt:hover { transform:scale(1.14); }
.cat-color-opt.active { border-color:var(--surface); box-shadow:0 0 0 2px var(--c); }
.cat-icon-opt { width:38px; height:38px; display:grid; place-items:center; border:1px solid var(--border); border-radius:9px; background:var(--bg); color:var(--muted); cursor:pointer; padding:0; }
.cat-icon-opt svg { width:19px; height:19px; stroke-width:1.7; }
.cat-icon-opt:hover { color:var(--accent); border-color:var(--accent); }
.cat-icon-opt.active { color:var(--accent); border-color:var(--accent); background:var(--accent-soft); box-shadow:inset 0 0 0 1px var(--accent); }
.cat-mgr-foot { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:14px 18px; border-top:1px solid var(--border); background:var(--bg); flex-wrap:wrap; }
.cat-mgr-foot-right { display:flex; gap:9px; }

/* Admin layout */
#page-admin { max-width:1380px; }

.admin-layout { width:100%; display:grid; gap:16px; }

.admin-panel { min-width:0; margin-bottom:0 !important; }
.admin-panel .card-title { margin-bottom:6px; }
.admin-panel-head { display:flex; justify-content:space-between; align-items:flex-start; gap:14px; margin-bottom:16px; }
.admin-panel-head .card-title { margin-bottom:4px; }
.admin-panel-meta { color:#86868b; font-size:11px; font-weight:650; white-space:nowrap; }
.admin-ai-usage-card { overflow:hidden; }
.admin-ai-usage-actions { display:flex; align-items:center; gap:10px; }
.admin-ai-usage-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; }
.admin-ai-usage-stat {
  min-width:0;
  padding:16px;
  border:1px solid rgba(0,0,0,.065);
  border-radius:16px;
  background:rgba(0,113,227,.035);
}
.admin-ai-usage-stat span {
  display:block;
  color:#86868b;
  font-size:9.5px;
  font-weight:750;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.admin-ai-usage-stat strong {
  display:block;
  margin-top:9px;
  color:#1d1d1f;
  font-size:25px;
  font-weight:680;
  letter-spacing:-.04em;
  font-variant-numeric:tabular-nums;
}
.admin-ai-usage-stat small { display:block; margin-top:6px; color:#86868b; font-size:10.5px; line-height:1.35; }
.admin-ai-budget { margin-top:14px; padding:14px 16px; border:1px solid rgba(0,0,0,.06); border-radius:16px; }
.admin-ai-budget-copy { display:flex; justify-content:space-between; gap:16px; color:#6e6e73; font-size:11px; font-weight:650; }
.admin-ai-budget-copy strong { color:#1d1d1f; font-variant-numeric:tabular-nums; }
.admin-ai-budget-track { height:8px; margin-top:10px; overflow:hidden; border-radius:999px; background:rgba(0,0,0,.07); }
.admin-ai-budget-track span { display:block; height:100%; border-radius:inherit; background:#30b568; transition:width .25s ease; }

.admin-ai-budget p { margin:9px 0 0; color:#86868b; font-size:10.5px; line-height:1.45; }
.admin-ai-usage-empty { padding:28px; border:1px dashed rgba(0,0,0,.12); border-radius:16px; color:#86868b; font-size:12px; text-align:center; }
.admin-card-help { max-width:680px; margin-bottom:18px; color:#6e6e73; font-size:12px; line-height:1.5; }
.admin-inline-actions { display:flex; gap:10px; flex-wrap:wrap; }
.admin-access-card { grid-column:1 / -1; }

/* Grup rozeti: menüde bu satırın hangi başlık altında açıldığını söyler. */

/* Menünün alt bölümünde sabit duran satırlar: sıralama etkisi yok. */

/* Hesap istekleri: bekleyen rozetinin rengi "onay bekliyor" anlamını taşır. */
.role-badge.is-pending { border-color:rgba(217,154,18,.35); background:#fff8e6; color:#8a6100; }
.login-foot-note { display:block; margin-top:6px; opacity:.75; }
.login-foot-note a, .login-legal-note a { color:inherit; text-decoration:underline; text-underline-offset:2px; }
.login-foot-note a:hover, .login-legal-note a:hover { color:var(--accent,#1688f8); }
.login-legal-note { margin:2px 0 13px; color:var(--muted,#86868b); font-size:11px; line-height:1.5; text-align:center; }
.login-pending-copy { margin:0 0 16px; color:var(--muted,#86868b); font-size:12.5px; line-height:1.55; text-align:center; }

.nav-office-toggle.is-on { color:#006edb; border-color:rgba(0,113,227,.28); background:#eaf3ff; }
.nav-office-toggle.is-locked { opacity:.45; cursor:not-allowed; }

.nav-office-toggle.is-on .nav-office-dot { background:#0071e3; box-shadow:0 0 0 3px rgba(0,113,227,.1); }

#page-admin input[type=email],#page-admin input[type=text],#page-admin input[type=tel],#page-admin select { width:100%; min-height:44px; }
#page-admin input[type=checkbox] {
  width:18px !important;
  height:18px;
  margin:0;
  accent-color:#0071e3;
}
.admin-table-wrap { width:100%; overflow-x:auto; border-radius:14px; }
.admin-users-table {
  width:100%;
  min-width:960px;
  border-collapse:collapse;
  table-layout:fixed;
  font-size:13px;
}
.admin-users-table th {
  position:static;
  padding:11px 12px;
  color:#86868b;
  border-bottom:1px solid rgba(0,0,0,.07);
  background:#fafafa;
  font-size:10px;
  font-weight:650;
  letter-spacing:.08em;
  text-align:left;
  text-transform:uppercase;
}
.admin-users-table th:nth-child(1) { width:21%; }
.admin-users-table th:nth-child(2) { width:10%; }
.admin-users-table th:nth-child(3) { width:16%; }
.admin-users-table th:nth-child(4) { width:9%; }
.admin-users-table th:nth-child(5) { width:11%; }
.admin-users-table th:nth-child(6) { width:13%; }
.admin-users-table th:nth-child(7) { width:8%; }
.admin-users-table th:nth-child(8) { width:12%; }

.admin-users-table td {
  height:68px;
  padding:12px;
  color:#3a3a3c;
  border-bottom:1px solid rgba(0,0,0,.06);
  vertical-align:middle;
}
.admin-users-table tbody tr:hover { background:#fbfbfc; }
.admin-email-cell { overflow:hidden; }
.admin-email-cell > span:first-child {
  display:inline-block;
  max-width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
  vertical-align:middle;
  white-space:nowrap;
}

.office-pill { display:inline-flex; align-items:center; gap:7px; padding:5px 9px; white-space:nowrap; }
.office-status-dot { width:6px; height:6px; border-radius:50%; background:currentColor; opacity:.75; }
.role-badge {
  min-width:78px;
  min-height:32px;
  padding:6px 10px;
  color:#515154;
  border:1px solid rgba(0,0,0,.1);
  border-radius:9px;
  background:#fff;
  font:600 11px inherit;
  cursor:pointer;
  white-space:nowrap;
}
span.role-badge { display:inline-flex; align-items:center; justify-content:center; cursor:default; }
.role-badge.is-admin { color:#006edb; border-color:rgba(0,113,227,.14); background:#eaf3ff; }
.admin-actions-head { text-align:right !important; }
.admin-actions-cell { text-align:right; }
.admin-row-actions { display:flex; justify-content:flex-end; gap:7px; white-space:nowrap; }
.admin-row-actions .btn { min-height:32px; padding:6px 11px; }
.admin-remove-btn { color:#d70015; border:1px solid rgba(215,0,21,.13); background:#fff; }
.admin-remove-btn:hover { color:#fff; border-color:#d70015; background:#d70015; }

.whatsapp-senders-table { min-width:760px; table-layout:auto; }
.whatsapp-inbox-table { min-width:900px; }
.whatsapp-senders-table th:nth-child(1) { width:18%; }
.whatsapp-senders-table th:nth-child(2) { width:24%; }
.whatsapp-senders-table th:nth-child(3) { width:12%; }
.whatsapp-senders-table th:nth-child(4) { width:12%; }
.whatsapp-senders-table th:nth-child(5) { width:14%; }
.whatsapp-senders-table th:nth-child(6) { width:20%; }
.whatsapp-phone-main { color:var(--text); font-weight:700; font-variant-numeric:tabular-nums; white-space:nowrap; }
.whatsapp-phone-sub { margin-top:3px; color:var(--muted); font-size:11px; font-variant-numeric:tabular-nums; }
.whatsapp-provider-pill { display:inline-flex; align-items:center; min-height:24px; padding:3px 8px; border-radius:999px; color:#0f766e; background:rgba(20,184,166,.12); font-size:11px; font-weight:750; text-transform:uppercase; letter-spacing:.03em; }
.whatsapp-provider-pill.twilio { color:#b91c1c; background:rgba(239,68,68,.1); }
.whatsapp-provider-pill.other { color:#57534e; background:rgba(120,113,108,.12); }
.role-badge.is-off { color:#86868b; border-color:rgba(0,0,0,.08); background:#f5f5f7; }
/* Admin: kısmi tamamlanan siparişler raporu */

/* Tedarik / erken uyarı: sinyalden açılan sipariş detayındaki vurgu.
   Sayfanın kendi stili admin-refined.css "Tedarik · Erken Uyarı" bloğunda. */
@keyframes tedarikPulse {
  0%, 100% { box-shadow:0 0 0 0 rgba(220,38,38,0); }
  50% { box-shadow:0 0 0 7px rgba(220,38,38,.22); }
}
@keyframes tedarikPulseRef {
  0%, 100% { box-shadow:0 0 0 0 rgba(83,58,183,0); }
  50% { box-shadow:0 0 0 7px rgba(83,58,183,.22); }
}
.production-event.tedarik-focus, .production-metric.tedarik-focus {
  animation:tedarikPulse 1.5s ease-in-out 5;
  background:var(--danger-soft) !important;
  outline:2px solid rgba(220,38,38,.5); outline-offset:1px; border-radius:12px;
}
.production-event.tedarik-focus-ref {
  animation:tedarikPulseRef 1.5s ease-in-out 5;
  background:var(--istanbul-soft) !important;
  outline:2px solid rgba(83,58,183,.45); outline-offset:1px; border-radius:12px;
}
@media (prefers-reduced-motion: reduce) {
  .production-event.tedarik-focus, .production-metric.tedarik-focus, .production-event.tedarik-focus-ref { animation:none; }
}
.tedarik-focus-note { display:block; margin:0 0 12px; padding:11px 13px; border:1px solid rgba(220,38,38,.3); border-radius:12px; background:var(--danger-soft); color:var(--text); font-size:12.5px; line-height:1.5; }
html[data-theme="dark"] .tedarik-focus-note { background:rgba(220,38,38,.12); border-color:rgba(248,113,113,.35); color:#f5f5f7; }
html[data-theme="dark"] .production-event.tedarik-focus, html[data-theme="dark"] .production-metric.tedarik-focus { background:rgba(220,38,38,.14) !important; }
html[data-theme="dark"] .production-event.tedarik-focus-ref { background:rgba(139,124,255,.14) !important; }

html[data-theme="dark"] .admin-panel-meta { color:#98989d; }

html[data-theme="dark"] .admin-ai-usage-stat,
html[data-theme="dark"] .admin-ai-budget { border-color:rgba(255,255,255,.075); background:rgba(10,132,255,.055); }
html[data-theme="dark"] .admin-ai-usage-stat strong,
html[data-theme="dark"] .admin-ai-budget-copy strong { color:#f5f5f7; }
html[data-theme="dark"] .admin-ai-usage-stat span,
html[data-theme="dark"] .admin-ai-usage-stat small,
html[data-theme="dark"] .admin-ai-budget-copy,
html[data-theme="dark"] .admin-ai-budget p,
html[data-theme="dark"] .admin-ai-usage-empty { color:#98989d; }
html[data-theme="dark"] .admin-ai-budget-track { background:rgba(255,255,255,.09); }
html[data-theme="dark"] .admin-ai-usage-empty { border-color:rgba(255,255,255,.12); }
@media (max-width:1100px) {

  .admin-ai-usage-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:760px) {

  .admin-panel-head { flex-direction:column; }
  .admin-panel-meta { white-space:normal; }

  .admin-inline-actions { width:100%; }
  .admin-inline-actions .btn { flex:1; justify-content:center; }

  .admin-ai-usage-actions { width:100%; justify-content:space-between; }
  .admin-ai-usage-grid { grid-template-columns:1fr; }
  
}
.task-chip-grid { display:flex; flex-wrap:wrap; gap:7px; }
.task-chip {
  min-height:32px;
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:7px 10px;
  border:1px solid rgba(0,0,0,.1);
  border-radius:10px;
  background:#fff;
  color:#515154;
  font:600 11px inherit;
  cursor:pointer;
  user-select:none;
  transition:border-color .18s ease,background .18s ease,color .18s ease;
}
.task-chip:hover { color:#0071e3; border-color:rgba(0,113,227,.24); background:#f5f9ff; }
.task-chip.selected { color:#006edb; border-color:rgba(0,113,227,.34); background:#eaf3ff; }
.task-chip::before { content:""; width:6px; height:6px; border-radius:50%; background:#d2d2d7; }
.task-chip.selected::before { background:#0071e3; }

.ticket-task-note { display:inline-flex; align-items:center; gap:5px; color:#6e6e73; font-size:11px; font-weight:600; }
.ticket-task-note::before { content:""; width:6px; height:6px; border-radius:50%; background:#0071e3; }

.ticket-side-meta .ticket-author { font-size:12px; font-weight:650; }
.ticket-side-meta .ticket-task-note { font-size:12px; }

/* Orders table navigation */
.order-sort-controls {
  display:inline-flex;
  align-items:center;
  flex:0 0 auto;
  gap:6px;
}
.order-sort-controls select { width:auto; min-width:170px; min-height:42px; }
.order-sort-direction {
  min-height:42px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  padding:8px 11px;
  color:#515154;
  border:1px solid rgba(0,0,0,.1);
  border-radius:11px;
  background:#fff;
  font:600 11px inherit;
  white-space:nowrap;
  cursor:pointer;
  transition:border-color .18s ease,background .18s ease,color .18s ease;
}
.order-sort-direction:hover { color:#0071e3; border-color:rgba(0,113,227,.24); background:#f5f9ff; }
.order-sort-direction svg { width:16px; height:16px; stroke-width:1.7; }
.order-list-tabs {
  display:inline-flex;
  align-items:center;
  gap:4px;
  padding:4px;
  border:1px solid rgba(0,0,0,.085);
  border-radius:13px;
  background:#fff;
}
.order-list-tab {
  min-height:34px;
  padding:7px 12px;
  border:0;
  border-radius:10px;
  background:transparent;
  color:#6e6e73;
  font:700 12px inherit;
  white-space:nowrap;
  cursor:pointer;
}
.order-list-tab.active { color:#fff; background:#0071e3; box-shadow:0 5px 14px rgba(0,113,227,.2); }
#page-orders .table-wrap,
#page-past-orders .table-wrap {
  height:calc(100dvh - 205px);
  min-height:360px;
  overflow:auto;
  overscroll-behavior:contain;
  scrollbar-gutter:stable;
  -webkit-overflow-scrolling:touch;
}
#page-orders .table-wrap::-webkit-scrollbar,
#page-past-orders .table-wrap::-webkit-scrollbar { width:10px; height:10px; }
#page-orders .table-wrap::-webkit-scrollbar-thumb,
#page-past-orders .table-wrap::-webkit-scrollbar-thumb {
  border:3px solid transparent;
  border-radius:99px;
  background:rgba(0,0,0,.25);
  background-clip:padding-box;
}
.table-pan-controls {
  display:inline-flex;
  flex:0 0 auto;
  padding:3px;
  gap:2px;
  border:1px solid rgba(0,0,0,.085);
  border-radius:11px;
  background:#fff;
}
.table-pan-controls button {
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  padding:0;
  color:#515154;
  border:0;
  border-radius:8px;
  background:transparent;
  cursor:pointer;
  transition:color .18s ease,background .18s ease,transform .18s ease;
}
.table-pan-controls button:hover { color:#0071e3; background:#eef6ff; }
.table-pan-controls button:active { transform:scale(.94); }
.table-pan-controls svg { width:17px; height:17px; stroke-width:1.8; }
#ordersTable th:first-child,#ordersTable td:first-child,
#pastTable th:first-child,#pastTable td:first-child {
  position:sticky;
  left:0;
  z-index:2;
  background:#fff;
  box-shadow:1px 0 rgba(0,0,0,.055);
}
#ordersTable thead th:first-child,#pastTable thead th:first-child {
  z-index:4;
  background:#fafafa;
}
#ordersTable tbody tr:hover td:first-child,#pastTable tbody tr:hover td:first-child { background:#f8f8fa; }
.order-row { cursor:pointer; }
/* Sipariş listelerinde sayısal kolonları eşit genişlikte tutarak simetrik, profesyonel görünüm */
#ordersTable .num-cell, #pastTable .num-cell { min-width:96px; }
/* Açık siparişler listesinde gösterilen geçmiş (kapanmış) sipariş satırı */
.order-row-past td { background:rgba(148,163,184,.08); }
.order-row-past .firma-cell, .order-row-past .num-cell { color:var(--muted); }
/* Detay satırı yükseklik ALMAZ; panel overlay olarak alttaki satırların üzerine
   çizilir. Böylece açılıp kapanırken liste reflow olmaz (aşağı tararken zincirleme
   kayma sorununu çözer). */

/* Liste sağa kaydırılınca kart ayna simetrisinde: en soldaki kutucuk en sağa gelir,
   içerik sağa yaslanır ki alttaki siparişlerin FİYAT'ı kapanmasın. */
.order-table-hover-shell.is-mirror .photo-order-hover-grid { direction:rtl; }
.order-table-hover-shell.is-mirror .photo-order-hover-stat { direction:ltr; }

.past-flag-badge { display:inline-flex; align-items:center; margin-left:6px; padding:1px 7px; border-radius:999px;
  font-size:9.5px; font-weight:700; letter-spacing:.02em; text-transform:uppercase;
  background:rgba(245,158,11,.16); color:#b45309; white-space:nowrap; }
.open-flag-badge { background:rgba(34,197,94,.16); color:#15803d; }
html[data-theme="dark"] .order-row-past td { background:rgba(148,163,184,.06); }
html[data-theme="dark"] .past-flag-badge { background:rgba(245,158,11,.2); color:#fbbf24; }
html[data-theme="dark"] .open-flag-badge { background:rgba(34,197,94,.2); color:#4ade80; }
.order-row:focus-visible {
  position:relative;
  z-index:3;
  outline:2px solid #0071e3;
  outline-offset:-2px;
}
.order-row:focus-visible td { background:#f5f9ff; }
.order-row:focus-visible td:first-child { background:#f5f9ff !important; }

.corner-alert-stack {
  position:fixed;
  top:86px;
  right:20px;
  z-index:2147483000;
  width:min(350px,calc(100vw - 28px));
  display:flex;
  flex-direction:column;
  gap:9px;
  pointer-events:none;
}
/* Bkz. legacy-base.css .toast-container: bildirim top layer'a alınır. */
.corner-alert-stack[popover] { bottom:auto; left:auto; margin:0; padding:0; border:0; background:none; overflow:visible; max-width:none; height:auto; max-height:none; display:none; }
.corner-alert-stack[popover]:popover-open { display:flex; }
.corner-alert {
  position:relative;
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:start;
  gap:11px;
  padding:14px;
  color:var(--text);
  border:1px solid var(--border);
  border-radius:15px;
  background:color-mix(in srgb,var(--surface-solid) 94%,transparent);
  box-shadow:0 16px 45px rgba(0,0,0,.14);
  backdrop-filter:saturate(180%) blur(20px);
  -webkit-backdrop-filter:saturate(180%) blur(20px);
  pointer-events:auto;
  cursor:pointer;
  animation:cornerAlertIn .34s cubic-bezier(.2,.8,.2,1);
}
@keyframes cornerAlertIn { from { opacity:0; transform:translateX(18px) scale(.98); } }
.corner-alert.is-leaving { opacity:0; transform:translateX(16px); transition:opacity .22s ease,transform .22s ease; }
.corner-alert-icon {
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  color:#0071e3;
  border-radius:10px;
  background:#eaf3ff;
}
.corner-alert-icon svg { width:17px; height:17px; stroke-width:1.8; }
.corner-alert-copy { min-width:0; padding-top:1px; }
.corner-alert-title { color:var(--text); font-size:12px; font-weight:650; }
.corner-alert-message { margin-top:3px; overflow:hidden; color:var(--muted); font-size:11px; line-height:1.4; text-overflow:ellipsis; white-space:nowrap; }
.corner-alert-meta { margin-top:5px; color:var(--muted); font-size:10px; }
.corner-alert-close {
  width:25px;
  height:25px;
  display:grid;
  place-items:center;
  margin:-4px -4px 0 0;
  padding:0;
  color:var(--muted);
  border:0;
  border-radius:7px;
  background:transparent;
  cursor:pointer;
}
.corner-alert-close:hover { color:var(--text); background:var(--desk-soft); }
.corner-alert-close svg { width:13px; height:13px; }
.corner-alert-reminder { border-color:rgba(245,158,11,.35); box-shadow:0 16px 45px rgba(180,83,9,.18); }
.corner-alert-reminder .corner-alert-icon { color:#b45309; background:#fef3c7; }
.corner-alert-reminder .corner-alert-title { color:#92400e; }

@media (max-width:980px) {
  .cat-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (max-width:760px) {
  .topbar { height:62px; padding:0 14px; }
  .nav { position:fixed; top:auto; bottom:0; height:auto; align-items:center; background:rgba(250,250,252,.92); border-color:rgba(0,0,0,.08); }
  .nav-btn { color:#86868b; }
  .nav-btn.active { color:#0071e3; background:transparent; box-shadow:none; }
  .dashboard-hero { min-height:220px; padding:26px 23px; }
  .dashboard-hero h1 { font-size:32px; }
  
  .page { padding-top:22px; }
  .ticket-form-card { max-width:none; }
  .cat-grid { grid-template-columns:1fr; }

  .admin-layout > .card:not(:last-child) { max-width:none; }
  .admin-users-table { min-width:680px; }
  #page-orders .table-wrap,#page-past-orders .table-wrap { height:calc(100dvh - 190px); min-height:330px; }
  .table-pan-controls { margin-left:auto; }
  .order-sort-controls { width:100%; }
  .order-sort-controls select { flex:1; min-width:0; }

  .corner-alert-stack { top:72px; right:14px; }
  
  .profile-panel { top:66px; left:14px; right:14px; width:auto; }
}

/* Dark mode */

html[data-theme="dark"] { color-scheme:dark; }

html[data-theme="dark"] body {
  --bg:#111214;
  --surface:rgba(28,28,30,.88);
  --surface-solid:#1c1c1e;
  --surface-raised:#242426;
  --border:rgba(255,255,255,.09);
  --border-bright:rgba(255,255,255,.15);
  --text:#f5f5f7;
  --muted:#98989d;
  --accent:#0a84ff;
  --accent-soft:rgba(10,132,255,.14);
  --danger:#ff453a;
  --danger-soft:rgba(255,69,58,.13);
  --warning:#ffd60a;
  --warning-soft:rgba(255,214,10,.12);
  --warning-fill:#ffd60a;
  --warning-ink:#402c00;
  --success:#30d158;
  --success-soft:rgba(48,209,88,.12);
  --istanbul:#9d9bff;
  --istanbul-soft:rgba(125,122,255,.16);
  color:#f5f5f7;
  background:#111214;
}
html[data-theme="dark"] ::selection { color:#fff; background:#0a84ff; }
html[data-theme="dark"] * { scrollbar-color:rgba(255,255,255,.23) transparent; }
html[data-theme="dark"] *::-webkit-scrollbar-thumb { background:rgba(255,255,255,.2); }
html[data-theme="dark"] .topbar,
html[data-theme="dark"] .nav {
  background:rgba(24,24,26,.82);
  border-color:rgba(255,255,255,.075);
}

html[data-theme="dark"] .profile-panel { color:#f5f5f7; border-color:rgba(255,255,255,.1); background:#242426; box-shadow:0 24px 70px rgba(0,0,0,.5); }

html[data-theme="dark"] .pp-row,
html[data-theme="dark"] .pp-group,
html[data-theme="dark"] .pp-actions { border-color:rgba(255,255,255,.08); }
html[data-theme="dark"] .pp-row { color:#98989d; }
html[data-theme="dark"] .pp-row strong,
html[data-theme="dark"] .profile-panel input[type=text] { color:#f5f5f7; }
html[data-theme="dark"] .profile-panel input[type=text] { border-color:rgba(255,255,255,.12); background:rgba(255,255,255,.05); }
html[data-theme="dark"] .pp-btn { border-color:rgba(255,255,255,.14); color:#f5f5f7; }
html[data-theme="dark"] .pp-btn.is-primary { border-color:#0a84ff; background:#0a84ff; color:#fff; }
html[data-theme="dark"] .profile-swatches button { box-shadow:0 0 0 1px rgba(255,255,255,.2); }
html[data-theme="dark"] .profile-swatches button.selected { box-shadow:0 0 0 2px #242426,0 0 0 4px var(--swatch); }
html[data-theme="dark"] #profileColorInput { border-color:rgba(255,255,255,.2); background:transparent; }

html[data-theme="dark"] .notif-btn { color:#c7c7cc; border-color:rgba(255,255,255,.08); background:rgba(255,255,255,.055); }
html[data-theme="dark"] .notif-btn:hover { color:#fff; border-color:rgba(255,255,255,.14); background:rgba(255,255,255,.09); }
html[data-theme="dark"] .nav-btn { color:#98989d; }
html[data-theme="dark"] .nav-btn:hover { color:#f5f5f7; background:rgba(255,255,255,.055); }
html[data-theme="dark"] .nav-btn.active { color:#fff; background:#303033; box-shadow:0 1px 4px rgba(0,0,0,.25); }

html[data-theme="dark"] .dashboard-hero,
html[data-theme="dark"] .card,
html[data-theme="dark"] .table-wrap,
html[data-theme="dark"] .sc-card {
  color:#f5f5f7;
  border-color:rgba(255,255,255,.075);
  background:#1c1c1e;
  box-shadow:0 1px 2px rgba(0,0,0,.18),0 10px 30px rgba(0,0,0,.16);
}
html[data-theme="dark"] .dashboard-hero::before { background:radial-gradient(circle,rgba(10,132,255,.13),transparent 70%); }
html[data-theme="dark"] .dashboard-hero h1,
html[data-theme="dark"] .card-title { color:#f5f5f7; }

html[data-theme="dark"] .hero-copy { color:#98989d; }
html[data-theme="dark"] .announcement-dot { background:#48484a; }
html[data-theme="dark"] .announcement-dot.active { background:#0a84ff; }

/* ── Gökyüzü ARKA PLANI: tüm pencere/sekmelerin gerisinde sabit katman; güneş+ay gerçek yörüngeyle doğup batar ── */
.sky-bg{
  position:fixed; inset:0; z-index:-1; overflow:hidden; pointer-events:none;
  --sun-x:50%; --sun-y:18%; --moon-x:50%; --moon-y:18%;
  --sun-op:0; --moon-op:0; --day:0; --golden:0; --night:1; --beam:0;
  --sky-strength:1;
  --moon-lit:#eef2ff; --moon-dark:#2b3150;
}
/* body'i şeffaf yap ki sabit gökyüzü tüm panellerin arkasında görünsün */
body{ background:transparent !important; }
html[data-theme="dark"]{ background:#0a0c11; }
html[data-theme="light"]{ background:#e9eef5; }
.hero-atmo{ position:absolute; inset:0; }
.hero-atmo .layer{ position:absolute; inset:0; }
.hero-atmo .l-day{ opacity:var(--day);
  background:linear-gradient(180deg, rgba(58,118,200,.34) 0%, rgba(96,150,214,.16) 45%, rgba(150,196,236,.05) 100%); }
.hero-atmo .l-dusk{ opacity:var(--golden);
  background:linear-gradient(180deg, rgba(40,30,78,.42) 0%, rgba(150,66,82,.34) 50%, rgba(255,140,72,.40) 100%); }
.hero-atmo .l-night{ opacity:var(--night);
  background:linear-gradient(180deg, rgba(7,10,28,.72) 0%, rgba(13,17,42,.55) 50%, rgba(20,26,58,.40) 100%); }
.hero-stars{ position:absolute; inset:0; opacity:calc(var(--night) * var(--sky-strength));
  animation:heroTwinkle 5.5s ease-in-out infinite; background-repeat:no-repeat;
  background-image:
    radial-gradient(1.5px 1.5px at 6% 12%, #ffffff, transparent 60%),
    radial-gradient(1.2px 1.2px at 14% 30%, #cfe0ff, transparent 60%),
    radial-gradient(1px 1px at 21% 9%, #ffffff, transparent 60%),
    radial-gradient(1.4px 1.4px at 27% 22%, #e6eeff, transparent 60%),
    radial-gradient(1px 1px at 34% 6%, #ffffff, transparent 60%),
    radial-gradient(1.6px 1.6px at 41% 16%, #ffffff, transparent 60%),
    radial-gradient(1px 1px at 48% 28%, #d6e2ff, transparent 60%),
    radial-gradient(1.3px 1.3px at 56% 10%, #ffffff, transparent 60%),
    radial-gradient(1px 1px at 63% 23%, #e8efff, transparent 60%),
    radial-gradient(1.5px 1.5px at 71% 7%, #ffffff, transparent 60%),
    radial-gradient(1px 1px at 78% 26%, #cdddff, transparent 60%),
    radial-gradient(1.2px 1.2px at 85% 14%, #ffffff, transparent 60%),
    radial-gradient(1px 1px at 92% 30%, #ffffff, transparent 60%),
    radial-gradient(1.3px 1.3px at 97% 11%, #ffffff, transparent 60%),
    radial-gradient(1px 1px at 9% 48%, #ffffff, transparent 60%),
    radial-gradient(1.4px 1.4px at 19% 62%, #e6eeff, transparent 60%),
    radial-gradient(1px 1px at 31% 54%, #ffffff, transparent 60%),
    radial-gradient(1.2px 1.2px at 44% 70%, #d6e2ff, transparent 60%),
    radial-gradient(1px 1px at 58% 60%, #ffffff, transparent 60%),
    radial-gradient(1.3px 1.3px at 69% 74%, #ffffff, transparent 60%),
    radial-gradient(1px 1px at 81% 58%, #cdddff, transparent 60%),
    radial-gradient(1.4px 1.4px at 90% 68%, #ffffff, transparent 60%),
    radial-gradient(1px 1px at 96% 52%, #ffffff, transparent 60%),
    radial-gradient(1.2px 1.2px at 38% 40%, #ffffff, transparent 60%),
    radial-gradient(1px 1px at 52% 46%, #e8efff, transparent 60%),
    radial-gradient(1.3px 1.3px at 74% 44%, #ffffff, transparent 60%),
    radial-gradient(1px 1px at 86% 84%, #ffffff, transparent 60%),
    radial-gradient(1.2px 1.2px at 24% 86%, #cfe0ff, transparent 60%);
}
/* PERF: eski hali filter:brightness animasyonuydu — tam ekran katmanı her karede
   yeniden boyatıyordu (gece tüm site kasıyordu). opacity animasyonu compositor'da
   çalışır, görünüm birebir aynıdır (yıldızlar %55'e söner). */
@keyframes heroTwinkle{
  0%,100%{ opacity:calc(var(--night) * var(--sky-strength)); }
  50%{ opacity:calc(var(--night) * var(--sky-strength) * .55); }
}
.hero-stars{ will-change:opacity; }
/* Katman görünmezken (gündüz yıldız / gece huzme) animasyonu tamamen durdur */
.sky-no-stars .hero-stars{ animation:none; }
.sky-no-beams .hero-beams{ animation:none; }
.hero-beams{ position:absolute; inset:0; opacity:calc(var(--beam) * .68 * var(--sky-strength)); mix-blend-mode:screen; will-change:transform;
  filter:blur(9px); transform-origin:var(--sun-x) var(--sun-y); animation:heroBeamSpin 160s linear infinite;
  background:repeating-conic-gradient(from 0deg at var(--sun-x) var(--sun-y),
    rgba(255,238,196,0) 0deg, rgba(255,238,196,.15) 1deg, rgba(255,238,196,0) 2.8deg, rgba(255,238,196,0) 7.5deg);
  -webkit-mask-image:radial-gradient(85% 95% at var(--sun-x) var(--sun-y), #000 0%, rgba(0,0,0,.5) 32%, transparent 70%);
          mask-image:radial-gradient(85% 95% at var(--sun-x) var(--sun-y), #000 0%, rgba(0,0,0,.5) 32%, transparent 70%);
}
@keyframes heroBeamSpin{ to{ transform:rotate(1turn); } }
.hero-glow{ position:absolute; inset:0; opacity:calc(var(--beam) * .85 * var(--sky-strength)); mix-blend-mode:screen;
  background:radial-gradient(48% 60% at var(--sun-x) var(--sun-y),
    rgba(255,224,160,.34) 0%, rgba(255,196,110,.15) 36%, transparent 64%); }
.hero-sun{ position:absolute; left:var(--sun-x); top:var(--sun-y); width:108px; height:108px; margin:-54px 0 0 -54px;
  opacity:var(--sun-op); mix-blend-mode:screen; }
.hero-sun::before{ content:""; position:absolute; inset:-88px; border-radius:50%; filter:blur(20px);
  background:radial-gradient(circle, rgba(255,216,134,.48) 0%, rgba(255,178,72,.17) 42%, transparent 70%); }
.hero-sun .core{ position:absolute; inset:0; border-radius:50%; filter:blur(.4px);
  background:radial-gradient(circle at 50% 42%, #fffdf7 0%, #fff1c9 30%, #ffd778 56%, rgba(255,196,90,0) 78%);
  box-shadow:0 0 42px 8px rgba(255,206,110,.55); animation:heroSunPulse 6s ease-in-out infinite; will-change:transform; }
@keyframes heroSunPulse{ 50%{ transform:scale(1.05); } }
.hero-moon{ position:absolute; left:var(--moon-x); top:var(--moon-y); width:66px; height:66px; margin:-33px 0 0 -33px;
  opacity:var(--moon-op); }
.hero-moon::before{ content:""; position:absolute; inset:-28px; border-radius:50%; filter:blur(12px);
  background:radial-gradient(circle, rgba(196,210,242,.36), transparent 68%); }
.hero-moon svg{ position:relative; display:block; width:100%; height:100%; overflow:visible;
  filter:drop-shadow(0 0 7px rgba(202,216,246,.5)); }
.hero-moon .m-dark{ fill:var(--moon-dark); }
.hero-moon .m-lit{ fill:var(--moon-lit); }
.hero-moon .m-crater{ fill:#aab4d6; opacity:.16; }
html[data-theme="light"] .sky-bg{ --sky-strength:.66; --moon-lit:#f0f2f7; --moon-dark:#c7cdda; }
html[data-theme="light"] .hero-atmo .l-day{ background:linear-gradient(180deg, rgba(120,176,238,.26) 0%, rgba(176,210,244,.12) 60%, transparent 100%); }
html[data-theme="light"] .hero-atmo .l-night{ background:linear-gradient(180deg, rgba(36,46,82,.32) 0%, rgba(58,72,110,.20) 60%, rgba(90,108,150,.12) 100%); }
html[data-theme="light"] .hero-sun{ mix-blend-mode:normal; }
html[data-theme="light"] .hero-stars{ opacity:calc(var(--night) * .5); }

/* Hero'yu buzlu cam yap: arkadaki güneş/ay/gökyüzü içinden süzülerek görünür */
html[data-theme="dark"] .dashboard-hero{
  background:rgba(22,22,26,.52);
  -webkit-backdrop-filter:blur(26px) saturate(150%); backdrop-filter:blur(26px) saturate(150%);
  border-color:rgba(255,255,255,.12);
}
html[data-theme="dark"] .dashboard-hero::before{ display:none; }
html[data-theme="light"] .dashboard-hero{
  background:rgba(255,255,255,.52);
  -webkit-backdrop-filter:blur(24px) saturate(140%); backdrop-filter:blur(24px) saturate(140%);
}
/* Dashboard panelleri de cam: güneş/ay arkalarından geçerken içlerinden süzülür (yalnız dashboard, tablo sayfaları opak kalır) */
html[data-theme="dark"] #page-dashboard .card {
  background:rgba(24,24,28,.55);
  -webkit-backdrop-filter:blur(20px) saturate(140%); backdrop-filter:blur(20px) saturate(140%);
  border-color:rgba(255,255,255,.10);
}
html[data-theme="light"] #page-dashboard .card {
  background:rgba(255,255,255,.58);
  -webkit-backdrop-filter:blur(20px) saturate(140%); backdrop-filter:blur(20px) saturate(140%);
}

html[data-theme="dark"] label,
html[data-theme="dark"] .admin-card-help { color:#98989d; }
html[data-theme="dark"] input[type=text],
html[data-theme="dark"] input[type=email],
html[data-theme="dark"] input[type=number],
html[data-theme="dark"] input[type=password],
html[data-theme="dark"] select,
html[data-theme="dark"] textarea,
html[data-theme="dark"] .login-input {
  color:#f5f5f7;
  border-color:rgba(255,255,255,.11);
  background:#242426;
}
html[data-theme="dark"] input::placeholder,
html[data-theme="dark"] textarea::placeholder { color:#636366; }
html[data-theme="dark"] input:hover,
html[data-theme="dark"] select:hover,
html[data-theme="dark"] textarea:hover { border-color:rgba(255,255,255,.18); }
html[data-theme="dark"] input:focus,
html[data-theme="dark"] select:focus,
html[data-theme="dark"] textarea:focus { border-color:#0a84ff; background:#242426; box-shadow:0 0 0 3px rgba(10,132,255,.18); }
html[data-theme="dark"] select option { color:#f5f5f7; background:#242426; }
html[data-theme="dark"] #senderDisplay { background:#242426 !important; }
html[data-theme="dark"] .btn-primary { color:#fff; background:#0a84ff; }
html[data-theme="dark"] .btn-primary:hover { background:#168cff; box-shadow:0 5px 16px rgba(10,132,255,.22); }
html[data-theme="dark"] .btn-outline { color:#e5e5ea; border-color:rgba(255,255,255,.11); background:#242426; }
html[data-theme="dark"] .btn-outline:hover { color:#fff; border-color:rgba(255,255,255,.18); background:#303033; }
html[data-theme="dark"] .cat-pill { color:#d1d1d6; border-color:rgba(255,255,255,.1); background:#242426; }
html[data-theme="dark"] .cat-pill svg { color:#98989d; }
html[data-theme="dark"] .cat-pill:hover { color:#fff; border-color:rgba(10,132,255,.4); background:rgba(10,132,255,.1); }
html[data-theme="dark"] .cat-pill.selected { color:#fff; border-color:rgba(10,132,255,.55); background:rgba(10,132,255,.16); }
html[data-theme="dark"] .title-icon { color:#64aef7; background:rgba(10,132,255,.13); }

html[data-theme="dark"] table { color:#d1d1d6; }
html[data-theme="dark"] thead th,
html[data-theme="dark"] #ordersTable thead th:first-child,
html[data-theme="dark"] #pastTable thead th:first-child { color:#98989d; border-color:rgba(255,255,255,.075); background:#242426; }
html[data-theme="dark"] tbody td { border-color:rgba(255,255,255,.065); }
html[data-theme="dark"] tbody tr:hover,
html[data-theme="dark"] #ordersTable tbody tr:hover td:first-child,
html[data-theme="dark"] #pastTable tbody tr:hover td:first-child { background:#242426; }
html[data-theme="dark"] #ordersTable td:first-child,
html[data-theme="dark"] #pastTable td:first-child { background:#1c1c1e; box-shadow:1px 0 rgba(255,255,255,.07); }
html[data-theme="dark"] .order-row:focus-visible td,
html[data-theme="dark"] .order-row:focus-visible td:first-child { background:rgba(10,132,255,.12) !important; }
html[data-theme="dark"] .sip-link { color:#409cff; }
html[data-theme="dark"] .pill-blue { color:#64aef7; background:rgba(10,132,255,.13); }
html[data-theme="dark"] .pill-green { color:#62dc82; background:rgba(48,209,88,.12); }
html[data-theme="dark"] .table-pan-controls { border-color:rgba(255,255,255,.09); background:#242426; }
html[data-theme="dark"] .table-pan-controls button { color:#c7c7cc; }
html[data-theme="dark"] .table-pan-controls button:hover { color:#64aef7; background:rgba(10,132,255,.13); }
html[data-theme="dark"] .order-sort-direction { color:#d1d1d6; border-color:rgba(255,255,255,.11); background:#242426; }
html[data-theme="dark"] .order-sort-direction:hover { color:#64aef7; border-color:rgba(10,132,255,.3); background:rgba(10,132,255,.1); }

html[data-theme="dark"] .ticket { border-color:rgba(255,255,255,.075);  }
html[data-theme="dark"] .ticket:hover { border-color:rgba(255,255,255,.12);  }
html[data-theme="dark"] .ticket-sipno,
html[data-theme="dark"] .ticket-msg { color:#f5f5f7; }

html[data-theme="dark"] .section-count { color:#c7c7cc; border-color:rgba(255,255,255,.08); background:#242426; }

html[data-theme="dark"] .notif-panel,
html[data-theme="dark"] .modal,
html[data-theme="dark"] .order-modal,
html[data-theme="dark"] .ticket-detail-modal {
  color:#f5f5f7;
  border-color:rgba(255,255,255,.1);
  background:rgba(36,36,38,.96);
  box-shadow:0 28px 80px rgba(0,0,0,.42);
}
html[data-theme="dark"] .modal-overlay { background:rgba(0,0,0,.55); }
html[data-theme="dark"] .notif-panel-header,
html[data-theme="dark"] .notif-item { border-color:rgba(255,255,255,.075); }
html[data-theme="dark"] .notif-item:hover { background:rgba(255,255,255,.055); }
html[data-theme="dark"] .office-choose-btn { color:#f5f5f7; border-color:rgba(255,255,255,.09); background:#2c2c2e; }
html[data-theme="dark"] .office-choose-btn:hover { border-color:rgba(10,132,255,.4); background:rgba(10,132,255,.1); }

html[data-theme="dark"] .prio-pill[data-prio="0"].selected,
html[data-theme="dark"] .ticket-prio-btn.active.prio-0 {
  color:#f5f5f7;
  border-color:rgba(255,255,255,.12);
  background:#3a3a3c;
}

html[data-theme="dark"] .admin-users-table th { color:#98989d; border-color:rgba(255,255,255,.075); background:#242426; }
html[data-theme="dark"] .admin-users-table td { color:#d1d1d6; border-color:rgba(255,255,255,.065); }
html[data-theme="dark"] .admin-users-table tbody tr:hover { background:#242426; }

html[data-theme="dark"] .role-badge { color:#d1d1d6; border-color:rgba(255,255,255,.11); background:#242426; }
html[data-theme="dark"] .role-badge.is-admin { color:#64aef7; border-color:rgba(10,132,255,.2); background:rgba(10,132,255,.14); }
html[data-theme="dark"] .role-badge.is-off { color:#98989d; border-color:rgba(255,255,255,.08); background:#2c2c2e; }
html[data-theme="dark"] .admin-remove-btn { color:#ff6961; border-color:rgba(255,69,58,.2); background:#242426; }
html[data-theme="dark"] .admin-remove-btn:hover { color:#fff; background:#ff453a; }
html[data-theme="dark"] .task-chip { color:#d1d1d6; border-color:rgba(255,255,255,.1); background:#242426; }
html[data-theme="dark"] .task-chip:hover { color:#fff; border-color:rgba(10,132,255,.4); background:rgba(10,132,255,.1); }
html[data-theme="dark"] .task-chip.selected { color:#fff; border-color:rgba(10,132,255,.55); background:rgba(10,132,255,.16); }

html[data-theme="dark"] .nav-office-toggle.is-on { color:#fff; border-color:rgba(10,132,255,.45); background:rgba(10,132,255,.16); }

html[data-theme="dark"] .ticket-task-note { color:#98989d; }

html[data-theme="dark"] .order-list-tabs { border-color:rgba(255,255,255,.1); background:#242426; }
html[data-theme="dark"] .order-list-tab { color:#98989d; }
html[data-theme="dark"] .order-list-tab.active { color:#fff; background:#0a84ff; }

html[data-theme="dark"] .corner-alert { color:#f5f5f7; border-color:rgba(255,255,255,.11); background:rgba(44,44,46,.94); box-shadow:0 18px 50px rgba(0,0,0,.38); }
html[data-theme="dark"] .corner-alert-icon { color:#64aef7; background:rgba(10,132,255,.15); }
html[data-theme="dark"] .corner-alert-title { color:#f5f5f7; }
html[data-theme="dark"] .corner-alert-message { color:#d1d1d6; }
html[data-theme="dark"] .corner-alert-meta { color:#98989d; }
html[data-theme="dark"] .corner-alert-close { color:#98989d; }
html[data-theme="dark"] .corner-alert-close:hover { color:#fff; background:#3a3a3c; }
html[data-theme="dark"] .corner-alert-reminder { border-color:rgba(245,158,11,.4); box-shadow:0 18px 50px rgba(0,0,0,.42); }
html[data-theme="dark"] .corner-alert-reminder .corner-alert-icon { color:#fbbf24; background:rgba(245,158,11,.18); }
html[data-theme="dark"] .corner-alert-reminder .corner-alert-title { color:#fcd34d; }

html[data-theme="dark"] .login-overlay {
  background:
    radial-gradient(900px 520px at 18% 8%, rgba(94,160,230,.16), transparent 60%),
    radial-gradient(820px 560px at 88% 92%, rgba(120,110,220,.16), transparent 60%),
    linear-gradient(160deg, #0e0f12 0%, #15161a 55%, #101115 100%);
}
/* Cam panel: yarı saydam, arkadaki ışıkları kıran, kenarında ışık olan pencere */
html[data-theme="dark"] .login-card {
  color:#f5f5f7;
  border-color:rgba(255,255,255,.12);
  background:linear-gradient(155deg, rgba(40,42,48,.62), rgba(22,23,27,.52));
  box-shadow:0 32px 90px rgba(0,0,0,.5), inset 0 1px 0 rgba(255,255,255,.14), inset 0 0 0 1px rgba(255,255,255,.03);
  backdrop-filter:blur(34px) saturate(150%);
  -webkit-backdrop-filter:blur(34px) saturate(150%);
}
/* Üst kenarda cam parlaması */
html[data-theme="dark"] .login-card::after { color:#1d1d1f; }
html[data-theme="dark"] .login-card::before { background:#f5f5f7; }
html[data-theme="dark"] .login-field label { color:#d1d1d6; }
html[data-theme="dark"] .login-foot,
html[data-theme="dark"] .login-sub { color:#98989d; }
html[data-theme="dark"] .login-input-wrap .ico { color:#98989d; }
html[data-theme="dark"] .analysis-periods { background:rgba(255,255,255,.04); }
html[data-theme="dark"] .analysis-period-btn.active { background:#0a84ff; }
html[data-theme="dark"] .analysis-kpi,
html[data-theme="dark"] .analysis-mini-item,
html[data-theme="dark"] .analysis-risk,
html[data-theme="dark"] .analysis-empty { border-color:rgba(255,255,255,.075); background:#242426; }
html[data-theme="dark"] .analysis-kpi .v,
html[data-theme="dark"] .analysis-bar-label,
html[data-theme="dark"] .analysis-mini-item span:first-child,
html[data-theme="dark"] .analysis-risk-main strong { color:#f5f5f7; }
html[data-theme="dark"] .analysis-kpi .k,
html[data-theme="dark"] .analysis-kpi .m,
html[data-theme="dark"] .analysis-subtitle,
html[data-theme="dark"] .analysis-bar-value,
html[data-theme="dark"] .analysis-mini-item span:last-child,
html[data-theme="dark"] .analysis-risk-main span,
html[data-theme="dark"] .analysis-empty { color:#98989d; }
html[data-theme="dark"] .analysis-risk:hover { border-color:#0a84ff; background:rgba(10,132,255,.1); }
html[data-theme="dark"] .analysis-range input[type="date"] { border-color:rgba(255,255,255,.1); background:#1c1c1e; color:#f5f5f7; }
html[data-theme="dark"] .analysis-range-field,
html[data-theme="dark"] .analysis-range .btn-clear,
html[data-theme="dark"] .tl-xlabel,
html[data-theme="dark"] .tl-hint { color:#98989d; }
html[data-theme="dark"] .tl-value { color:#f5f5f7; }
html[data-theme="dark"] .analysis-bar-sub { color:#98989d; }
html[data-theme="dark"] .analysis-bar-value { color:#f5f5f7; }
html[data-theme="dark"] .tl-col:hover .tl-plot { background:rgba(255,255,255,.05); }
html[data-theme="dark"] .quick-line {
  border-color:rgba(255,255,255,.11);
  background:linear-gradient(180deg,rgba(44,44,46,.78),rgba(28,28,30,.82));
  box-shadow:0 1px 0 rgba(255,255,255,.04),0 10px 24px rgba(0,0,0,.14);
}
html[data-theme="dark"] .quick-line-field label,
html[data-theme="dark"] .quick-line-summary { color:#98989d; }
html[data-theme="dark"] .quick-line-title { color:#f5f5f7; }
html[data-theme="dark"] .quick-check { border-color:rgba(255,255,255,.11); background:#242426; }

/* ── TICKET PRIORITY + FILTER/SEARCH ───────────────────────────── */
.ticket-author { font-size:11px; font-weight:500; color:var(--muted); display:inline-flex; align-items:center; gap:3px; white-space:nowrap; }
.ticket-prio { font-size:11px; font-weight:600; padding:2px 8px; border-radius:10px; display:inline-flex; align-items:center; gap:4px; }
.ticket-prio::before { content:""; width:6px; height:6px; border-radius:50%; background:currentColor; }
.prio-1 { background:#fef9c3; color:#854d0e; }
.prio-2 { background:#fee2e2; color:#991b1b; }
.prio-3 { background:#fff1f2; color:#be123c; }
.ticket.has-prio-3 { border-left:3px solid #f87171 !important; }
.ticket.has-prio-3::before { background:#f87171 !important; box-shadow:0 0 10px rgba(248,113,113,.5) !important; }

.ticket.has-prio-3 .ticket-prio { animation: topPriorityBadgePulse 1.4s ease-in-out infinite; }
@keyframes topPriorityPulse {
  0%,100% { box-shadow:0 0 0 0 rgba(248,113,113,0); border-color:rgba(248,113,113,.45); }
  50% { box-shadow:0 0 0 4px rgba(248,113,113,.16); border-color:#f87171; }
}
@keyframes topPriorityBadgePulse {
  0%,100% { box-shadow:0 0 0 0 rgba(248,113,113,0); transform:scale(1); }
  50% { box-shadow:0 0 0 5px rgba(248,113,113,.18); transform:scale(1.04); }
}
.ticket.has-prio-2 { border-left:3px solid #ef4444 !important; }
.ticket.has-prio-2::before { background:#ef4444 !important; box-shadow:0 0 10px rgba(239,68,68,.5) !important; }

/* Priority pills (new ticket form) */
.prio-pill { padding:6px 13px; border-radius:20px; font-size:12px; font-weight:600; cursor:pointer; border:1.5px solid var(--border); color:var(--muted); background:var(--surface); transition:all .15s; user-select:none; }
.prio-pill:hover { border-color:var(--accent); color:var(--accent); }
.prio-pill[data-prio="0"].selected { border-color:rgba(0,0,0,.16); color:#515154; background:#f2f2f7; }
.prio-pill[data-prio="1"].selected { border-color:rgba(229,72,77,.32); color:#c0272d; background:#fdeceb; }
.prio-pill[data-prio="2"].selected { border-color:rgba(229,72,77,.5); color:#991b1b; background:#fbdcda; }

/* Priority buttons (detail modal) */

.ticket-prio-btn.active { opacity:1; }
.ticket-prio-btn.active.prio-0 { background:#f2f2f7; color:#515154; border-color:rgba(0,0,0,.12); }
.ticket-prio-btn.active.prio-1 { background:#fef9c3; color:#854d0e; border-color:#eab308; }
.ticket-prio-btn.active.prio-2 { background:#fee2e2; color:#991b1b; border-color:#ef4444; }

/* Ticket cards */

.ticket {
  --ticket-accent:#9ca3af;
  --ticket-accent-soft:rgba(156,163,175,.12);
  --ticket-card-bg:linear-gradient(180deg,#fff,#fbfbfd);
  --ticket-card-border:rgba(0,0,0,.085);
  position:relative;
  /* 3. sütun (aside) sabit: aksi halde buton metni (Açık/İşlemde/Kapalı) genişliği
     değişince IST→BRS damgası sağa-sola kayıyordu. Sabit genişlik = hep aynı hiza. */

  align-items:stretch;
  overflow:hidden;
  box-sizing:border-box;

  border:1.5px solid var(--ticket-card-border) !important;

  transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease;
}
.ticket::before {
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  
  background:var(--ticket-accent);
  box-shadow:none !important;
}
.ticket.is-open,
.ticket.has-prio-2,
.ticket.has-prio-3 { border-left:1.5px solid var(--ticket-card-border) !important; }
.ticket.is-open::before { background:var(--ticket-accent); box-shadow:none !important; }
.ticket.is-status-open { --ticket-accent:#f59e0b; --ticket-accent-soft:rgba(245,158,11,.12); }
.ticket.is-status-progress { --ticket-accent:#0071e3; --ticket-accent-soft:rgba(0,113,227,.1); }
.ticket.is-status-closed { --ticket-accent:#34c759; --ticket-accent-soft:rgba(52,199,89,.1); }
.ticket.has-prio-1 { --ticket-accent:#b7791f; --ticket-accent-soft:rgba(245,158,11,.15); }
.ticket.has-prio-2 { --ticket-accent:#c2410c; --ticket-accent-soft:rgba(239,68,68,.13); }
.ticket.has-prio-3 { --ticket-accent:#8b0000; --ticket-accent-soft:rgba(139,0,0,.16);  }
.ticket.has-prio-2::before,
.ticket.has-prio-3::before { background:var(--ticket-accent) !important; }
.ticket:hover {
  
  border-color:color-mix(in srgb, var(--ticket-accent) 32%, rgba(0,0,0,.12)) !important;
  
}
@keyframes ticketTopPriorityGlow {
  0%,100% { box-shadow:0 1px 2px rgba(0,0,0,.04),0 9px 22px rgba(0,0,0,.035),0 0 0 rgba(139,0,0,0); }
  50% { box-shadow:0 1px 2px rgba(0,0,0,.04),0 9px 22px rgba(0,0,0,.035),0 0 18px rgba(139,0,0,.22); }
}
.ticket-main {
  min-width:0;
  min-height:0;
  height:100%;
  display:grid;
  
  grid-auto-rows:auto;

  overflow:hidden;
}

.ticket-idline {
  min-width:0;
  display:flex;
  align-items:center;
  
  flex-wrap:nowrap;
  overflow:hidden;
}
.ticket-no-badge {
  
  display:inline-flex;
  align-items:center;
  
  border:1px solid rgba(0,0,0,.08);
  
  background:#fff;
  color:#515154;
  font-family:var(--font);
  
  font-weight:800;
}
.ticket-sip-wrap {
  display:inline-flex;
  align-items:center;
  
  flex:1 1 auto;
  min-width:0;
  overflow:visible;
  color:#1d1d1f;

  white-space:normal;
}
.ticket-sip-links { display:flex; flex-wrap:wrap; gap:4px; min-width:0; }
.ticket-sip-prefix { color:#86868b; font-weight:650; }
.ticket-sipno {
  display:inline-block;
  min-width:0;
  
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:inherit;

  line-height:1.2;
}
.ticket-sip-link:hover { color:#0071e3; text-decoration:none; }
/* Yanıt sayısı pili + IST→BRS damgası tek grupta; kart yüksekliğine göre
   dikey ortalanır (pil önceden mesaj satırındaydı ve üst yarıda kalıyordu). */
.ticket-route-wrap {
  grid-column:2;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  
  align-self:center;
  justify-self:end;
  min-width:0;
}
.ticket-route-wrap .ticket-reply-count { flex:0 0 auto; }
.ticket-route-stamp {
  display:grid;
  
  align-items:center;
  justify-items:center;
  align-self:center;

  padding:0;
  color:#1d1d1f;
  justify-self:end;
  text-transform:uppercase;
  opacity:.9;
  user-select:none;
  transform:none;
  font-style:normal;
}
.ticket-route-office {
  display:grid;
  align-content:center;
  justify-items:center;

  min-width:0;
  line-height:1;
  transform:none;
}
.ticket-route-code {
  display:block;
  width:100%;
  color:rgba(29,29,31,.78);
  font-family:var(--font);
  
  font-weight:850;
  font-style:normal;
  
  letter-spacing:0;
  text-align:center;
  text-shadow:0 1px 0 rgba(255,255,255,.72);
  transform:none;
}
.ticket-route-arrow {
  color:var(--ticket-accent);
  
  font-weight:850;
  
  text-shadow:0 1px 0 rgba(255,255,255,.75);
  transform:none;
}
.ticket-route-name {
  display:block;
  width:100%;
  color:#86868b;
  
  font-weight:650;
  font-style:normal;
  
  text-align:center;
  text-transform:none;
  transform:none;
}
.ticket-route-stamp:hover {
  opacity:1;
}

:is(.ticket,.tk-tags) .ticket-cat,
.ticket-reply-count {
  min-height:23px;
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:3px 8px;
  border:1px solid rgba(0,0,0,.065);
  border-radius:999px;
  background:#f5f5f7 !important;
  color:#515154 !important;
  font-size:11px;
  font-weight:650;
  line-height:1;
  max-width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
:is(.ticket,.tk-tags) .ticket-cat {
  color:var(--ticket-tag-accent, #515154) !important;
  background:color-mix(in srgb, var(--ticket-tag-accent, #515154) 10%, #fff) !important;
  border-color:color-mix(in srgb, var(--ticket-tag-accent, #515154) 22%, transparent);
}

:is(.ticket,.tk-tags) .ticket-cat::before,
.ticket-reply-count::before {
  content:"";
  width:5px;
  height:5px;
  flex:0 0 5px;
  border-radius:99px;
  background:currentColor;
  opacity:.9;
}
.ticket-msg {
  margin-top:0;
  min-width:0;

  color:#1d1d1f;
  font-size:13px;
  font-weight:500;
  line-height:1.45;
  overflow-wrap:anywhere;
  display:flex;
  align-items:center;
  
  flex-wrap:nowrap;
  overflow:hidden;
}
.ticket-msg .ticket-cat { flex:0 0 auto; }
.ticket-msg-text {
  position:relative;
  min-width:0;
  flex:1 1 auto;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.ticket-msg-marquee-track {
  display:inline-block;
  width:max-content;
  min-width:100%;
  white-space:nowrap;
  transform:translate3d(0,0,0);
  will-change:transform;
}
.ticket-msg-text.is-marquee-active { text-overflow:clip; }
@media (prefers-reduced-motion:reduce) {
  .ticket-msg-marquee-track { transition:none !important; transform:none !important; }
}
.ticket-context {
  display:flex;
  align-items:center;
  flex-wrap:nowrap;
  
  min-width:0;

  max-width:100%;
  margin-top:0;
  overflow:hidden;
  color:#6e6e73;
}
.ticket-context .ticket-author,
.ticket-context .ticket-task-note {
  color:#6e6e73;

  line-height:1.25;
}
.ticket-context .ticket-author {
  flex:0 1 auto;
  min-width:0;
  max-width:42%;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.ticket-context-dot {

  flex:0 0 6px;
  border-radius:50%;
  background:#d99122;
}
.ticket-context .ticket-task-note {
  position:relative;
  min-width:0;
  max-width:min(160px, 48%);
  flex:1 1 auto;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  cursor:default;
}
.ticket-context .ticket-task-note::before { display:none; }
.ticket-context .ticket-task-note .task-full { display:none; }
.ticket-context .ticket-task-note:hover,
.ticket-context .ticket-task-note:focus-within {
  z-index:4;
  max-width:min(460px, calc(100vw - 72px));
  overflow:visible;
  white-space:normal;
  padding:3px 7px;
  margin:-3px -7px;
  border:1px solid var(--border);
  border-radius:8px;
  background:var(--surface);
  box-shadow:0 8px 22px rgba(0,0,0,.12);
}
.ticket-context .ticket-task-note:hover .task-preview,
.ticket-context .ticket-task-note:focus-within .task-preview { display:none; }
.ticket-context .ticket-task-note:hover .task-full,
.ticket-context .ticket-task-note:focus-within .task-full { display:inline; }
.ticket-aside {
  position:relative;
  z-index:1;
  
  height:100%;
  min-height:0;
  
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  justify-content:center;
  gap:7px;
  /* Hover'da uzayan ikon butonlar (.act-btn) kesilmesin diye taşma serbest;
     kart kenarını yine .ticket'ın overflow:hidden'ı kırpar. */
  overflow:visible;
}
.ticket-aside::before {
  content:"";
  position:absolute;
  left:0;

  width:1px;
  background:repeating-linear-gradient(to bottom, rgba(0,0,0,.16) 0 5px, transparent 5px 10px);
  
}
/* Aside'ı dikey ortala ki "Sohbete yönlendir"+durum butonu IST→BRS damgasıyla
   aynı hizada (ortada) dursun. (Üstteki .ticket-aside kuralı bozuk bir blokta
   kaldığından buradan, çalışan bölgede yeniden tanımlıyoruz.) */
.ticket > .ticket-aside {
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  justify-content:center;
  height:100%;
}
.ticket-foot {
  grid-column:1 / -1;
  align-self:end;
  display:flex;
  align-items:baseline;
  justify-content:space-between;

  border-top:1px solid var(--ticket-card-border);
}
.ticket-foot .ticket-context { margin:0; flex:1 1 auto; min-width:0; }
.ticket-time {
  flex:0 0 auto;
  flex-direction:row;
  align-items:baseline;
  justify-content:flex-end;
  
  max-height:none;
  color:#86868b;

  line-height:1.3;
  text-align:right;
  white-space:nowrap;
  overflow:hidden;
}
.ticket-time .ticket-opened,
.ticket-time .ticket-updated { overflow:hidden; text-overflow:ellipsis; }
.ticket-time .ticket-updated {
  color:#0071e3;
  font-weight:700;
}
.ticket-time-sep { color:#86868b; opacity:.55; }
.ticket-action-row {  align-items:center; flex-wrap:nowrap; }

/* ── Ortak aksiyon ikon butonları (.act-btn) ───────────────────────
   Takvim / sohbete yönlendir / kaldır aksiyonları tek aileden pill'ler:
   30px yükseklik, ikon-öncelikli; etiket hover/focus'ta buton uzayarak
   açılır (dar alanlara sığması için). Dokunmatik dar ekranda etiket
   hep açık kalır çünkü hover yok. */
.act-btn {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  height:30px;
  min-width:30px;
  padding:0 7px;
  border:1px solid var(--border);
  border-radius:999px;
  background:var(--surface-solid,#fff);
  color:var(--muted);
  font-family:inherit;
  font-size:11px;
  font-weight:700;
  line-height:1;
  white-space:nowrap;
  flex:0 0 auto;
  cursor:pointer;
  box-shadow:0 1px 2px rgba(0,0,0,.05);
  transition:color .16s, border-color .16s, background .16s, box-shadow .16s;
}
.act-btn svg { width:15px; height:15px; display:block; flex:0 0 auto; }
.act-btn .act-label {
  display:block;
  max-width:0;
  opacity:0;
  overflow:hidden;
  margin-left:0;
  transition:max-width .24s ease, opacity .16s ease, margin-left .24s ease;
}
.act-btn:hover .act-label,
.act-btn:focus-visible .act-label { max-width:150px; opacity:1; margin-left:6px; }
.act-btn:hover { box-shadow:0 3px 9px rgba(0,0,0,.09); }
.act-btn:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
.act-calendar {
  color:var(--accent);
  border-color:color-mix(in srgb, var(--accent) 26%, var(--border));
  background:color-mix(in srgb, var(--accent) 6%, var(--surface-solid,#fff));
}
.act-calendar:hover { border-color:var(--accent); background:var(--accent-soft); }

.act-edit { color:var(--muted); }
.act-edit:hover { color:var(--accent); border-color:color-mix(in srgb,var(--accent) 42%,var(--border)); background:var(--accent-soft); }
.act-ticket { color:#8b5cf6; border-color:color-mix(in srgb,#8b5cf6 28%,var(--border)); background:color-mix(in srgb,#8b5cf6 7%,var(--surface-solid,#fff)); }
.act-ticket:hover { color:#7c3aed; border-color:#8b5cf6; background:color-mix(in srgb,#8b5cf6 13%,var(--surface-solid,#fff)); }
.act-rpt { color:#0f766e; border-color:color-mix(in srgb,#14b8a6 28%,var(--border)); background:color-mix(in srgb,#14b8a6 7%,var(--surface-solid,#fff)); }
.act-rpt:hover { color:#0f766e; border-color:#14b8a6; background:color-mix(in srgb,#14b8a6 13%,var(--surface-solid,#fff)); }
.act-restore { color:#b45309; border-color:color-mix(in srgb,#f59e0b 30%,var(--border)); background:color-mix(in srgb,#f59e0b 8%,var(--surface-solid,#fff)); }
.act-restore:hover { color:#92400e; border-color:#f59e0b; background:color-mix(in srgb,#f59e0b 16%,var(--surface-solid,#fff)); }
.act-close { color:var(--muted); }
.act-close:hover { color:var(--text); border-color:color-mix(in srgb,var(--text) 22%,var(--border)); background:color-mix(in srgb,var(--text) 7%,var(--surface-solid,#fff)); }

.act-remove { color:#d70015; border-color:rgba(215,0,21,.16); }
.act-remove:hover { color:#fff; border-color:#d70015; background:#d70015; }
html[data-theme="dark"] .act-btn { border-color:rgba(255,255,255,.13); background:#2c2c2e; color:#c7c7cc; box-shadow:0 1px 2px rgba(0,0,0,.3); }
html[data-theme="dark"] .act-calendar { color:#64aef7; border-color:rgba(100,174,247,.3); background:rgba(100,174,247,.09); }
html[data-theme="dark"] .act-calendar:hover { border-color:#64aef7; background:rgba(100,174,247,.16); }

html[data-theme="dark"] .act-edit { color:#aeaeb2; }
html[data-theme="dark"] .act-edit:hover { color:#64aef7; border-color:rgba(100,174,247,.4); background:rgba(100,174,247,.1); }
html[data-theme="dark"] .act-ticket { color:#c4b5fd; border-color:rgba(167,139,250,.3); background:rgba(139,92,246,.1); }
html[data-theme="dark"] .act-ticket:hover { color:#fff; border-color:#a78bfa; background:rgba(139,92,246,.28); }
html[data-theme="dark"] .act-rpt { color:#5eead4; border-color:rgba(45,212,191,.28); background:rgba(20,184,166,.09); }
html[data-theme="dark"] .act-rpt:hover { color:#fff; border-color:#2dd4bf; background:rgba(13,148,136,.3); }
html[data-theme="dark"] .act-restore { color:#fbbf24; border-color:rgba(251,191,36,.28); background:rgba(245,158,11,.09); }
html[data-theme="dark"] .act-restore:hover { color:#fff; border-color:#f59e0b; background:rgba(180,83,9,.42); }
html[data-theme="dark"] .act-close { color:#aeaeb2; }
html[data-theme="dark"] .act-close:hover { color:#fff; border-color:rgba(255,255,255,.22); background:#3a3a3c; }

html[data-theme="dark"] .act-remove { color:#ff6961; border-color:rgba(255,69,58,.26); }
html[data-theme="dark"] .act-remove:hover { color:#fff; border-color:#ff453a; background:#ff453a; }

/* Sipariş detay başlığı: ikon öncelikli, hover/focus ile açıklaması açılan araç çubuğu. */
.order-modal-actions {
  display:flex; align-items:center; justify-content:flex-end; gap:5px; 
  padding:5px; border:1px solid color-mix(in srgb,var(--border) 86%,transparent); border-radius:14px;
  background:color-mix(in srgb,var(--surface) 72%,transparent); box-shadow:0 8px 24px rgba(0,0,0,.055),inset 0 1px 0 rgba(255,255,255,.07);
}
.modal-act-btn {
  height:40px; min-width:40px; padding:0 10px; overflow:hidden; border-radius:10px; font-size:11px; font-weight:750;
  box-shadow:none; transition:color .16s,border-color .16s,background .16s,box-shadow .16s,transform .16s;
}
.modal-act-btn svg { width:18px; height:18px; }
.modal-act-btn:hover { transform:translateY(-1px); box-shadow:0 7px 16px rgba(0,0,0,.12); }
.modal-act-btn:hover .act-label,.modal-act-btn:focus-visible .act-label { max-width:210px; margin-left:8px; }
.modal-act-btn.act-close { margin-left:3px; }
html[data-theme="dark"] .order-modal-actions { border-color:rgba(255,255,255,.09); background:rgba(18,18,20,.45); box-shadow:0 10px 28px rgba(0,0,0,.2),inset 0 1px 0 rgba(255,255,255,.035); }
@media (max-width:760px) {
  .order-modal-actions { width:100%; justify-content:flex-start; }
}
/* Hover olmayan (dokunmatik) dar ekranlarda etiketler hep açık */
@media (max-width:760px) and (hover:none) {
  .act-btn .act-label { max-width:150px; opacity:1; margin-left:6px; }
}

.calendar-add-btn {
  border-color:color-mix(in srgb,var(--accent) 30%,var(--border)) !important;
  color:var(--accent) !important;
  background:color-mix(in srgb,var(--accent) 7%,var(--surface-solid,#fff)) !important;
  font-weight:750 !important;
  white-space:nowrap;
}
.calendar-add-btn:hover {
  border-color:var(--accent) !important;
  background:var(--accent-soft) !important;
  transform:translateY(-1px);
}

.ticket-status {
  min-height:30px;
  margin:0;
  padding:5px 11px;
  border:1px solid rgba(0,0,0,.055);
  border-radius:999px;
  font-size:11px;
  font-weight:700;
}
.ticket-status:hover { filter:brightness(.98); }

.order-ticket-scroll.has-ticket-menu-open {
  max-height:none;
  overflow:visible;
  padding-right:0;
}

.order-ticket-scroll .ticket.is-menu-open {
  z-index:100;
  overflow:visible;
}
.order-ticket-scroll .ticket.is-menu-open .ticket-menu-wrap { z-index:120; }
.order-ticket-scroll .ticket.is-menu-open .ticket-action-menu { z-index:140; }

.ticket-detail-modal {
  --ticket-modal-accent:#0071e3;
  --ticket-modal-soft:rgba(0,113,227,.08);
}
.ticket-detail-modal.prio-1 { --ticket-modal-accent:#b7791f; --ticket-modal-soft:rgba(245,158,11,.13); }
.ticket-detail-modal.prio-2 { --ticket-modal-accent:#c2410c; --ticket-modal-soft:rgba(239,68,68,.12); }
.ticket-detail-modal.prio-3 { --ticket-modal-accent:#8b0000; --ticket-modal-soft:rgba(139,0,0,.14); box-shadow:0 28px 80px rgba(0,0,0,.2),0 0 24px rgba(139,0,0,.22); }

html[data-theme="dark"] .ticket-aside::before {
  background:repeating-linear-gradient(to bottom, rgba(255,255,255,.2) 0 5px, transparent 5px 10px);
}
html[data-theme="dark"] .ticket:hover {
  border-color:color-mix(in srgb, var(--ticket-accent) 34%, rgba(255,255,255,.12)) !important;
  
}
html[data-theme="dark"] .ticket-no-badge,
html[data-theme="dark"] .ticket-reply-count {
  color:#c7c7cc;
  border-color:rgba(255,255,255,.07);
  background:#1f1f21 !important;
}
html[data-theme="dark"] .ticket-sip-wrap,
html[data-theme="dark"] .ticket-sipno,
html[data-theme="dark"] .ticket-msg { color:#f5f5f7; }
html[data-theme="dark"] .ticket-route-code {
  color:rgba(245,245,247,.78);
  text-shadow:0 1px 0 rgba(255,255,255,.08),0 -1px 0 rgba(0,0,0,.55);
}
html[data-theme="dark"] .ticket-route-arrow {
  text-shadow:0 1px 0 rgba(255,255,255,.08);
}
html[data-theme="dark"] .ticket-route-name { color:#98989d; }
html[data-theme="dark"] .ticket-sip-prefix,
html[data-theme="dark"] .ticket-context,
html[data-theme="dark"] .ticket-context .ticket-author,
html[data-theme="dark"] .ticket-context .ticket-task-note,
html[data-theme="dark"] .ticket-time { color:#98989d; }
html[data-theme="dark"] .ticket-context .ticket-task-note:hover,
html[data-theme="dark"] .ticket-context .ticket-task-note:focus-within {
  border-color:rgba(255,255,255,.09);
  background:#2c2c2e;
  box-shadow:0 8px 22px rgba(0,0,0,.28);
}
html[data-theme="dark"] :is(.ticket,.tk-tags) .ticket-cat {
  color:color-mix(in srgb, var(--ticket-tag-accent, #d1d1d6) 72%, #f5f5f7) !important;
  background:color-mix(in srgb, var(--ticket-tag-accent, #d1d1d6) 13%, #242426) !important;
  border-color:color-mix(in srgb, var(--ticket-tag-accent, #d1d1d6) 22%, rgba(255,255,255,.08));
}
html[data-theme="dark"] .ticket-time .ticket-updated { color:#64aef7; }

/* ── Ticket kartı v2: mesaj-önce hiyerarşi ─────────────────────────
   Yüzlerce ticket arasında göz MESAJI tarar; sipariş no/ID metadatadır.
   1. satır: kategori çipi + mesaj (vurgulu) — 2. satır: #id + sipariş no (sönük). */
.ticket-msg .ticket-msg-text { font-size:13.5px; font-weight:650; letter-spacing:-.004em; }
.ticket-idline .ticket-sip-wrap { font-size:12px; font-weight:600; color:#86868b; }
.ticket-idline .ticket-sipno { font-size:12px; font-weight:700; }
.ticket-idline .ticket-sip-link { color:#6e6e73; }
.ticket-idline .ticket-sip-link:hover { color:#0071e3; }
html[data-theme="dark"] .ticket-idline .ticket-sip-wrap { color:#98989d; }
html[data-theme="dark"] .ticket-idline .ticket-sip-link { color:#c7c7cc; }
html[data-theme="dark"] .ticket-idline .ticket-sip-link:hover { color:#64aef7; }

/* Açık kalan ticketın yaşı: 2+ gün amber, 7+ gün kırmızı — bekleyen iş bir bakışta görünür. */
.ticket-age {
  display:inline-flex; align-items:center; gap:5px;
   border-radius:999px;
   font-weight:750; line-height:1.3; white-space:nowrap;
  color:#b45309; background:rgba(245,158,11,.13); border:1px solid rgba(245,158,11,.3);
}
.ticket-age::before { content:""; width:5px; height:5px; border-radius:99px; background:currentColor; }
.ticket-age.is-stale { color:#b91c1c; background:rgba(239,68,68,.11); border-color:rgba(239,68,68,.3); }
html[data-theme="dark"] .ticket-age { color:#fbbf24; background:rgba(251,191,36,.11); border-color:rgba(251,191,36,.28); }
html[data-theme="dark"] .ticket-age.is-stale { color:#f87171; background:rgba(239,68,68,.12); border-color:rgba(239,68,68,.32); }

@media (max-width:760px) {
  .ticket {

    gap:9px;

  }
  .ticket-foot { flex-wrap:wrap; row-gap:3px; }
  
  .ticket-route-stamp {
    justify-self:start;
  }
  .ticket-route-wrap {
    
    justify-self:start;
    justify-content:flex-start;
  }
  .ticket > .ticket-aside {
    min-width:0;
    width:100%;
    height:auto;
    padding-left:0;
    flex-direction:row !important;
    align-items:center !important;
    justify-content:space-between;
    flex-wrap:nowrap;
  }
  
  .ticket-time { justify-content:flex-end; }
  .ticket-action-row {  flex-wrap:wrap; }
}

/* Tickets page controls */
.ticket-controls { display:flex; flex-direction:column; gap:14px; margin-bottom:20px; }
.ticket-tabs { display:inline-flex; gap:4px; padding:4px; border:1px solid var(--border); border-radius:13px; background:rgba(0,0,0,.02); align-self:flex-start; }
.ticket-tab { display:inline-flex; align-items:center; gap:6px; padding:7px 14px; border:0; border-radius:9px; background:transparent; color:var(--muted); font:600 12.5px inherit; cursor:pointer; transition:all .15s; }
.ticket-tab:hover { color:var(--text); }
.ticket-tab.active { color:var(--text); background:var(--surface-solid,#fff); box-shadow:0 1px 3px rgba(0,0,0,.1); }
.ticket-tab-count { min-width:18px; height:18px; padding:0 5px; display:inline-flex; align-items:center; justify-content:center; border-radius:9px; background:var(--danger); color:#fff; font-size:10px; font-weight:700; }
.ticket-filter-row { display:flex; gap:10px; flex-wrap:wrap; align-items:center; }

.ticket-filter-row select { width:auto; min-width:150px; }

.new-ticket-cta {
  position:relative; isolation:isolate; min-height:44px; padding:0 18px 0 16px; border:1px solid rgba(0,113,227,.28);
  border-radius:14px; background:linear-gradient(135deg,rgba(0,113,227,.96),rgba(52,145,245,.9));
  color:#fff; box-shadow:0 10px 24px rgba(0,113,227,.18), inset 0 1px rgba(255,255,255,.28);
  overflow:hidden; font-size:13px; font-weight:700; letter-spacing:0; transform:translateZ(0);
}
.new-ticket-cta::before {
  content:""; position:absolute; inset:1px; z-index:-1; border-radius:13px;
  background:linear-gradient(135deg,rgba(255,255,255,.32),rgba(255,255,255,.06) 42%,rgba(255,255,255,0));
  opacity:.55; transition:opacity .18s ease;
}
.new-ticket-cta::after {
  content:""; position:absolute; top:-70%; bottom:-70%; left:-45%; width:38%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.72),transparent);
  transform:translateX(-120%) rotate(18deg); transition:transform .55s ease; pointer-events:none;
}
.new-ticket-cta:hover { color:#fff; transform:translateY(-2px); border-color:rgba(255,255,255,.42); box-shadow:0 16px 34px rgba(0,113,227,.26), inset 0 1px rgba(255,255,255,.45); }
.new-ticket-cta:hover::before { opacity:.9; }
.new-ticket-cta:hover::after { transform:translateX(360%) rotate(18deg); }
.new-ticket-cta:active { transform:translateY(0) scale(.98); }
.new-ticket-cta svg { width:22px; height:22px; stroke-width:1.9; }

/* ── TOPBAR COLLAPSIBLE ACTIONS (mobil) ────────────────────────── */

@keyframes syncSpin { to { transform:rotate(360deg); } }

@media (max-width:760px) {
  
  .new-ticket-cta { flex:1; justify-content:center; }

}

html[data-theme="dark"] .ticket-tabs { background:rgba(255,255,255,.04); }
html[data-theme="dark"] .ticket-tab.active { background:#3a3a3c; }

/* ── HERO DİJİTAL SAAT ──────────────────────────────────────────── */

/* PERF: filter:drop-shadow animasyonu saniyede bir repaint tetikliyordu; opacity+scale compositor'da kalır */
@keyframes clockColonPulse {
  0%,100% { opacity:1; transform:scale(1); }
  50% { opacity:.35; transform:scale(.92); }
}

/* ── TERMİN (teslim tarihi) ─────────────────────────────────────── */

.termin-row { display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; margin-bottom:12px; padding:10px 14px; border:1px solid var(--border); border-radius:var(--radius-sm); background:rgba(127,127,127,.05); }

.termin-badge { font-size:11px; font-weight:600; padding:2px 9px; border-radius:10px; white-space:nowrap; max-width:100%; }
.termin-badge.overdue { background:#fee2e2; color:#991b1b; }
.termin-badge.soon { background:#ffedd5; color:#9a3412; }
.termin-badge.ok { background:#dcfce7; color:#166534; }
.termin-badge.past { background:rgba(127,127,127,.13); color:var(--muted); }

.termin-picker { margin-bottom:16px; padding:12px; border:1px solid var(--border); border-radius:var(--radius-sm); background:var(--surface-solid,#fff); max-width:340px; }

/* Takvim bileşeni */
.cal-header { display:flex; align-items:center; justify-content:space-between; margin-bottom:10px; }
.cal-title { font-size:14px; font-weight:650; color:var(--text); }
.cal-nav { width:30px; height:30px; display:grid; place-items:center; border:1px solid var(--border); border-radius:8px; background:transparent; color:var(--text); font-size:18px; cursor:pointer; transition:all .15s; }
.cal-nav:hover { border-color:var(--accent); color:var(--accent); background:var(--accent-soft); }
.cal-weekdays, .cal-grid { display:grid; grid-template-columns:repeat(7,1fr); gap:4px; }
.cal-dow { text-align:center; font-size:10px; font-weight:700; color:var(--muted); text-transform:uppercase; letter-spacing:.04em; padding:4px 0; }
.cal-cell { position:relative; min-height:34px; padding:4px; border-radius:8px; border:1px solid transparent; display:flex; flex-direction:column; align-items:center; gap:2px; }
.cal-cell.empty { border:0; }
.cal-cell .cal-num { font-size:12px; color:var(--text); }
.cal-cell.today { border-color:#16a34a; background:rgba(22,163,74,.1); }
.cal-cell.today .cal-num { color:#16a34a; font-weight:800; }
.cal-cell.selected { background:var(--accent); }
.cal-cell.selected .cal-num { color:#fff; font-weight:700; }
.cal-cell.has-termin { background:var(--accent-soft); }
.cal-dot { font-size:9px; font-weight:700; min-width:15px; height:15px; padding:0 3px; display:inline-flex; align-items:center; justify-content:center; border-radius:8px; background:var(--accent); color:#06151a; }
/* Seçici takviminde günler tıklanabilir */
.termin-picker .cal-cell:not(.empty) { cursor:pointer; }
.termin-picker .cal-cell:not(.empty):hover { border-color:var(--accent); }
.termin-picker .cal-cell.order-open-date { border-color:#16a34a; background:rgba(22,163,74,.14); box-shadow:inset 0 0 0 1px rgba(22,163,74,.55); }
.termin-picker .cal-cell.order-open-date .cal-num { color:#16a34a; font-weight:800; }
.termin-picker .cal-cell.order-open-date.selected .cal-num { color:#fff; }
/* İki ofisli termin: takvimde ofis renginde nokta, revize edilen eski tarih içi boş nokta */
.termin-board { --tm-istanbul:var(--accent); --tm-bursa:#8b5cf6; display:flex; flex-wrap:wrap; align-items:flex-start; gap:14px 18px; }
.order-termin-panel .termin-board .termin-picker { flex:0 1 320px; margin:0; }
.cal-tm { display:flex; gap:3px; height:5px; }
.cal-tm i { width:5px; height:5px; border-radius:50%; }
.cal-tm i.istanbul { background:var(--tm-istanbul); }
.cal-tm i.bursa { background:var(--tm-bursa); }
.cal-tm i.old { box-shadow:inset 0 0 0 1px var(--muted); opacity:.7; }
.termin-picker .cal-cell.tm-active { background:var(--accent-soft); }
.termin-picker .cal-cell.tm-active .cal-num { font-weight:700; }
.termin-log { flex:1 1 230px; min-width:0; display:flex; flex-direction:column; }
.termin-log-heading { display:grid; gap:3px; padding:2px 2px 8px; border-bottom:1px solid var(--border); }
.termin-log-heading strong { color:var(--text); font-size:12px; }
.termin-log-heading span { color:var(--muted); font-size:10px; }
/* Termin paneli v3 (2026-10-17): termin kumaş/renk satırında; tarihe tıklayınca
   küçük takvim açılır (gün seç = ekle, başka gün = ötele); not + Kaldır aynı yerde. */
.tp-board { position:relative; display:block; }
.tp-head { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:2px 2px 10px; border-bottom:1px solid var(--border); }
.tp-head strong { color:var(--text); font-size:13px; }
.tp-all { padding:6px 11px; border:1px solid var(--border); border-radius:8px; background:transparent; color:var(--text); font:600 11px var(--font); cursor:pointer; }
.tp-all:hover, .tp-all.is-active { border-color:color-mix(in srgb,var(--accent) 55%,var(--border)); background:var(--accent-soft); }
.tp-rows { display:grid; }
.tp-fabric { padding:6px 0; border-bottom:1px solid var(--border); }
.tp-fabric:last-child { border-bottom:0; }
.tp-fabric-head { display:flex; align-items:baseline; gap:8px; padding:6px 2px 2px; }
.tp-fabric-head strong { color:var(--text); font-size:12px; font-weight:700; }
.tp-fabric-head small, .tp-row-label small { color:var(--muted); font-size:10.5px; font-variant-numeric:tabular-nums; }
.tp-row { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:4px 12px; min-height:44px; padding:5px 2px; }
.tp-row.is-color { padding-left:14px; min-height:38px; }
.tp-row-label { min-width:0; display:grid; gap:2px; }
.tp-row-label strong { overflow:hidden; color:var(--text); font-size:12px; font-weight:650; text-overflow:ellipsis; white-space:nowrap; }
.tp-row.is-color .tp-row-label strong { font-weight:550; }
.tp-row-termins { display:flex; flex-wrap:wrap; justify-content:flex-end; align-items:center; gap:6px; }
.tp-row-meta { grid-column:1 / -1; display:grid; gap:3px; }
.tp-chip { display:inline-flex; align-items:baseline; gap:6px; min-height:30px; padding:6px 10px; border:1px solid var(--border); border-radius:8px; background:transparent; color:var(--text); font:inherit; font-variant-numeric:tabular-nums; outline:0; }
button.tp-chip { cursor:pointer; }
button.tp-chip:hover, .tp-chip.is-active { border-color:color-mix(in srgb,var(--accent) 55%,var(--border)); background:var(--accent-soft); }
.tp-chip:focus-visible, .tp-add:focus-visible, .tp-all:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
.tp-chip b { font-size:12px; font-weight:700; }
.tp-chip small { color:var(--muted); font-size:10.5px; font-weight:550; }
.tp-chip em { color:var(--muted); font-size:9.5px; font-style:normal; font-weight:650; letter-spacing:.03em; }
.tp-chip.is-danger { border-color:color-mix(in srgb,var(--danger) 35%,var(--border)); }
.tp-chip.is-danger small, .tp-chip.is-danger b { color:var(--danger); }
.tp-chip.is-warning { border-color:color-mix(in srgb,var(--warning) 35%,var(--border)); }
.tp-chip.is-warning small { color:var(--warning); }
.tp-chip.is-bursa em { color:var(--tm-bursa); }
.tp-chip-note { width:5px; height:5px; align-self:center; border-radius:50%; background:var(--accent); }
.tp-add { display:inline-flex; align-items:center; gap:5px; min-height:30px; padding:6px 10px; border:1px dashed color-mix(in srgb,var(--muted) 45%,var(--border)); border-radius:8px; background:transparent; color:var(--muted); font:600 11px var(--font); cursor:pointer; }
.tp-add:hover, .tp-add.is-active { border-style:solid; border-color:color-mix(in srgb,var(--accent) 55%,var(--border)); background:var(--accent-soft); color:var(--text); }
.tp-none { color:var(--muted); }
.tp-history { margin-top:6px; border-top:1px solid var(--border); padding-top:8px; }
.tp-history summary { color:var(--muted); font-size:11px; font-weight:600; cursor:pointer; list-style:none; }
.tp-history summary::-webkit-details-marker { display:none; }
.tp-history summary b { margin-left:4px; font-weight:600; opacity:.8; }
.tp-history-row { display:grid; grid-template-columns:auto minmax(0,1fr) auto; gap:10px; padding:6px 2px; color:var(--muted); font-size:11px; opacity:.85; }
.tp-history-row b { font-weight:600; font-variant-numeric:tabular-nums; text-decoration:line-through; text-decoration-color:color-mix(in srgb,var(--muted) 60%,transparent); }
.tp-history-row span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.tp-pop { position:absolute; z-index:30; display:grid; gap:8px; padding:10px; border:1px solid var(--border); border-radius:12px; background:var(--surface-solid,#fff); box-shadow:0 14px 38px rgba(15,23,42,.18); }
.tp-pop[hidden] { display:none; }
.tp-pop-head { display:flex; align-items:center; justify-content:space-between; gap:8px; }
.tp-pop-head strong { overflow:hidden; color:var(--text); font-size:12px; text-overflow:ellipsis; white-space:nowrap; }
.tp-pop-close { width:26px; height:26px; border:0; border-radius:7px; background:transparent; color:var(--muted); font-size:16px; cursor:pointer; }
.tp-pop-close:hover { background:color-mix(in srgb,var(--muted) 10%,transparent); color:var(--text); }
.tp-board .tp-pop-cal.termin-picker { margin:0; padding:0; border:0; border-radius:0; background:transparent; box-shadow:none; }
.tp-pop-note { width:100%; height:32px; padding:0 9px; border:1px solid var(--border); border-radius:8px; outline:0; background:transparent; color:var(--text); font:500 11px var(--font); }
.tp-pop-note:focus { border-color:var(--accent); }
.tp-pop-foot { display:flex; align-items:center; justify-content:space-between; gap:8px; color:var(--muted); font-size:10.5px; }
.tp-pop-remove { padding:5px 9px; border:1px solid color-mix(in srgb,var(--danger) 35%,var(--border)); border-radius:7px; background:transparent; color:var(--danger); font:600 11px var(--font); cursor:pointer; }
.tp-pop-remove:hover { background:color-mix(in srgb,var(--danger) 8%,transparent); }
/* Küçük takvim pencereye sığar (2026-10-17): genel .termin-picker 340px'lik
   kutusu ve panel flex tabanı burada geçersiz; başlık uzun kumaş adında kesilir.
   Bugün = ince halka, sipariş açılış günü = altta küçük nokta, seçili = dolgu —
   üçü artık aynı yeşil kutu değil. */
.tp-pop { grid-template-columns:minmax(0,1fr); }
/* Emniyet: içerik ne olursa olsun pencere panelin dışına taşıp yatay kaydırma açmaz. */
.tp-pop { max-width:calc(100% - 8px); overflow:hidden; }
.tp-board { overflow-x:clip; }
.tp-pop > * { min-width:0; }
.tp-pop-head strong { flex:1 1 auto; min-width:0; }
.tp-pop-close { flex:none; }
.tp-board .tp-pop-cal.termin-picker { width:auto; max-width:none; min-width:0; flex:none; }
.tp-pop-cal .cal-header { margin-bottom:6px; }
.tp-pop-cal .cal-weekdays, .tp-pop-cal .cal-grid { grid-template-columns:repeat(7,minmax(0,1fr)); gap:2px; }
.tp-pop-cal .cal-cell { min-height:32px; padding:0; justify-content:center; border-radius:8px; }
.tp-pop-cal .cal-cell.today { border-color:color-mix(in srgb,var(--accent) 55%,transparent); background:transparent; box-shadow:none; }
.tp-pop-cal .cal-cell.today .cal-num { color:var(--accent); font-weight:700; }
.tp-pop-cal .cal-cell.order-open-date { border-color:transparent; background:transparent; box-shadow:none; }
.tp-pop-cal .cal-cell.order-open-date .cal-num { color:var(--text); font-weight:500; }
.tp-pop-cal .cal-cell.order-open-date::after { content:''; position:absolute; left:50%; bottom:3px; width:4px; height:4px; margin-left:-2px; border-radius:50%; background:var(--success,#16a34a); }
.tp-pop-cal .cal-cell.selected, .tp-pop-cal .cal-cell.selected.today, .tp-pop-cal .cal-cell.selected.order-open-date { border-color:var(--accent); background:var(--accent); }
.tp-pop-cal .cal-cell.selected .cal-num { color:#fff; font-weight:700; }
.tp-pop-cal .cal-cell:not(.empty):not(.selected):hover { border-color:transparent; background:color-mix(in srgb,var(--accent) 12%,transparent); }
.tp-pop-legend { display:flex; gap:12px; color:var(--muted); font-size:10.5px; }
.tp-pop-legend i { display:inline-block; width:6px; height:6px; margin-right:5px; border-radius:50%; vertical-align:1px; }
.tp-pop-legend .is-open i { background:var(--success,#16a34a); }
.tp-pop-legend .is-today i { box-shadow:inset 0 0 0 1.5px var(--accent); }
.tp-pop-undo { padding:5px 9px; border:1px solid var(--border); border-radius:7px; background:transparent; color:var(--text); font:600 11px var(--font); cursor:pointer; }
.tp-pop-undo:hover { background:color-mix(in srgb,var(--text) 6%,transparent); }
.tp-pop-foot span { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.termin-log-row { --tm-color:var(--tm-istanbul); display:grid; grid-template-columns:7px minmax(0,1fr) auto; align-items:center; gap:9px; min-height:57px; padding:8px 2px; border-bottom:1px solid var(--border); font-size:12px; }
.termin-log-row:last-child { border-bottom:0; }
.termin-log-row.is-bursa { --tm-color:var(--tm-bursa); }
.termin-log-dot { width:7px; height:7px; border-radius:50%; background:var(--tm-color); }
.termin-log-main { min-width:0; display:grid; gap:3px; }
.termin-log-main strong { overflow:hidden; color:var(--text); font-size:12px; text-overflow:ellipsis; white-space:nowrap; }
.termin-log-main>span { overflow:hidden; color:var(--muted); font-size:10.5px; text-overflow:ellipsis; white-space:nowrap; }
.termin-postpone-reminder { color:#b7791f; font-size:10px; font-weight:650; }
/* Termin açıklaması satırda görünür durur; kopyalanabilir ve okunaklıdır. */
.termin-log-note { display:block; max-width:62ch; margin-top:1px; padding-left:8px; border-left:2px solid color-mix(in srgb, var(--tm-color) 55%, transparent); color:var(--text); font-size:11px; line-height:1.45; white-space:normal; overflow-wrap:anywhere; opacity:.92; }
.termin-log-row.is-old .termin-log-note { opacity:.75; }
.termin-log-date { font-weight:700; font-variant-numeric:tabular-nums; color:var(--text); }
.termin-log-who { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:var(--muted); }
.termin-log-who { font-weight:400; }
.termin-by-name { font-weight:400; }
.termin-log-end { display:flex; align-items:center; gap:4px; }
.termin-log-end .termin-badge { padding:1px 7px; border-radius:7px; font-size:10px; font-weight:650; line-height:1.5; }
.termin-log-postpone { padding:4px 6px; border:1px solid color-mix(in srgb,var(--accent) 35%,var(--border)); border-radius:6px; background:var(--accent-soft); color:var(--accent); font:650 10px var(--font); cursor:pointer; }
.termin-log-postpone:hover, .termin-log-row.is-postponing .termin-log-postpone { background:var(--accent); color:#fff; }
.termin-log-row.is-postponing { background:color-mix(in srgb,var(--accent) 7%,transparent); }
.termin-postpone-hint { display:flex; align-items:center; justify-content:space-between; gap:8px; margin:9px 0 0; padding:7px 9px; border:1px solid color-mix(in srgb,var(--accent) 35%,var(--border)); border-radius:8px; background:var(--accent-soft); color:var(--text); font-size:10.5px; }
.termin-postpone-hint[hidden] { display:none; }
.termin-postpone-hint button { border:0; background:transparent; color:var(--accent); font:650 10px var(--font); cursor:pointer; }
.termin-log-edit { width:24px; height:24px; display:grid; place-items:center; border:0; border-radius:6px; background:transparent; color:var(--muted); font-size:15px; cursor:pointer; }
.termin-log-edit:hover { background:var(--accent-soft); color:var(--accent); }
.termin-log-remove { width:22px; height:22px; display:grid; place-items:center; border:0; border-radius:6px; background:transparent; color:var(--muted); font-size:16px; line-height:1; cursor:pointer; }
.termin-log-remove:hover { background:rgba(220,38,38,.1); color:#dc2626; }
.termin-log-editor { grid-column:2 / -1; display:grid; gap:6px; width:100%; }
.termin-log-editor[hidden] { display:none; }
.termin-log-editor textarea { width:100%; min-height:54px; resize:vertical; padding:8px; border:1px solid var(--border); border-radius:8px; outline:0; background:var(--surface-solid,#fff); color:var(--text); font:inherit; }
.termin-log-editor textarea:focus { border-color:var(--accent); }
.termin-log-editor>div { display:flex; justify-content:flex-end; gap:6px; }
.termin-log-editor button { padding:5px 8px; border:1px solid var(--border); border-radius:7px; background:var(--surface-solid,#fff); color:var(--text); font:650 10px var(--font); cursor:pointer; }
.termin-log-editor button:last-child { border-color:var(--accent); background:var(--accent); color:#fff; }
.termin-log-row.is-old { min-height:28px; opacity:.6; }
.termin-log-row.is-old .termin-log-dot { background:transparent; box-shadow:inset 0 0 0 1.5px var(--tm-color); }
.termin-log-row.is-old .termin-log-date { font-weight:500; text-decoration:line-through; }

/* Büyük dashboard takvimi */
.termin-calendar-card {
  position:relative;
  isolation:isolate;
  transition:transform .28s cubic-bezier(.2,.8,.2,1), box-shadow .28s ease, border-color .28s ease, background .28s ease;
  transform-origin:center;
}
@media (hover:hover) and (pointer:fine) {
  .termin-calendar-card:not(.termin-planner-expanded):hover {
    /* Büyüme/kalkma animasyonu kaldırıldı: kart imleç üzerine gelince sabit durur. */
    border-color:color-mix(in srgb,var(--accent) 28%,var(--border));
    box-shadow:0 26px 60px -38px rgba(15,23,42,.52), 0 0 0 1px color-mix(in srgb,var(--accent) 10%,transparent);
  }
  .termin-calendar-card:not(.termin-planner-expanded):hover .termin-planner-open { transform:translateY(-1px); border-color:var(--accent); background:var(--accent); color:#fff; }
}
.termin-calendar-card .card-head-row { margin-bottom:8px; }
.termin-planner-head { min-height:38px; }
.termin-planner-title-wrap { display:flex; align-items:center; gap:12px; min-width:0; }
.termin-planner-head-actions { display:flex; align-items:center; justify-content:flex-end; gap:10px; margin-left:auto; }
.termin-planner-open {
  min-height:32px; display:inline-flex; align-items:center; gap:7px; padding:6px 11px;
  border:1px solid var(--border); border-radius:999px; background:var(--surface-solid,#fff); color:var(--text);
  font:700 10.5px inherit; white-space:nowrap; cursor:pointer; transition:all .2s ease;
}
.termin-planner-open-arrow { font-size:14px; font-weight:500; line-height:1; }
/* Filtre çubuğu varsayılan kapalı: takvim ilk bakışta sade kalsın. Düğme
   çubuğu açıp kapatır; çubuk kapalıyken kaç filtrenin açık olduğunu rozet
   söyler, yoksa kullanıcı "takvim neden eksik" diye düşünür. */
.termin-filter-toggle {
  min-height:32px; display:inline-flex; align-items:center; gap:7px; padding:6px 11px;
  border:1px solid var(--border); border-radius:999px; background:var(--surface-solid,#fff); color:var(--muted);
  font:700 10.5px inherit; white-space:nowrap; cursor:pointer; transition:all .2s ease;
}
.termin-filter-toggle svg { width:14px; height:14px; stroke-width:1.9; }
.termin-filter-toggle:hover { border-color:color-mix(in srgb,var(--accent) 45%,var(--border)); color:var(--text); }
.termin-filter-toggle.is-open { border-color:color-mix(in srgb,var(--accent) 45%,var(--border)); background:var(--accent-soft); color:var(--accent); }
.termin-filter-toggle > b {
  min-width:16px; height:16px; display:grid; place-items:center; padding:0 4px; border-radius:999px;
  background:var(--accent); color:#fff; font:800 9px var(--font-numeric,inherit);
}
/* display:grid, [hidden]'ı ezer: rozet filtre yokken gerçekten gizlensin. */
.termin-filter-toggle > b[hidden] { display:none; }

.termin-filter-row[hidden] { display:none; }

.planner-app { position:relative; width:100%; height:100%; min-height:0; display:flex; flex-direction:column; overflow:hidden; color:var(--text); background:var(--surface-solid,#fff); }

.planner-sidebar { min-height:0; padding:16px 14px; border-right:1px solid var(--border); overflow-y:auto; background:color-mix(in srgb,var(--surface-solid,#fff) 98%,var(--accent)); }

.planner-drag-ghost { position:absolute; z-index:5; left:4px; right:4px; display:flex; flex-direction:column; gap:2px; padding:4px 7px; overflow:hidden; border:1.5px dashed color-mix(in srgb,var(--accent) 65%,transparent); border-radius:6px; background:color-mix(in srgb,var(--accent) 14%,transparent); pointer-events:none; }
.planner-drag-ghost strong { font-size:10px; color:var(--accent); white-space:nowrap; }
.planner-drag-ghost span { font-size:8.5px; color:var(--accent); opacity:.85; white-space:nowrap; }
.planner-drag-ghost.fine { border-style:solid; background:color-mix(in srgb,var(--accent) 20%,transparent); }

.planner-editor-layer { position:absolute; inset:0; z-index:30; display:grid; place-items:center;    }
.planner-editor {   overflow:auto;  border:1px solid var(--border);  background:var(--surface-solid,#fff); box-shadow:0 24px 65px rgba(0,0,0,.28); animation:plannerEditorIn .2s cubic-bezier(.2,.8,.2,1); }
@keyframes plannerEditorIn { from { opacity:0; transform:translateY(10px) scale(.98); } }
.planner-editor-top { display:flex; justify-content:space-between; align-items:center;  }
.planner-editor-top button {   border:0;  background:transparent; color:var(--muted);  cursor:pointer; }.planner-editor-top button:hover { background:rgba(127,127,127,.08); color:var(--text); }
.planner-editor-title { width:calc(100% - 42px); margin:2px 0 10px 42px; padding:7px 0 8px; border:0; border-bottom:2px solid var(--accent); outline:0; background:transparent; color:var(--text); font:500 20px inherit; }
.planner-title-composer { position:relative;  }
.planner-title-composer .planner-editor-title { width:100%; margin:0; box-sizing:border-box; }
.planner-title-customer-slot { display:flex;  }
.planner-title-customer-slot[hidden] { display:none; }
.planner-title-customer-chip { max-width:100%; display:inline-flex; align-items:center; gap:6px; padding:5px 8px 5px 6px; border:1px solid color-mix(in srgb,var(--accent) 30%,transparent); border-radius:999px; background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 14%,var(--surface-solid,#fff)),color-mix(in srgb,#8b5cf6 9%,var(--surface-solid,#fff))); color:var(--accent); font-size:10px; font-weight:800; box-shadow:0 4px 12px color-mix(in srgb,var(--accent) 10%,transparent); }
.planner-customer-chip-mark { width:20px; height:20px; display:grid; place-items:center; border-radius:50%; background:var(--accent); color:#fff; font-size:9px; }
.planner-title-customer-chip button { width:18px; height:18px; display:grid; place-items:center; padding:0; border:0; border-radius:50%; background:color-mix(in srgb,var(--accent) 12%,transparent); color:var(--accent); font:800 13px/1 inherit; cursor:pointer; }
.planner-title-customer-chip button:hover { color:#fff; background:var(--accent); }

.planner-editor-types button {  border:0;  background:transparent; color:var(--muted); font:700 10px inherit; cursor:pointer; }

.planner-editor-row { display:grid;  align-items:center;   }
.planner-editor-date { display:flex; flex-direction:column; gap:2px; min-width:0; }.planner-editor-date span { color:var(--muted);  }
.planner-editor-row input[type=time],.planner-editor-row select { min-height:34px; padding:6px 8px; border:1px solid var(--border); border-radius:8px; background:var(--surface-solid,#fff); color:var(--text); font:600 10px inherit; }

.planner-time-range input[type=time] {  min-width:0; box-sizing:border-box; }

.planner-reminder-lead-row {
     
  border:1px solid color-mix(in srgb,#f59e0b 28%,var(--border)); 
  background:linear-gradient(135deg,color-mix(in srgb,#f59e0b 9%,transparent),color-mix(in srgb,var(--accent) 4%,transparent));
}
.planner-reminder-lead-row[hidden] { display:none; }

.planner-reminder-lead-copy { min-width:0; display:grid;  }

.planner-reminder-lead-copy span { color:var(--muted); font-family:var(--font-numeric);  line-height:1.35; }
.planner-reminder-lead-controls { display:flex; align-items:center;  }
.planner-reminder-lead-controls input[type=number] {   padding:6px 7px; border:1px solid var(--border); border-radius:8px; background:var(--surface-solid,#fff); color:var(--text); font:700 11px var(--font-numeric); text-align:center; font-variant-numeric:tabular-nums; }

.planner-reminder-lead-controls > span { color:var(--muted); font-size:9px; font-weight:700; white-space:nowrap; }

@media (max-width:520px) { .planner-reminder-lead-row { grid-template-columns:30px minmax(0,1fr); padding-bottom:10px; } .planner-reminder-lead-controls { grid-column:2; justify-content:flex-start; } }
.planner-editor-customer-row { grid-template-columns:30px minmax(0,1fr); align-items:start; padding:5px 0; }
.planner-customer-picker { position:relative; grid-column:2; min-width:0; display:grid; gap:5px; }
.planner-customer-search-shell {  display:grid; grid-template-columns:25px minmax(0,1fr) auto; align-items:center; gap:4px; padding:3px 4px 3px 8px; border:1px solid color-mix(in srgb,var(--accent) 24%,var(--border));  background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 3%,var(--surface-solid,#fff)),var(--surface-solid,#fff));  }
.planner-customer-search-shell:focus-within {  box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 12%,transparent),0 7px 18px rgba(0,0,0,.06); }
.planner-customer-search-shell > span { color:var(--accent); font-size:17px; font-weight:700; text-align:center; }
.planner-customer-search-shell input { min-width:0; height:30px; padding:0 3px; border:0; outline:0; background:transparent; color:var(--text); font:650 10.5px inherit; }
.planner-customer-search-shell input::placeholder { color:var(--muted); font-weight:550; }
.planner-customer-search-shell > button { min-height:29px; padding:5px 10px; border:0; border-radius:8px; background:var(--accent-soft); color:var(--accent); font:800 9.5px inherit; cursor:pointer; }
.planner-customer-search-shell > button:hover { color:#fff; background:var(--accent); }
.planner-customer-search-shell > button:disabled { opacity:.45; cursor:default; }

.planner-customer-linked-dot { width:7px; height:7px; flex:0 0 auto; border-radius:50%; background:#22c55e; box-shadow:0 0 0 3px rgba(34,197,94,.12); }
.planner-customer-smart-mark { color:var(--accent); font-weight:900; }
.planner-customer-suggestions { position:absolute; z-index:45; left:0; right:0; top:43px; display:grid; gap:2px; max-height:230px; overflow:auto; padding:5px; border:1px solid color-mix(in srgb,var(--accent) 24%,var(--border)); border-radius:12px; background:var(--surface-solid,#fff); box-shadow:0 18px 44px rgba(0,0,0,.22); }
.planner-customer-suggestions[hidden] { display:none; }

.planner-customer-suggestion,.planner-customer-add-new { width:100%; min-height:43px; display:grid; grid-template-columns:30px minmax(0,1fr) 18px; align-items:center; gap:8px; padding:6px 8px; border:0; border-radius:9px; background:transparent; color:var(--text); text-align:left; cursor:pointer; }
.planner-customer-suggestion:hover,.planner-customer-suggestion.active { background:linear-gradient(90deg,var(--accent-soft),color-mix(in srgb,var(--accent) 3%,transparent)); }
.planner-customer-suggestion > span,.planner-customer-add-new > span { width:30px; height:30px; display:grid; place-items:center; border-radius:9px; background:linear-gradient(135deg,var(--accent),#7c3aed); color:#fff; font-size:9px; font-weight:850; }
.planner-customer-suggestion > div,.planner-customer-add-new > div { min-width:0; display:grid; gap:2px; }
.planner-customer-suggestion strong,.planner-customer-add-new strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:10.5px; }
.planner-customer-suggestion small,.planner-customer-add-new small { color:var(--muted); font-size:8.5px; }
.planner-customer-suggestion > i { color:var(--accent); font-size:12px; font-style:normal; opacity:.65; }
.planner-customer-add-new { grid-template-columns:30px minmax(0,1fr); margin-top:2px; border-top:1px solid var(--border); border-radius:0 0 8px 8px; }
.planner-customer-add-new:hover { background:color-mix(in srgb,#16a34a 8%,transparent); }
.planner-customer-add-new > span { background:#16a34a; font-size:15px; }
.planner-editor-row select:first-of-type { grid-column:2; }.planner-editor-row textarea { grid-column:2 / -1; min-height:76px; padding:9px 10px; border:1px solid var(--border); border-radius:10px; resize:vertical; background:var(--surface-solid,#fff); color:var(--text); font:11px/1.45 inherit; }
.planner-editor-description { grid-template-columns:30px minmax(0,1fr); align-items:start; padding-top:5px; }
.planner-editor-text-wrap { position:relative; grid-column:2; min-width:0; }
.planner-editor-text-wrap textarea { width:100%; box-sizing:border-box; }
.planner-note-mentions { position:absolute; z-index:20; left:0; right:0; top:calc(100% + 4px); display:grid; gap:2px; max-height:210px; overflow:auto; padding:5px; border:1px solid var(--border); border-radius:11px; background:var(--surface-solid,#fff); box-shadow:0 14px 36px rgba(0,0,0,.2); }
.planner-note-mentions[hidden] { display:none; }

.planner-note-mentions button { display:grid; grid-template-columns:26px minmax(0,1fr) auto; align-items:center; gap:8px; width:100%; padding:6px 8px; border:0; border-radius:8px; background:transparent; color:var(--text); text-align:left; cursor:pointer; }
.planner-note-mentions button:hover,.planner-note-mentions button.active { background:var(--accent-soft); }
.planner-note-mentions button > span { width:26px; height:26px; display:grid; place-items:center; border-radius:50%; background:var(--accent); color:#fff; font-size:9px; font-weight:800; }
.planner-note-mentions strong { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:10.5px; }.planner-note-mentions small { color:var(--muted); font-size:8.5px; }

.planner-editor-row .planner-color-options { grid-column:2 / -1; justify-self:start; }
.planner-editor-visibility { grid-column:2 / -1; display:flex; align-items:center;  }.planner-editor-visibility button { display:inline-flex; align-items:center; gap:5px;  border:1px solid transparent; border-radius:8px; background:rgba(127,127,127,.06); color:var(--muted); font:700 9.5px inherit; cursor:pointer; }.planner-editor-visibility button.active { color:#fff; border-color:color-mix(in srgb,var(--accent) 70%,#fff); background:linear-gradient(135deg,var(--accent),color-mix(in srgb,var(--accent) 72%,#7c3aed)); box-shadow:0 5px 14px color-mix(in srgb,var(--accent) 22%,transparent); }.planner-editor-visibility > span {  color:var(--muted);  }
.planner-link-preview {
  display:grid;
  grid-template-columns:54px minmax(0,1fr) auto;
  align-items:center;
  gap:10px;
  
  padding:9px;
  border:1px solid color-mix(in srgb,var(--accent) 22%,var(--border));
  border-radius:12px;
  background:color-mix(in srgb,var(--accent) 4%,var(--surface-solid,#fff));
}
.planner-link-kind { width:54px; height:46px; border-radius:9px; }

.planner-link-kind { display:grid; place-items:center; color:#fff; background:var(--accent); font-size:18px; font-weight:850; }
.planner-link-preview > div { min-width:0; display:grid; gap:2px; }
.planner-link-preview small { color:var(--muted); font-size:8.5px; font-weight:750; text-transform:uppercase; letter-spacing:.05em; }
.planner-link-preview strong,.planner-link-preview p { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.planner-link-preview strong { color:var(--text); font-size:10.5px; }
.planner-link-preview p { margin:0; color:var(--muted); font-size:9px; }
.planner-link-preview > button { min-height:30px; padding:5px 9px; border:1px solid var(--border); border-radius:8px; color:var(--accent); background:var(--surface-solid,#fff); font:750 9.5px inherit; cursor:pointer; white-space:nowrap; }
.planner-link-preview > button:hover { border-color:var(--accent); background:var(--accent-soft); }
/* Ufak dairesel yükleme göstergesi — site genelinde yeniden kullanılabilir */
/* Bekleme geri bildirimi: basılan düğme kilitlenir, uzun işlemde alt şerit çıkar. */
.is-busy { cursor:progress !important; }
.is-busy > .mini-spinner { margin-right:6px; vertical-align:-2px; }
.is-busy-icon { position:relative; }
.is-busy-icon > *, .is-busy-icon svg { visibility:hidden; }
.is-busy-icon::after { content:''; position:absolute; inset:0; margin:auto; width:14px; height:14px; border:2px solid color-mix(in srgb,currentColor 26%,transparent); border-top-color:currentColor; border-radius:50%; animation:mini-spin .7s linear infinite; }
.app-busy-status { position:fixed; left:50%; bottom:26px; z-index:9999; display:flex; align-items:center; gap:9px; padding:10px 16px; border:1px solid var(--border,#e2e8f0); border-radius:999px; background:var(--card,#fff); color:var(--text,#1e293b); font-size:12.5px; font-weight:500; box-shadow:0 10px 30px -12px rgba(15,23,42,.45); transform:translate(-50%,14px); opacity:0; transition:opacity .18s ease, transform .18s ease; pointer-events:none; }
.app-busy-status.is-on { transform:translate(-50%,0); opacity:1; }
@media (prefers-reduced-motion:reduce) { .app-busy-status { transition:none; } }
.mini-spinner { display:inline-block; width:14px; height:14px; flex:0 0 auto; border:2px solid color-mix(in srgb,var(--accent) 28%,transparent); border-top-color:var(--accent); border-radius:50%; animation:mini-spin .7s linear infinite; }
@keyframes mini-spin { to { transform:rotate(360deg); } }
.planner-saving-indicator { display:inline-flex; align-items:center; gap:8px; min-height:36px; color:var(--muted); font-size:12px; font-weight:700; }
.planner-delete-btn { margin-right:auto; min-height:36px; padding:7px 14px; border:1px solid rgba(215,0,21,.2); border-radius:999px; background:transparent; color:#d70015; font:750 11px inherit; cursor:pointer; }
.planner-delete-btn:hover { background:#d70015; border-color:#d70015; color:#fff; }
html[data-theme="dark"] .planner-delete-btn { color:#ff6961; border-color:rgba(255,69,58,.28); }
html[data-theme="dark"] .planner-delete-btn:hover { background:#ff453a; border-color:#ff453a; color:#fff; }
.planner-editor-actions { display:flex; align-items:center; justify-content:flex-end; gap:9px;  }.planner-more-btn,.planner-save-btn {   border:0; border-radius:999px; font:750 11px inherit; cursor:pointer; }.planner-more-btn { background:transparent; color:var(--accent); }.planner-save-btn {  background:var(--accent); color:#fff; }.planner-save-btn:hover { filter:brightness(1.06); }

/* Plan editörü: tek hizaya oturan sakin, profesyonel form hiyerarşisi. */

.planner-editor-top {  margin-bottom:4px; }

.planner-editor-top button { width:32px; height:32px; border-radius:10px; font-size:20px; }

.planner-title-composer .planner-editor-title {    letter-spacing:-.025em; }

.planner-editor-types { display:grid;  gap:4px;   border:1px solid var(--border); border-radius:12px; background:rgba(127,127,127,.055); }
.planner-editor-types button {  padding:7px 12px; border-radius:8px; font-size:11px; }
.planner-editor-types button.active { background:var(--surface-solid,#fff); color:var(--accent); box-shadow:0 2px 8px rgba(0,0,0,.08),inset 0 0 0 1px color-mix(in srgb,var(--accent) 18%,transparent); }

.planner-editor-row {   min-height:0;  border-top:1px solid color-mix(in srgb,var(--border) 72%,transparent); }
.planner-field-label { align-self:start;  color:var(--muted);  font-weight:800;  line-height:1.25; text-transform:uppercase; }

.planner-editor-date { justify-self:start; }
.planner-editor-date strong { font-size:12px; font-weight:750; }
.planner-editor-date span { margin-top:2px; font-size:9px; }
.planner-editor-date-picker { position:relative;   border:1px solid color-mix(in srgb,var(--accent) 28%,var(--border)); border-radius:11px; background:color-mix(in srgb,var(--accent) 5%,var(--surface-solid,#fff)); cursor:pointer; transition:border-color .16s,background .16s,box-shadow .16s,transform .16s; }
.planner-editor-date-picker:hover { border-color:color-mix(in srgb,var(--accent) 60%,var(--border)); background:color-mix(in srgb,var(--accent) 9%,var(--surface-solid,#fff)); box-shadow:0 6px 18px color-mix(in srgb,var(--accent) 10%,transparent); transform:translateY(-1px); }
.planner-editor-date-picker:focus-within { border-color:var(--accent); box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 13%,transparent); }
.planner-editor-date-picker > svg { position:absolute; right:11px; top:50%;   transform:translateY(-50%); color:var(--accent); stroke-width:1.8; pointer-events:none; }
.planner-editor-date-picker > input[type=date] { position:absolute; inset:0; width:100%; height:100%; padding:0; border:0; opacity:0; pointer-events:none; cursor:pointer; }
html[data-theme="dark"] .planner-editor-date-picker { background:color-mix(in srgb,var(--accent) 8%,#202023); }

.planner-time-range input[type=time] {   font-family:var(--font-numeric); font-size:11px; font-variant-numeric:tabular-nums; }
.planner-reminder-lead-row {  min-height:0; margin:0; padding:11px 10px 11px 0; border:1px solid color-mix(in srgb,#f59e0b 22%,var(--border)); border-left:3px solid #f59e0b; border-radius:11px; background:color-mix(in srgb,#f59e0b 5%,transparent); }
.planner-reminder-lead-copy { gap:3px; }

.planner-reminder-lead-copy span { font-size:8.5px; }
.planner-reminder-lead-controls { gap:5px; }
.planner-reminder-lead-controls input[type=number] { width:54px; min-height:36px; }
.planner-reminder-lead-controls select { width:78px; min-height:36px; }
.planner-reminder-lead-controls > span { display:none; }
.planner-editor-customer-row,.planner-editor-description { grid-template-columns:104px minmax(0,1fr); align-items:start; padding:11px 0; }
.planner-customer-picker,.planner-editor-text-wrap,.planner-editor-row .planner-color-options,.planner-editor-visibility { grid-column:2; }
.planner-customer-search-shell {  border-color:var(--border); box-shadow:none; }
.planner-customer-search-shell:focus-within { border-color:var(--accent); box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 11%,transparent); }

.planner-editor-classify-row { grid-template-columns:104px minmax(0,1fr); align-items:start; }
.planner-inline-fields { grid-column:2; display:grid; grid-template-columns:minmax(0,1.35fr) minmax(0,1fr); gap:8px; }
.planner-inline-fields label { min-width:0; display:grid; gap:5px; }
.planner-inline-fields label > span { color:var(--muted); font-size:8.5px; font-weight:700; }
.planner-inline-fields select { grid-column:auto !important; width:100%; min-height:38px; font-size:10.5px; }
.planner-editor-text-wrap textarea {  padding:11px 12px; border-radius:11px;  }
.planner-editor-color-row,.planner-editor-visibility-row { grid-template-columns:104px minmax(0,1fr); }
.planner-editor-row .planner-color-options { align-self:center; }

.planner-editor-visibility { flex-wrap:wrap; gap:6px; }
.planner-editor-visibility button { min-width:70px; justify-content:center; padding:7px 12px; font-size:10px; }
.planner-editor-visibility > span { flex:1 1 160px; margin-left:3px; font-size:9px; line-height:1.35; }
.planner-link-preview { margin-left:116px; }
.planner-editor-actions { margin-top:15px; padding-top:13px;  }
.planner-more-btn,.planner-save-btn {  padding:8px 17px; }
.planner-save-btn { min-width:102px; box-shadow:0 7px 18px color-mix(in srgb,var(--accent) 24%,transparent); }
html[data-theme="dark"] .planner-editor-types button.active { background:#343437; box-shadow:0 2px 8px rgba(0,0,0,.24),inset 0 0 0 1px rgba(100,174,247,.18); }
@media (max-width:600px) {
  .planner-editor { padding:15px 16px 18px; }
  .planner-editor-row,.planner-editor-time-row,.planner-reminder-lead-row,.planner-editor-customer-row,.planner-editor-classify-row,.planner-editor-description,.planner-editor-color-row,.planner-editor-visibility-row { grid-template-columns:1fr; gap:7px; }
  .planner-field-label { padding-top:0; }
  .planner-editor-date,.planner-time-range,.planner-customer-picker,.planner-inline-fields,.planner-editor-text-wrap,.planner-editor-row .planner-color-options,.planner-editor-visibility,.planner-reminder-lead-controls { grid-column:1; }
  .planner-editor-time-row .planner-time-range { justify-self:start; }
  .planner-reminder-lead-controls { justify-content:flex-start; }
  .planner-link-preview { margin-left:0; }
}
@media (max-width:560px) { .planner-link-preview { grid-template-columns:46px minmax(0,1fr); margin-left:0; }.planner-link-kind { width:46px; height:42px; }.planner-link-preview > button { grid-column:1 / -1; width:100%; } }
@media (max-width:900px) { .planner-sidebar { display:none; } }
@keyframes plannerBackdropIn { from { opacity:0; } to { opacity:1; } }
@keyframes plannerExpandIn { from { opacity:.75; transform:scale(.965) translateY(16px); } to { opacity:1; transform:scale(1) translateY(0); } }

@media (prefers-reduced-motion:reduce) {
  .termin-calendar-card,
.termin-planner-open { transition:none !important; }
  
}
.termin-filter-row { display:flex; align-items:center; gap:10px; flex-wrap:wrap; margin-bottom:14px; }
.termin-filter-row select { width:auto; min-width:210px; }
.termin-filter-row .search-input { flex:0 1 320px; min-width:190px; max-width:360px; }
/* Akıllı arama çubuğu (sitedeki tk-search ile aynı) takvim filtre satırında */
.termin-filter-row .termin-search { flex:0 1 340px; min-width:200px; max-width:380px; position:relative; }
.termin-filter-row .termin-search .search-input { width:100%; flex:none; min-width:0; max-width:none; }
.termin-window-settings { margin-left:auto; display:flex; align-items:center; gap:7px; padding:4px; border:1px solid var(--border); border-radius:12px; background:color-mix(in srgb,var(--surface-solid,#fff) 92%,var(--accent-soft)); }
.termin-window-control { min-width:132px !important; margin-left:0; border-color:transparent; background:transparent; }
.termin-filter-clear { padding:8px 4px; white-space:nowrap; }
.termin-calendar-layout { display:grid; grid-template-columns:minmax(0,1fr) 372px; gap:20px; align-items:stretch; }
/* Kart dar kalınca (bkz. watchTerminCardWidth) takvim ve gün paneli alt alta dizilir. */
.termin-calendar-card.is-narrow:not(.termin-planner-expanded) > .termin-calendar-layout { grid-template-columns:minmax(0,1fr); }
.cal-big { --cal-cell-min:94px; --cal-cell-h:122px; }

.cal-big .cal-cell { aspect-ratio:1/1; display:flex; flex-direction:column; align-items:stretch; padding:6px 7px; border:1px solid var(--border); border-radius:12px; background:var(--surface-solid,#fff); transition:border-color .16s ease, box-shadow .16s ease, transform .16s ease, background .16s ease; overflow:hidden; }
.cal-big .cal-cell.empty { border:0; background:transparent; }
.cal-big .cal-cell:not(.empty) { cursor:pointer; }
.cal-big .cal-cell:not(.empty):hover { border-color:var(--accent); background:var(--accent-soft); transform:translateY(-2px); box-shadow:0 10px 22px -14px rgba(37,99,235,.65); }
.cal-cell.outside-month { cursor:pointer; opacity:.34; }
.cal-cell.outside-month .cal-num { color:var(--muted); }
.cal-cell.outside-month:hover { opacity:.72; }
.cal-big .cal-cell.outside-month { border-color:color-mix(in srgb,var(--border) 48%,transparent); background:color-mix(in srgb,var(--surface-solid,#fff) 58%,transparent); }
.cal-big .cal-cell.outside-month:hover { border-color:color-mix(in srgb,var(--accent) 42%,var(--border)); background:color-mix(in srgb,var(--accent-soft) 45%,var(--surface-solid,#fff)); }
.cal-big .cal-cell.today { border-color:var(--success); background:var(--success-soft); box-shadow:inset 0 0 0 1px var(--success); }
.cal-big .cal-cell.today .cal-num { color:var(--success); font-weight:800; }
.cal-big .cal-cell.selected { border-color:var(--accent); background:var(--accent-soft); box-shadow:inset 0 0 0 1.5px var(--accent); }
.cal-big .cal-cell.selected .cal-num { color:var(--accent); }
.cal-big .cal-cell.today.selected { border-color:var(--success); background:var(--success-soft); box-shadow:inset 0 0 0 1.5px var(--success); }
.cal-big .cal-cell.today.selected .cal-num { color:var(--success); }
/* Başka bir gün seçiliyken "bugün" vurgusu sönükleşir: ekranda tek baskın renk kalır (seçim).
   Bugün yine hafif yeşil kenar + yeşil rakamla seçilebilir kalır, ama dikkati çalmaz. */
.cal-grid:has(.cal-cell.selected:not(.today)) .cal-cell.today { border-color:color-mix(in srgb,var(--success) 35%,var(--border)); background:transparent; box-shadow:none; }
.cal-grid:has(.cal-cell.selected:not(.today)) .cal-cell.today .cal-num { color:color-mix(in srgb,var(--success) 55%,var(--muted)); font-weight:800; }
.cal-big .cal-cell.has-termin:not(.today):not(.selected) { background:color-mix(in srgb,var(--accent) 7%,var(--surface-solid,#fff)); border-color:color-mix(in srgb,var(--accent) 24%,var(--border)); }
.cal-big .cal-num { font-size:13px; font-weight:700; line-height:1; }
/* Sabit-boy hücre: üst (gün no) sabit, gövde sığmazsa içten kaydırılır */
.cal-cell-top { flex:0 0 auto; display:flex; align-items:center; justify-content:space-between; }
.cal-cell-body { flex:1 1 auto; min-height:0; overflow-y:auto; overflow-x:hidden; display:flex; flex-direction:column; gap:3px; margin-top:5px; padding-right:2px; overscroll-behavior-y:auto; }
.cal-cell-body::-webkit-scrollbar { width:5px; }
.cal-cell-body::-webkit-scrollbar-thumb { background:rgba(127,127,127,.32); border-radius:4px; }
.cal-cell-body::-webkit-scrollbar-track { background:transparent; }
/* Not satırları — her not tek satır, sığmazsa ... ile kesilir; mor=özel, amber=genel */
.cal-note-line { flex:0 0 auto; font-size:9.5px; font-weight:600; line-height:1.35; padding:1.5px 6px; border-radius:5px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.cal-note-line.private { background:rgba(139,92,246,.14); color:#6d28d9; }
.cal-note-line.public { background:rgba(245,158,11,.16); color:#b45309; }
.cal-note-line.locked { font-style:italic; opacity:.85; }
html[data-theme="dark"] .cal-note-line.private { background:rgba(139,92,246,.22); color:#c4b5fd; }
html[data-theme="dark"] .cal-note-line.public { background:rgba(245,158,11,.2); color:#fcd34d; }

.cal-chip { font-size:10px; font-weight:650; padding:2px 7px; border-radius:6px; background:var(--accent); color:#fff; cursor:pointer; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; line-height:1.45; box-shadow:0 1px 2px rgba(0,0,0,.14); }
.cal-chip:hover { filter:brightness(1.08); }
.cal-chip.overdue { background:var(--danger); }
.cal-chip.soon { background:var(--warning-fill); color:var(--warning-ink); }
.cal-chip.more { background:transparent; color:var(--accent); box-shadow:none; font-weight:750; padding:1px 4px; cursor:pointer; }
.cal-chip.more:hover { filter:none; text-decoration:underline; }
/* Termin işareti (2026-10-10): yuvarlak, sabit boy — gün karesi termin sayısıyla
   uzamaz; bir güne 4 tane sığar, fazlası "+N". Ayrıntı hover kartındadır. */
.cal-pins { display:flex; flex-wrap:nowrap; align-items:center; gap:5px; margin-top:4px; min-height:16px; min-width:0; overflow:hidden; padding:2px; margin-left:-2px; }
.cal-pin { flex:0 0 auto; width:14px; height:14px; padding:0; border:0; border-radius:50%; background:var(--accent); cursor:pointer; transition:transform .14s cubic-bezier(.2,.75,.25,1); }
.cal-pin.soon { background:var(--warning-fill); }
.cal-pin.overdue { background:var(--danger); }
.cal-pin:hover { transform:scale(1.2); }
.cal-pin:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
.cal-pin-more { flex:0 0 auto; color:var(--desk-muted,var(--muted)); font-size:var(--type-caption,11px); font-weight:700; line-height:14px; font-variant-numeric:tabular-nums; }
@media (prefers-reduced-motion: reduce) { .cal-pin { transition:none; } .cal-pin:hover { transform:none; } }
/* Gün notu işaretleri: özel not ve genel (herkese açık) not ayrı renk */

/* Büyük takvim başlığı (ay gezinme) */
#terminCalendar .cal-header { margin-bottom:14px; }
#terminCalendar .cal-title { font-size:17px; font-weight:750; letter-spacing:-.01em; }
#terminCalendar .cal-nav { width:34px; height:34px; border-radius:10px; font-size:19px; }
/* Yan panel — seçili gün detayı, kart yüksekliğince uzar, ortası kayar */
.termin-side-panel { min-height:100%; display:flex; flex-direction:column; gap:15px; border:1px solid var(--border); border-radius:14px; padding:15px; background:color-mix(in srgb,var(--accent) 3%,var(--surface-solid,#fff)); }
.termin-side-body { flex:1 1 auto; min-height:0; overflow-y:auto; display:flex; flex-direction:column; gap:17px; margin-right:-5px; padding-right:5px; }
.termin-side-body::-webkit-scrollbar { width:8px; }
.termin-side-body::-webkit-scrollbar-thumb { background:rgba(127,127,127,.28); border-radius:6px; }
.termin-section { display:flex; flex-direction:column; }
.termin-day-scroll { max-height:252px; overflow-y:auto; margin-right:-5px; padding-right:5px; }
.termin-day-scroll::-webkit-scrollbar { width:7px; }
.termin-day-scroll::-webkit-scrollbar-thumb { background:rgba(127,127,127,.3); border-radius:6px; }
/* Termin satırı hover künye kartı (body'ye iliştirilir; kaydırma kutusunca kırpılmaz) */
.termin-hover-card { position:fixed; z-index:1200; pointer-events:none; width:256px; padding:12px 14px; border:1px solid var(--border); border-radius:13px; background:var(--surface-solid,#fff); color:var(--text); box-shadow:0 20px 46px -14px rgba(0,0,0,.45); font-size:12px; line-height:1.42; opacity:0; transform:translateY(4px); transition:opacity .12s ease, transform .12s ease; }
.termin-hover-card.show { opacity:1; transform:translateY(0); }
.termin-hover-card .thc-head { display:flex; align-items:center; justify-content:space-between; gap:8px; margin-bottom:9px; padding-bottom:9px; border-bottom:1px solid var(--border); }
.termin-hover-card .thc-sip { font-weight:800; font-size:13.5px; letter-spacing:-.01em; font-variant-numeric:tabular-nums; }
.termin-hover-card .thc-row { display:flex; gap:10px; padding:2.5px 0; }
.termin-hover-card .thc-k { flex:0 0 86px; color:var(--muted); font-weight:650; }
.termin-hover-card .thc-v { flex:1 1 auto; min-width:0; font-weight:600; word-break:break-word; }
.termin-hover-card .thc-note { margin-top:9px; padding-top:9px; border-top:1px solid var(--border); color:var(--muted); white-space:pre-wrap; word-break:break-word; }

.termin-hover-card .thc-by { margin-top:9px; padding-top:8px; border-top:1px solid var(--border); color:var(--muted); font-weight:650; }
.termin-hover-card .thc-by .termin-by-name { font-weight:400; }
/* Termin künyesi "B · iki sütun" (2026-10-20): solda kim, sağda ne kadar */
.termin-hover-card .thc-l1,
.termin-hover-card .thc-l2 { display:flex; align-items:baseline; justify-content:space-between; gap:10px; min-width:0; }
.termin-hover-card .thc-l2 { align-items:center; margin-top:2px; }
.termin-hover-card .thc-firma { min-width:0; overflow:hidden; font-size:13px; font-weight:700; letter-spacing:-.01em; text-overflow:ellipsis; white-space:nowrap; }
.termin-hover-card .thc-kg { flex:0 0 auto; font-size:13px; font-weight:700; font-variant-numeric:tabular-nums; white-space:nowrap; }
.termin-hover-card .thc-bits { min-width:0; overflow:hidden; color:var(--muted); font-size:11.5px; font-variant-numeric:tabular-nums; text-overflow:ellipsis; white-space:nowrap; }
.termin-hover-card .thc-l2 .termin-badge { flex:0 0 auto; padding:1px 7px; font-size:10.5px; }
.termin-hover-card .thc-foot { margin-top:8px; padding-top:7px; border-top:1px solid var(--border); white-space:pre-wrap; word-break:break-word; }
.termin-hover-card .thc-by-inline { color:var(--muted); font-size:11px; white-space:normal; }
/* Not önizlemesi: kompakt — başlık kalın + açıklama; detaylar aşağı ok'la açılır */
.termin-hover-card.note-hover { pointer-events:auto; }
.termin-hover-card.note-hover .thc-note-head { display:flex; align-items:flex-start; justify-content:space-between; gap:8px; }
.termin-hover-card.note-hover .thc-note-badges { flex:0 0 auto; display:flex; align-items:center; justify-content:flex-end; gap:5px; flex-wrap:wrap; max-width:68%; }
.termin-hover-card.note-hover .thc-customer-badge { max-width:118px; display:inline-flex; align-items:center; gap:4px; padding:3px 7px; overflow:hidden; border:1px solid color-mix(in srgb,var(--accent) 23%,transparent); border-radius:999px; background:var(--accent-soft); color:var(--accent); font-size:9px; font-weight:800; text-overflow:ellipsis; white-space:nowrap; }
.termin-hover-card.note-hover .thc-customer-badge span { flex:0 0 auto; font-size:8px; }
.termin-hover-card.note-hover .thc-note-title { min-width:0; color:var(--text); font-size:14px; font-weight:800; line-height:1.3; letter-spacing:-.01em; word-break:break-word; }
.termin-hover-card.note-hover .thc-note-body { margin-top:4px; color:color-mix(in srgb,var(--text) 72%,var(--muted)); font-size:12px; line-height:1.5; white-space:pre-wrap; word-break:break-word; }
.termin-hover-card.note-hover .thc-details { margin-top:8px; padding-top:8px; border-top:1px solid var(--border); }
.termin-hover-card.note-hover .thc-row { padding:2px 0; font-size:11px; }
.termin-hover-card.note-hover .thc-k { font-weight:500; font-size:11px; flex-basis:64px; }
.termin-hover-card.note-hover .thc-v { font-weight:450; color:var(--muted); }
.termin-hover-card.note-hover:has(.planner-note-photo-preview) { width:292px; }
.termin-hover-card.photo-hover { width:292px; padding:11px; }
.planner-note-photo-preview { display:grid; gap:7px; margin-top:9px; padding-top:9px; border-top:1px solid var(--border); }
.planner-note-photo-preview:first-child { margin-top:0; padding-top:0; border-top:0; }
.planner-note-photo-preview-head { display:flex; align-items:center; justify-content:space-between; gap:8px; }
.planner-note-photo-preview-head strong { color:var(--text); font-size:10.5px; font-weight:850; }
.planner-note-photo-preview-head small { color:var(--muted); font-size:8.5px; white-space:nowrap; }
.planner-note-photo-preview-grid { position:relative; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:5px; }
.planner-note-photo-preview-grid button {
  min-width:0;
  height:48px;
  overflow:hidden;
  padding:0;
  border:1px solid var(--border);
  border-radius:8px;
  background:rgba(127,127,127,.06);
  cursor:pointer;
  transition:border-color .15s ease,transform .15s ease;
}
.planner-note-photo-preview-grid button:hover,.planner-note-photo-preview-grid button:focus-visible { z-index:1; border-color:var(--accent); outline:none; transform:translateY(-1px); }
.planner-note-photo-preview-grid img { display:block; width:100%; height:100%; object-fit:cover; }
.planner-note-photo-more {
  position:absolute;
  right:4px;
  bottom:4px;
  min-width:24px;
  height:20px;
  display:grid;
  place-items:center;
  padding:0 5px;
  border-radius:6px;
  color:#fff;
  background:rgba(15,23,42,.78);
  font-size:8.5px;
  font-weight:900;
  pointer-events:none;
}
.termin-day-head { display:flex; align-items:flex-start; justify-content:space-between; gap:10px; padding-bottom:12px; border-bottom:1px solid var(--border); }
.termin-day-head-main { min-width:0; display:flex; flex-direction:column; }
.termin-day-head-actions { display:inline-flex; align-items:center; gap:8px; flex-shrink:0; }
.termin-day-count { display:inline-flex; align-items:center; gap:4px; padding:4px 10px; border-radius:999px; font-size:11px; font-weight:750; color:var(--accent); background:var(--accent-soft); border:1px solid color-mix(in srgb,var(--accent) 22%,transparent); white-space:nowrap; }
.termin-day-title { color:var(--text); font-size:15.5px; font-weight:780; line-height:1.25; letter-spacing:-.01em; }
.termin-day-holiday { margin-top:5px; color:var(--muted); font-size:11px; font-weight:650; line-height:1.35; }
.termin-day-holiday.resmi, .termin-day-holiday.dini { color:var(--danger); }
.termin-day-holiday.ozel { color:var(--warning); }
.termin-today-btn { flex-shrink:0; padding:6px 10px; border:1px solid var(--border); border-radius:8px; background:transparent; color:var(--accent); font:650 11px inherit; cursor:pointer; }
.termin-today-btn:hover { border-color:var(--accent); background:var(--accent-soft); }
/* Kart başlığı canlı özet rozetleri */
.termin-cal-summary { display:inline-flex; align-items:center; gap:7px; flex-wrap:wrap; }
.termin-cal-stat { display:inline-flex; align-items:center; gap:6px; padding:5px 11px; border-radius:999px; font-size:11.5px; font-weight:700; border:1px solid var(--border); background:var(--surface-solid,#fff); color:var(--text); white-space:nowrap; line-height:1; }
.termin-cal-stat b { font-variant-numeric:tabular-nums; font-weight:800; }
.termin-cal-stat .dot { width:7px; height:7px; border-radius:50%; background:var(--accent); }
.termin-cal-stat.overdue { color:var(--danger); border-color:color-mix(in srgb,var(--danger) 32%,var(--border)); background:var(--danger-soft); }
.termin-cal-stat.overdue .dot { background:var(--danger); }
.termin-cal-stat.soon { color:var(--warning); border-color:color-mix(in srgb,var(--warning) 34%,var(--border)); background:var(--warning-soft); }
.termin-cal-stat.soon .dot { background:var(--warning-fill); }
@media (max-width:760px) { .termin-cal-summary { width:100%; } }
.termin-upcoming-title { font-size:12px; font-weight:700; color:var(--muted); text-transform:uppercase; letter-spacing:.05em; margin-bottom:10px; }
.termin-section-head { display:flex; align-items:baseline; justify-content:space-between; gap:10px; margin-bottom:10px; }
.termin-section-head .termin-upcoming-title { margin-bottom:0; }
.termin-upcoming-title small { margin-left:8px; color:var(--muted); font-size:10.5px; font-weight:600; letter-spacing:0; text-transform:none; opacity:.8; }
.termin-section-count { flex:0 0 auto; padding:2px 8px; border-radius:999px; background:rgba(127,127,127,.12); color:var(--muted); font-size:11px; font-weight:700; font-variant-numeric:tabular-nums; }
.termin-upcoming-row { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:8px; padding:9px 14px; margin-bottom:7px; border:1px solid var(--border); border-radius:10px; background:rgba(127,127,127,.03); cursor:pointer; transition:all .15s; }
.termin-upcoming-row:hover { border-color:var(--accent); background:var(--accent-soft); }
.termin-up-date { font-size:12px; font-weight:700; color:var(--text); white-space:nowrap; }
.termin-up-sip { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:12px; color:var(--text); font-weight:600; }
.termin-up-sip:hover { color:var(--accent); }

.termin-upcoming-row .termin-badge { justify-self:end; }
.termin-upcoming-empty { font-size:12px; color:var(--muted); line-height:1.5; padding:8px 2px; }
.termin-up-note { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:12.5px; color:var(--text); }
/* NOT SATIRI — termin satırının birebir aynısı. Satırda yalnız görünürlük
   noktası, başlık, simge eylemleri ve geri sayım rozeti durur; saat/yazan/tarih
   gibi her şey aynı hover künye kartında (showNoteHover) okunur. */
.termin-upcoming-row.is-note { position:relative; cursor:default; }
.termin-upcoming-row.is-compact.is-note { grid-template-columns:auto minmax(0,1fr) auto; column-gap:7px; }
/* Sipariş notundaki @tarih (2026-10-28): sipariş no · not · Özel/Çevrimiçi */
.termin-upcoming-row.is-compact.is-note.is-order-note { grid-template-columns:auto minmax(0,1fr) auto; cursor:pointer; }
.termin-upcoming-row.is-order-note:hover { background:color-mix(in srgb, var(--accent) 5%, transparent); }
.termin-upcoming-row.is-order-note:focus-visible { outline:2px solid var(--accent); outline-offset:-2px; }
.note-date-order { font-size:11.5px; font-weight:700; color:var(--accent); font-variant-numeric:tabular-nums; }
.note-date-kind { font-size:10.5px; font-weight:600; color:var(--muted); }
.cal-note-line.order { background:color-mix(in srgb, var(--accent) 12%, transparent); color:var(--accent); cursor:pointer; }
.cal-note-line.order b { font-weight:750; }
.termin-upcoming-row.is-note[onclick] { cursor:pointer; }
.termin-upcoming-row.is-note .termin-up-note { font-size:12px; font-weight:650; line-height:1.25; }
.termin-upcoming-row.is-note.locked .termin-up-note { color:var(--muted); }
/* Satır içi simge eylemleri: ticket satırlarındaki kalem/çöp kutusu ikilisi. */
/* Simgeler satırın sağ ucunda rozetin YERİNE belirir: başlık tam genişliğini
   korur, satır boştayken termin satırından ayırt edilemez. */
.termin-row-actions { position:absolute; z-index:2; right:8px; top:50%; display:inline-flex; align-items:center; gap:2px; padding-left:8px; border-radius:8px; background:inherit; transform:translateY(-50%); opacity:0; pointer-events:none; transition:opacity .14s ease; }
.termin-upcoming-row.is-note:hover .termin-row-actions,.termin-row-actions:focus-within { opacity:1; pointer-events:auto; }
.termin-upcoming-row.is-note:hover .termin-badge,.termin-upcoming-row.is-note:focus-within .termin-badge { opacity:0; pointer-events:none; transition:opacity .14s ease; }
.termin-row-actions > button { width:24px; height:24px; display:grid; place-items:center; padding:0; border:1px solid transparent; border-radius:7px; color:var(--muted); background:transparent; cursor:pointer; }
.termin-row-actions > button svg { width:14px; height:14px; stroke-width:1.8; }
.termin-row-actions > button:hover { border-color:var(--border); background:rgba(127,127,127,.1); color:var(--text); }
.termin-row-actions > button.is-danger:hover { border-color:color-mix(in srgb,var(--danger) 35%,transparent); background:var(--danger-soft); color:var(--danger); }
/* Dokunmatikte hover yok: eylemler hep görünür. */
/* Dokunmatikte hover yok: simgeler rozetin yanında kendi yerinde durur. */
@media (hover:none) {
  .termin-upcoming-row.is-compact.is-note { grid-template-columns:auto minmax(0,1fr) auto auto; }
  .termin-upcoming-row.is-compact.is-note.is-order-note { grid-template-columns:auto minmax(0,1fr) auto; }
  .termin-row-actions { position:static; transform:none; margin-left:4px; opacity:1; pointer-events:auto; }
}
/* Yinelenen kopya rozeti satırda: basınca mevcut temizleme akışı çalışır. */
button.cal-note-count.is-cleanup { border:0; color:#b45309; background:rgba(245,158,11,.16); font:800 9.5px inherit; cursor:pointer; }
button.cal-note-count.is-cleanup:hover { background:rgba(245,158,11,.28); }
html[data-theme="dark"] button.cal-note-count.is-cleanup { color:#fcd34d; }
/* Künye kartındaki bağlantı çipi */
.termin-hover-card.note-hover .thc-note-source { margin-top:7px; }
.termin-up-note.locked { color:var(--muted); display:inline-flex; align-items:center; gap:5px; }
.termin-up-note.locked svg { width:12px; height:12px; flex-shrink:0; }

.calendar-notes { margin-top:auto; padding-top:12px; border-top:1px solid var(--border); }
.calendar-notes-head { display:flex; align-items:center; justify-content:flex-end; gap:8px; margin-bottom:9px; }
.calendar-notes-title { color:var(--text); font-size:13px; font-weight:700; letter-spacing:-.01em; }
.calendar-notes-head-actions { display:inline-flex; align-items:center; gap:8px; }
.calendar-note-lock { width:28px; height:28px; display:inline-grid; place-items:center; border:0; border-radius:8px; padding:0; background:transparent; color:var(--muted); cursor:pointer; transition:background .15s,color .15s; }
.calendar-note-lock svg { width:14px; height:14px; stroke-width:2; }
.calendar-note-lock:hover { color:var(--text); background:rgba(127,127,127,.09); }
.calendar-note-lock.is-locked { color:var(--accent); background:var(--accent-soft); }

.calendar-note-mode { display:inline-flex; padding:2px; border:0; border-radius:8px; background:rgba(127,127,127,.09); }
.calendar-note-mode button { border:0; border-radius:6px; padding:4px 10px; background:transparent; color:var(--muted); font:650 10.5px inherit; cursor:pointer; transition:color .15s,background .15s; }
.calendar-note-mode button[data-note-mode="private"].active { background:var(--surface-solid,#fff); color:#1677e8; box-shadow:0 1px 2px rgba(15,23,42,.12); }
.calendar-note-mode button[data-note-mode="public"].active { background:var(--surface-solid,#fff); color:#0a7b4e; box-shadow:0 1px 2px rgba(15,23,42,.12); }
html[data-theme="dark"] .calendar-note-mode { background:rgba(255,255,255,.07); }
html[data-theme="dark"] .calendar-note-mode button.active { background:rgba(255,255,255,.13); box-shadow:none; }
html[data-theme="dark"] .calendar-note-mode button[data-note-mode="private"].active { color:#7db6ff; }
html[data-theme="dark"] .calendar-note-mode button[data-note-mode="public"].active { color:#4fd39b; }
/* Not kartı, panelin üst bölümlerindeki termin satırlarıyla AYNI dili kullanır:
   tam genişlik, 1px kenar, 10px köşe, nötr zemin. Sohbet balonu hizalaması ve
   renkli dolgular kalktı; görünürlük yalnız soldaki noktadan okunur. */
/* İki satırlı özet: 1. satır başlık (tam genişlik, 2 satıra kadar sarar) + ok;
   2. satır rozetler (saat · müşteri · geri sayım · ×N). Rozetler başlığı EZEMEZ. */
.calendar-note-visibility-dot { width:7px; height:7px; flex:0 0 auto; border-radius:50%; background:#1677e8; box-shadow:0 0 0 3px rgba(22,119,232,.12); }
.termin-upcoming-row.is-note.public .calendar-note-visibility-dot { background:#16a36a; box-shadow:0 0 0 3px rgba(22,163,106,.12); }

/* Yinelenen not kopyaları: ×N rozeti + "Kopyaları sil" aksiyonu */
.cal-note-count { display:inline-block; margin-right:4px; padding:0 4px; border-radius:5px; background:rgba(127,127,127,.18); font-weight:800; }
.calendar-note-form { display:grid; gap:8px; }
.calendar-note-form textarea { min-height:72px; resize:vertical; }
.termin-filter-result-icon,.quick-note-ref-icon { width:28px; height:28px; flex:0 0 28px; display:grid; place-items:center; border-radius:9px; color:#fff; background:linear-gradient(135deg,#0a84ff,#5e5ce6); font-size:9px; font-weight:850; }
.termin-filter-result-icon.order,.quick-note-ref-icon.order { background:linear-gradient(135deg,#0f766e,#22a06b); }
.quick-note-ref-icon.user { border-radius:50%; background:linear-gradient(135deg,#d946ef,#8b5cf6); }
.quick-note-composer { position:relative; border:1px solid var(--border); border-radius:22px; background:var(--surface-solid,#fff); transition:border-color .15s ease,box-shadow .15s ease; }
.quick-note-composer:hover { border-color:rgba(127,127,127,.34); }
.quick-note-composer:focus-within { border-color:var(--accent); box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 14%,transparent); }
/* Ticket yanıt kutusunun aynısı: tek yuvarlak şerit, sağda mavi gönder düğmesi. */
.quick-note-composer-row { display:flex; align-items:flex-end; gap:8px; padding:6px; }
/* `html` öneki: koyu temadaki genel `html[data-theme] textarea(:focus)` kuralları
   alana köşeli gri zemin + kendi odak halkasını basıyordu (yuvarlak şeridin
   içinde keskin kutu). §3.7: halka şeridindir, alan çerçeve çizmez. */
html .quick-note-composer textarea.search-input { flex:1 1 auto; min-width:0; width:100%; min-height:34px; height:34px; max-height:168px; box-sizing:border-box; padding:7px 10px; border:0; border-radius:0; background:transparent; box-shadow:none; font-size:12.5px; line-height:1.5; resize:none; overflow-y:auto; }
html .quick-note-composer textarea.search-input:focus { border:0; background:transparent; box-shadow:none; outline:0; }
.quick-note-send { flex:0 0 36px; display:grid; place-items:center; width:36px; height:36px; padding:0; border:0; border-radius:50%; background:var(--accent); color:#fff; cursor:pointer; transition:filter .14s ease, opacity .14s ease; }
.quick-note-send svg { width:17px; height:17px; }
.quick-note-send:hover { filter:brightness(1.07); }
.quick-note-send:disabled { opacity:.55; cursor:not-allowed; }
/* Vazgeç yerine ortak × (ACT_BTN_ICONS.close) — başlık şeridinde, yazısız. */
.calendar-note-close { width:28px; height:28px; flex:none; display:inline-grid; place-items:center; padding:0; border:0; border-radius:50%; background:transparent; color:var(--muted); cursor:pointer; transition:background .14s ease, color .14s ease; }
.calendar-note-close svg { width:16px; height:16px; }
.calendar-note-close:hover { background:rgba(127,127,127,.14); color:var(--text); }
html[data-theme="dark"] .quick-note-composer { background:rgba(18,22,30,.55); }
/* @ öneri listesi: Notlar'daki @ menüsünün dili (satır = avatar + ad/künye
   iki satır). Satır kuralları 2026-10-11 kapsama temizliğinde silinmişti;
   düğmeler tarayıcının gri varsayılanına düşüyordu. Köşeler şeridin iç
   yarıçapıyla (22 − 6 = 16) uyumlu: liste 16px, satır 10px, avatar yuvarlak. */
.quick-calendar-suggestions { position:absolute; z-index:35; left:0; right:0; top:calc(100% + 6px); max-height:250px; overflow:auto; overscroll-behavior:contain; padding:4px; border:1px solid var(--border); border-radius:16px; background:var(--surface-solid,#fff); box-shadow:0 14px 38px rgba(20,28,40,.16),0 2px 6px rgba(20,28,40,.06); }
.quick-calendar-suggestions[hidden] { display:none; }
.termin-calendar-card.has-floating-menu { z-index:6; }
.quick-calendar-suggestions button { width:100%; min-height:40px; display:flex; align-items:center; gap:10px; padding:5px 8px; border:0; border-radius:10px; background:transparent; box-shadow:none; color:var(--text); font:inherit; text-align:left; cursor:pointer; }
.quick-calendar-suggestions button:hover,.quick-calendar-suggestions button.active { background:var(--accent-soft); }
.quick-calendar-suggestions button > div { min-width:0; display:grid; gap:1px; }
.quick-calendar-suggestions strong,.quick-calendar-suggestions small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.quick-calendar-suggestions strong { font-size:12.5px; font-weight:650; }
.quick-calendar-suggestions small { color:var(--muted); font-size:10.5px; }
.quick-calendar-suggestions .quick-note-ref-icon { font-size:10px; }
html[data-theme="dark"] .quick-calendar-suggestions { border-color:rgba(255,255,255,.1); box-shadow:0 18px 42px rgba(0,0,0,.45); }

.quick-calendar-detections { display:flex; align-items:center; flex-wrap:wrap; gap:5px; }
.quick-calendar-detections:empty { display:none; }
.quick-note-detection { display:inline-flex; align-items:center; padding:2px 8px; border:0; border-radius:999px; background:rgba(127,127,127,.1); color:var(--text); font-size:10px; font-weight:700; }
.quick-note-detection.time { background:rgba(10,132,255,.11); color:#006edc; font-variant-numeric:tabular-nums; }
.quick-note-detection.ref { background:rgba(20,160,110,.11); color:#087a56; }
.quick-note-detection.mention { background:rgba(217,70,239,.11); color:#a21caf; }
.quick-note-detection.priority { background:rgba(245,158,11,.14); color:#a65300; }
.quick-note-detection.auto { background:rgba(127,127,127,.08); color:var(--muted); font-weight:650; }
html[data-theme="dark"] .quick-calendar-suggestions { background:#242426; }
html[data-theme="dark"] .quick-note-detection.time { color:#64aef7; }
html[data-theme="dark"] .quick-note-detection.ref { color:#5dd7ad; }
html[data-theme="dark"] .quick-note-detection.mention { color:#ed8cff; }
html[data-theme="dark"] .quick-note-detection.priority { color:#ffc45c; }
.calendar-note-actions { display:flex; justify-content:flex-end; gap:7px; }
.calendar-note-add { width:100%; justify-content:center; }

/* Alt şerit: yazısız iki yuvarlak düğme (etiketi kabuk ipucu söyler). */
.calendar-quick-actions { display:flex; align-items:center; justify-content:center; gap:12px; }
.calendar-quick-btn {
  width:40px; height:40px; flex:none;
  display:inline-grid; place-items:center;
  padding:0; border:1px solid var(--border); border-radius:50%;
  background:var(--desk-paper); color:var(--muted); cursor:pointer;
  transition:background .15s, color .15s, border-color .15s, transform .15s;
}
.calendar-quick-btn svg { width:19px; height:19px; stroke-width:1.8; }
.calendar-quick-btn:hover { color:var(--accent); border-color:var(--accent); background:var(--accent-soft); }
.calendar-quick-btn:active { transform:scale(.94); }

/* Termin ekleme akışı: alt şeridi devralan iki adım + onay. */
.termin-quick-flow { display:grid; gap:8px; }
.termin-quick-head { display:flex; align-items:center; gap:8px; }
.termin-quick-head strong { flex:1; min-width:0; color:var(--text); font-size:13px; font-weight:700; letter-spacing:-.01em; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.termin-quick-step { flex:none; padding:3px 8px; border-radius:999px; background:var(--accent-soft); color:var(--accent); font-size:10px; font-weight:750; }
.termin-quick-close { width:26px; height:26px; flex:none; display:inline-grid; place-items:center; padding:0; border:0; border-radius:8px; background:transparent; color:var(--muted); cursor:pointer; }
.termin-quick-close:hover { background:var(--hover); color:var(--text); }
.termin-quick-close svg { width:14px; height:14px; stroke-width:2; }
.termin-quick-hint { color:var(--muted); font-size:11px; font-weight:600; }
.termin-quick-search { position:relative; }
/* Liste PANELİ BÜYÜTMEZ. Akış şeridi panelin en altında durduğu için liste
   yukarı doğru, havada duran bir katman olarak açılır; aksi halde panel
   uzayıp takvim kartını taşırıyor ve son satır kesiliyordu. */
.termin-quick-results {
  position:absolute; left:0; right:0; bottom:calc(100% + 6px); z-index:40;
  max-height:260px; overflow:auto;
  border:1px solid var(--border); border-radius:12px;
  background:var(--desk-paper); box-shadow:0 18px 44px rgba(15,23,42,.18);
}
.termin-quick-results:not(.open) { display:none; }
.termin-quick-summary { display:grid; gap:2px; padding:8px 12px; border:1px solid var(--border); border-radius:12px; background:var(--bg); }
.termin-quick-sip { color:var(--text); font-size:13px; font-weight:750; }
.termin-quick-firma { color:var(--muted); font-size:11px; font-weight:600; }
.termin-quick-old { color:var(--warning, var(--muted)); font-size:11px; font-weight:650; }
.termin-quick-warn { margin-top:4px; color:var(--muted); font-size:10.5px; font-weight:600; line-height:1.4; }
/* Klavye seçimi görünür olmalı: fare olmadan hangi düğmede olduğun belli olsun. */
.calendar-note-actions .btn.is-key-active { box-shadow:0 0 0 2px var(--accent-soft), 0 0 0 3px var(--accent); }
/* Odağı kutuda tutan ama görünmeyen alan: Enter/yön tuşları onay adımında da çalışsın. */
.tq-lines { display:grid; gap:2px; max-height:260px; overflow:auto; }
.tq-line { display:grid; grid-template-columns:18px minmax(0,1fr) auto; align-items:center; gap:9px; width:100%; min-height:34px; margin:0; padding:6px 8px; border:0; border-radius:8px; background:none; color:var(--text); font:500 var(--type-body,13px)/1.3 var(--font); text-align:left; cursor:pointer; }
.tq-line:hover, .tq-line.is-active { background:var(--hover, var(--accent-soft)); }
.tq-check { width:18px; height:18px; display:grid; place-items:center; border:1.5px solid var(--border-strong, var(--muted)); border-radius:5px; color:transparent; }
.tq-check svg { width:13px; height:13px; stroke-width:2.6; }
.tq-line.is-on .tq-check { border-color:var(--accent); background:var(--accent); color:#fff; }
.tq-line-name { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-weight:600; }
.tq-line-name i { margin-left:6px; color:var(--muted); font-style:normal; font-weight:500; }
.tq-line-kg { color:var(--muted); font-size:var(--type-meta,12px); font-variant-numeric:tabular-nums; white-space:nowrap; }
.tq-line-old { color:var(--warning, var(--muted)); font-size:var(--type-meta,12px); font-weight:600; font-variant-numeric:tabular-nums; white-space:nowrap; }
.tq-line-all { border-bottom:1px solid var(--border); border-radius:8px 8px 0 0; margin-bottom:2px; }
.tq-line-all .tq-line-name { font-weight:650; }
.termin-quick-keycatcher { position:absolute; width:1px; height:1px; padding:0; border:0; opacity:0; pointer-events:none; }
/* 1. adımda takvim "seçilebilir" görünür. */
body.termin-day-pick #terminCalendar .cal-cell:not(.empty) { cursor:pointer; }
body.termin-day-pick #terminCalendar .cal-cell:not(.empty):hover { outline:2px solid var(--accent); outline-offset:-2px; border-radius:8px; }
.planner-source-tag { display:inline-flex; align-items:center; min-height:20px; padding:3px 7px; border-radius:999px; color:var(--accent); background:var(--accent-soft); font-size:9.5px; font-weight:750; }
button.planner-source-tag {
  min-height:20px;
  display:inline-flex;
  align-items:center;
  padding:3px 7px;
  border:0;
  border-radius:999px;
  color:var(--accent);
  background:var(--accent-soft);
  font:750 9.5px inherit;
  cursor:zoom-in;
}
button.planner-source-tag:hover,button.planner-source-tag:focus-visible { outline:none; box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 22%,transparent); }
.planner-note-form { gap:11px; padding:13px; border:1px solid var(--border); border-radius:10px; background:rgba(127,127,127,.03); }
.planner-title-input { min-height:42px; font-weight:750; }
.planner-note-form textarea { min-height:96px; line-height:1.5; }
.planner-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.planner-form-grid label { display:grid; gap:5px; min-width:0; }
.planner-form-grid label > span, .planner-color-row > span { color:var(--muted); font-size:9.5px; font-weight:750; text-transform:uppercase; letter-spacing:.05em; }
.planner-form-grid input, .planner-form-grid select { width:100%; min-width:0; min-height:38px; }
.planner-color-row { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.planner-color-options { display:flex; align-items:center; gap:7px; }
.planner-color-option { position:relative; width:22px; height:22px; cursor:pointer; }
.planner-color-option input { position:absolute; opacity:0; pointer-events:none; }
.planner-color-option span { display:block; width:100%; height:100%; border-radius:50%; background:var(--planner-color); border:3px solid var(--surface-solid,#fff); box-shadow:0 0 0 1px color-mix(in srgb,var(--planner-color) 30%,var(--border)); transition:transform .15s ease, box-shadow .15s ease; }
.planner-color-option:hover span { transform:scale(1.12); }
.planner-color-option input:checked + span { transform:scale(1.08); box-shadow:0 0 0 2px var(--surface-solid,#fff),0 0 0 4px var(--planner-color); }

/* Resmî tatil / özel gün gösterimi */
.cal-holiday { display:block; flex:0 0 auto; max-width:100%; padding:1.5px 5px; border-radius:5px; font-size:9px; font-weight:650; line-height:1.3; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.holiday-resmi .cal-holiday { background:#fee2e2; color:#991b1b; }
.holiday-ozel .cal-holiday { background:#fff7e5; color:#9a6700; }
.cal-big .cal-cell.holiday-resmi { background:rgba(220,38,38,.08); }
.cal-big .cal-cell.holiday-resmi .cal-num { color:#dc2626; }
/* Küçük seçici takviminde tatil günleri (etiket sığmaz, rengi belli olsun) */
.termin-picker .holiday-resmi .cal-num { color:#dc2626; font-weight:700; }
.termin-picker .holiday-ozel .cal-num { color:#d97706; font-weight:700; }
.cal-legend { display:flex; flex-wrap:wrap; gap:14px; margin-top:12px; padding-top:12px; border-top:1px solid var(--border); font-size:11px; color:var(--muted); }
.cal-legend span { display:inline-flex; align-items:center; gap:5px; }
.cal-legend i { width:10px; height:10px; border-radius:3px; display:inline-block; }
.cal-legend .lg-termin { background:var(--accent); border-radius:50%; }
.cal-legend .lg-resmi { background:#dc2626; }

/* Planlayıcı editörü v2: temel alanlar önce, seyrek kullanılan ayarlar açılır bölümde. */

.planner-editor-layer { padding:18px; background:rgba(12,19,31,.2); backdrop-filter:blur(5px); }
.planner-editor { width:min(560px,calc(100vw - 36px)); max-height:calc(100vh - 56px); padding:16px 20px 18px; border-radius:20px; }
.planner-editor-top { height:auto; min-height:32px; margin:0 0 8px; }
.planner-editor-top > div { min-width:0; display:grid; gap:3px; }
.planner-editor-top > div > span { color:var(--text); font-size:13px; font-weight:820; letter-spacing:-.01em; }

.planner-editor-top > button { flex:0 0 auto; width:34px; height:34px; }
.planner-title-composer { margin:0 0 8px; }
.planner-title-composer .planner-editor-title { min-height:44px; padding:8px 12px; border:1px solid var(--border); border-radius:12px; background:var(--surface-solid,#fff); font-size:16px; font-weight:700; }
.planner-title-composer .planner-editor-title:focus { border-color:var(--accent); box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 12%,transparent); }
.planner-title-customer-slot { margin:0 0 7px; }
.planner-title-suggestions { top:calc(100% + 4px); }
.planner-editor-types { width:min(330px,100%); grid-template-columns:1fr 1fr; margin:0 0 8px; padding:3px; }
.planner-editor-types button { min-height:32px; }
.planner-editor-row { grid-template-columns:106px minmax(0,1fr); gap:14px; padding:7px 0; }
.planner-field-label { padding-top:10px; font-size:9px; letter-spacing:.065em; }
.planner-editor-time-row { grid-template-columns:106px minmax(0,1fr); padding-top:8px; }
.planner-schedule-controls { grid-column:2; min-width:0; display:grid; grid-template-columns:minmax(205px,1fr) auto; align-items:end; gap:10px; }
.planner-editor-date { width:100%; box-sizing:border-box; }
.planner-editor-date-picker { min-width:0; min-height:46px; justify-content:center; padding:7px 38px 7px 12px; }
.planner-editor-date-picker > svg { width:19px; height:19px; }
.planner-time-range { display:grid; grid-template-columns:92px 10px 92px; align-items:end; gap:5px; }
.planner-time-range label { min-width:0; display:grid; gap:5px; }
.planner-time-range label > span { color:var(--muted); font-size:8.5px; font-weight:700; }
.planner-time-range i { align-self:end; padding-bottom:11px; color:var(--muted); font-size:10px; font-style:normal; text-align:center; }
.planner-time-range input[type=time] { width:92px; height:38px; }
.planner-auto-time-option { grid-column:1/-1; min-height:34px; display:grid; grid-template-columns:20px minmax(0,1fr); align-items:center; gap:8px; padding:4px 9px; border:1px solid var(--border); border-radius:10px; background:var(--surface-solid,#fff); cursor:pointer; transition:.16s ease; }
.planner-auto-time-option:hover { border-color:color-mix(in srgb,var(--accent) 38%,var(--border)); background:color-mix(in srgb,var(--accent) 3%,var(--surface-solid,#fff)); }
.planner-auto-time-option.is-active { border-color:color-mix(in srgb,var(--accent) 38%,var(--border)); background:color-mix(in srgb,var(--accent) 7%,var(--surface-solid,#fff)); box-shadow:0 6px 18px color-mix(in srgb,var(--accent) 8%,transparent); }
.planner-auto-time-option > input { position:absolute; width:1px; height:1px; opacity:0; pointer-events:none; }
.planner-auto-time-check { width:20px; height:20px; display:grid; place-items:center; border:1px solid color-mix(in srgb,var(--muted) 32%,var(--border)); border-radius:7px; background:var(--surface-solid,#fff); color:transparent; font-size:11px; font-weight:900; transition:.16s ease; }
.planner-auto-time-option.is-active .planner-auto-time-check { border-color:var(--accent); background:var(--accent); color:#fff; box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 10%,transparent); }
.planner-auto-time-option > span:last-child { min-width:0; display:flex; align-items:baseline; gap:7px; overflow:hidden; }
.planner-auto-time-option strong { flex:0 0 auto; color:var(--text); font-size:11px; font-weight:800; line-height:1.3; }
.planner-auto-time-option small { overflow:hidden; color:var(--muted); font:650 9.5px/1.35 inherit; text-overflow:ellipsis; white-space:nowrap; }
.planner-time-range input[type=time][readonly] { border-color:color-mix(in srgb,var(--accent) 20%,var(--border)); background:color-mix(in srgb,var(--accent) 5%,var(--surface-solid,#fff)); color:var(--muted); cursor:default; }
html[data-theme="dark"] .planner-auto-time-option { background:#202023; }
html[data-theme="dark"] .planner-auto-time-option.is-active { background:color-mix(in srgb,var(--accent) 10%,#202023); }
.planner-reminder-lead-row { grid-template-columns:106px minmax(130px,1fr) auto; }
.planner-editor-customer-row,
.planner-editor-description { grid-template-columns:106px minmax(0,1fr); }
.planner-customer-search-shell { min-height:40px; border-radius:12px; }
.planner-customer-search-shell input { font-size:10.5px; }
.planner-editor-text-wrap textarea { min-height:64px; font-size:10.5px; }
.planner-link-preview { margin:2px 0 8px 120px; }
.planner-photo-links {
  margin:2px 0 8px 120px;
  padding:9px 11px;
  border:1px solid color-mix(in srgb,var(--accent) 24%,var(--border));
  border-radius:15px;
  background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 5%,var(--surface-solid,#fff)),var(--surface-solid,#fff) 62%);
}
.planner-photo-links > header { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.planner-photo-links > header strong { min-width:0; overflow:hidden; color:var(--text); font-size:11px; text-overflow:ellipsis; white-space:nowrap; }
.planner-photo-links > header > button {
  flex:0 0 auto;
  min-height:30px;
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:7px 10px;
  border:1px solid color-mix(in srgb,var(--accent) 30%,var(--border));
  border-radius:10px;
  background:var(--surface-solid,#fff);
  color:var(--accent);
  font-size:11.5px;
  font-weight:800;
  cursor:pointer;
}
.planner-photo-links > header > button span { font-size:16px; line-height:1; }
.planner-photo-linked-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(118px,1fr)); gap:8px; margin-top:10px; }
.planner-photo-linked-grid article { position:relative; min-width:0; overflow:hidden; border:1px solid var(--border); border-radius:11px; background:var(--surface-solid,#fff); }
.planner-photo-linked-open { width:100%; display:grid; grid-template-rows:82px auto; padding:0; border:0; background:transparent; color:inherit; text-align:left; cursor:pointer; }
.planner-photo-linked-open img,.planner-photo-linked-open > span { width:100%; height:82px; display:block; object-fit:cover; background:color-mix(in srgb,var(--muted) 8%,var(--bg)); }
.planner-photo-linked-open > span { display:grid; place-items:center; color:var(--muted); font-size:11px; }
.planner-photo-linked-open strong { overflow:hidden; padding:7px 8px; color:var(--text); font-size:10.5px; text-overflow:ellipsis; white-space:nowrap; }
.planner-photo-linked-grid.is-compact { display:flex; align-items:center; gap:6px; overflow-x:auto; padding:1px 0; }
.planner-photo-linked-grid.is-compact article { width:46px; height:46px; flex:0 0 auto; border-radius:10px; }
.planner-photo-linked-grid.is-compact .planner-photo-linked-open { display:block; height:100%; }
.planner-photo-linked-grid.is-compact .planner-photo-linked-open img,.planner-photo-linked-grid.is-compact .planner-photo-linked-open > span { height:100%; object-fit:cover; }
.planner-photo-linked-remove {
  position:absolute;
  top:6px;
  right:6px;
  width:26px;
  height:26px;
  display:grid;
  place-items:center;
  padding:0;
  border:1px solid rgba(255,255,255,.54);
  border-radius:8px;
  background:rgba(15,23,42,.72);
  color:#fff;
  font-size:16px;
  cursor:pointer;
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
}

.planner-photo-picker { margin-top:11px; padding-top:11px; border-top:1px solid var(--border); }
.planner-photo-picker > label { height:38px; display:flex; align-items:center; gap:8px; padding:0 10px; border:1px solid var(--border); border-radius:10px; background:var(--surface-solid,#fff); }
.planner-photo-picker > label svg { width:16px; height:16px; color:var(--muted); stroke-width:2; }
.planner-photo-picker > label input { width:100%; min-width:0; border:0; outline:0; background:transparent; color:var(--text); font-size:12px; }
.planner-photo-picker-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(94px,1fr)); gap:7px; margin-top:8px; max-height:258px; overflow:auto; }
.planner-photo-picker-grid > button { position:relative; height:96px; overflow:hidden; padding:0; border:1px solid var(--border); border-radius:10px; background:var(--bg); cursor:pointer; }
.planner-photo-picker-grid > button.selected { border-color:var(--accent); box-shadow:inset 0 0 0 2px var(--accent); }
.planner-photo-picker-grid img { width:100%; height:100%; object-fit:cover; }
.planner-photo-picker-grid button span { position:absolute; left:5px; right:31px; bottom:5px; overflow:hidden; color:#fff; font-size:9px; font-weight:750; text-align:left; text-shadow:0 1px 3px #000; text-overflow:ellipsis; white-space:nowrap; }
.planner-photo-picker-grid button b { position:absolute; right:5px; bottom:5px; width:23px; height:23px; display:grid; place-items:center; border-radius:7px; background:rgba(15,23,42,.72); color:#fff; font-size:13px; }
.planner-photo-picker-grid button.selected b { background:var(--accent); }
.planner-photo-picker-empty { grid-column:1/-1; padding:18px; border:1px dashed var(--border); border-radius:10px; color:var(--muted); font-size:11.5px; text-align:center; }
html[data-theme="dark"] .planner-photo-links { background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 8%,#202023),#202023 62%); }

.planner-editor-advanced { margin-top:4px; border:1px solid color-mix(in srgb,var(--border) 86%,transparent); border-radius:13px; background:color-mix(in srgb,var(--surface-solid,#fff) 94%,var(--accent-soft)); overflow:hidden; }
.planner-editor-advanced > summary { min-height:40px; display:grid; grid-template-columns:auto minmax(0,1fr) 18px; align-items:center; gap:9px; padding:6px 12px; color:var(--text); cursor:pointer; list-style:none; user-select:none; }
.planner-editor-advanced > summary::-webkit-details-marker { display:none; }
.planner-editor-advanced > summary:hover { background:color-mix(in srgb,var(--accent) 4%,transparent); }
.planner-editor-advanced > summary > span { font-size:10.5px; font-weight:800; }
.planner-editor-advanced > summary > small { color:var(--muted); font-size:9px; }
.planner-editor-advanced > summary > i { color:var(--muted); font-size:16px; font-style:normal; text-align:center; transition:transform .16s ease; }
.planner-editor-advanced[open] > summary > i { transform:rotate(180deg); }
.planner-editor-advanced-body { padding:0 12px 5px; border-top:1px solid color-mix(in srgb,var(--border) 72%,transparent); animation:calendarNoteDetailsIn .16s ease; }
.planner-editor-advanced .planner-editor-row { grid-template-columns:92px minmax(0,1fr); gap:12px; }
.planner-editor-advanced .planner-inline-fields,
.planner-editor-advanced .planner-color-options { grid-column:2; }

.planner-editor-actions { position:sticky; bottom:-18px; z-index:2; margin:12px -20px -18px; padding:11px 20px 14px; border-top:1px solid var(--border); background:color-mix(in srgb,var(--surface-solid,#fff) 94%,transparent); backdrop-filter:blur(12px); }
.planner-more-btn,.planner-save-btn { min-height:40px; }

html[data-theme="dark"] .planner-title-composer .planner-editor-title { background:#202023; }
html[data-theme="dark"] .planner-editor-advanced { background:rgba(255,255,255,.025); }
html[data-theme="dark"] .planner-editor-actions { background:rgba(31,31,34,.94); }

@media (max-width:680px) {
  .planner-editor-layer { align-items:end; padding:8px; }
  .planner-editor { width:100%; max-height:calc(100vh - 16px); padding:17px 16px 18px; border-radius:20px 20px 14px 14px; }
  .planner-editor-row,
  .planner-editor-time-row,
  .planner-reminder-lead-row,
  .planner-editor-customer-row,
  .planner-editor-description { grid-template-columns:1fr; gap:7px; }
  .planner-field-label { padding-top:0; }
  .planner-schedule-controls,
  .planner-customer-picker,
  .planner-editor-text-wrap { grid-column:1; }
  .planner-schedule-controls { grid-template-columns:1fr; align-items:stretch; }
  .planner-auto-time-option { grid-column:1; }
  .planner-time-range { grid-template-columns:minmax(0,1fr) 10px minmax(0,1fr); }
  .planner-time-range input[type=time] { width:100%; }
  .planner-reminder-lead-controls { grid-column:1; }
  .planner-link-preview { margin-left:0; }
  .planner-photo-links { margin-left:0; }
  .planner-photo-links > header { align-items:flex-start; }
  .planner-photo-linked-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .planner-editor-advanced .planner-editor-row { grid-template-columns:1fr; gap:7px; }
  .planner-editor-advanced .planner-inline-fields,
.planner-editor-advanced .planner-color-options { grid-column:1; }
  .planner-editor-advanced > summary { grid-template-columns:1fr 18px; }
  .planner-editor-advanced > summary > small { grid-column:1; grid-row:2; }
  .planner-editor-advanced > summary > i { grid-column:2; grid-row:1 / 3; }
  .planner-editor-actions { bottom:-18px; margin:16px -16px -18px; padding:12px 16px 14px; }
}
.cal-legend .lg-ozel { background:#d97706; }
.cal-legend .lg-note-ozel { background:#8b5cf6; border-radius:50%; }
.cal-legend .lg-note-genel { background:#f59e0b; border-radius:50%; }
.cal-legend .lg-today { border:1.5px solid #16a34a; background:rgba(22,163,74,.16); }

/* ── ANALİZ ─────────────────────────────────────────────────────── */
.analysis-toolbar { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:16px; flex-wrap:wrap; }
/* Güncellenme damgası: başlık bandı kalktığı için araç çubuğunun sağ ucunda,
   Yenile düğmesinin solunda sessiz metin olarak durur. */
.analysis-updated-note { margin-left:auto; color:var(--muted); font-size:12px; white-space:nowrap; }
.analysis-periods { display:inline-flex; gap:4px; padding:4px; border:1px solid var(--border); border-radius:13px; background:rgba(127,127,127,.04); }
.analysis-period-btn { min-height:32px; padding:6px 12px; border:0; border-radius:9px; background:transparent; color:var(--muted); font:650 11px inherit; cursor:pointer; }
.analysis-period-btn:hover { color:var(--text); background:rgba(127,127,127,.06); }
.analysis-period-btn.active { color:#fff; background:var(--accent); }
/* Fason kartı zaman süzgeci: aralık (1/2/3/6/12 ay) + ay çubuğu, karşılıklı dışlamalı */
.fason-controls { display:flex; flex-direction:column; gap:8px; margin:2px 0 16px; }
.fason-ctrl-row { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.fason-ctrl-label { flex:0 0 auto; min-width:48px; font-size:10px; font-weight:750; letter-spacing:.05em; text-transform:uppercase; color:var(--muted); }
.fason-months { flex-wrap:wrap; }
.fason-months .analysis-period-btn { padding:5px 9px; min-height:30px; font-variant-numeric:tabular-nums; }
@media (max-width:760px){ .fason-ctrl-row { width:100%; } .fason-controls .analysis-periods { flex-wrap:wrap; } }
.analysis-summary-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin-bottom:16px; }
.analysis-kpi { position:relative; min-height:122px; padding:18px; overflow:hidden; border:1px solid var(--border); border-radius:18px; background:var(--surface-solid,#fff); box-shadow:var(--shadow); }
.analysis-kpi::after { content:""; position:absolute; right:-38px; bottom:-48px; width:118px; height:118px; border-radius:50%; background:color-mix(in srgb,var(--accent) 10%,transparent); }
.analysis-kpi .k { color:var(--muted); font-size:9px; font-weight:700; letter-spacing:.09em; text-transform:uppercase; }
.analysis-kpi .v { margin-top:13px; color:var(--text); font-size:30px; font-weight:650; letter-spacing:-.04em; line-height:1; }
.analysis-kpi .m { margin-top:9px; color:var(--muted); font-size:11px; line-height:1.35; }
.analysis-kpi .d { margin-top:5px; color:var(--muted); font-size:10px; line-height:1.3; opacity:.8; }
.analysis-grid { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr); gap:16px; align-items:start; }
.analysis-card { min-width:0; }
.analysis-card + .analysis-card { margin-top:16px; }
.analysis-card .card-title { margin-bottom:4px; }
.analysis-subtitle { margin-bottom:16px; color:var(--muted); font-size:12px; line-height:1.45; }
.analysis-bars { display:grid; gap:11px; }
.analysis-bar-row { display:grid; grid-template-columns:minmax(118px,.55fr) minmax(0,1fr) auto; align-items:center; gap:10px; }
.analysis-bar-label { min-width:0; overflow:hidden; color:var(--text); font-size:12px; font-weight:650; text-overflow:ellipsis; white-space:nowrap; }
.analysis-bar-track { height:9px; overflow:hidden; border-radius:999px; background:color-mix(in srgb,var(--muted) 14%,transparent); }
.analysis-bar-fill { height:100%; min-width:3px; border-radius:999px; background:var(--bar-color,var(--accent)); }
.analysis-bar-value { display:flex; flex-direction:column; align-items:flex-end; gap:2px; color:var(--text); font-size:12px; font-weight:700; white-space:nowrap; text-align:right; line-height:1.15; }
.analysis-bar-sub { color:var(--muted); font-size:10px; font-weight:600; }
.analysis-split { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.analysis-mini-list { display:grid; gap:8px; }
.analysis-mini-item { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:38px; padding:9px 11px; border:1px solid var(--border); border-radius:11px; background:rgba(127,127,127,.035); }
.analysis-mini-item span:first-child { min-width:0; overflow:hidden; color:var(--text); font-size:12px; font-weight:650; text-overflow:ellipsis; white-space:nowrap; }
.analysis-mini-item span:last-child { color:var(--muted); font-size:11px; font-weight:700; white-space:nowrap; }
.analysis-risk-list { display:grid; gap:9px; }
.analysis-risk { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:10px; padding:11px 12px; border:1px solid var(--border); border-radius:12px; background:rgba(127,127,127,.035); cursor:pointer; }
.analysis-risk:hover { border-color:var(--accent); background:var(--accent-soft); }
.analysis-risk-dot { width:9px; height:9px; border-radius:50%; background:var(--risk-color,var(--warning)); }
.analysis-risk-main { min-width:0; }
.analysis-risk-main strong { display:block; overflow:hidden; color:var(--text); font-size:12px; font-weight:700; text-overflow:ellipsis; white-space:nowrap; }
.analysis-risk-main span { display:block; margin-top:2px; overflow:hidden; color:var(--muted); font-size:10px; text-overflow:ellipsis; white-space:nowrap; }
.analysis-risk-badge { padding:3px 8px; border-radius:999px; background:var(--warning-soft); color:var(--warning); font-size:10px; font-weight:750; white-space:nowrap; }
.analysis-empty { padding:18px; color:var(--muted); border:1px dashed var(--border); border-radius:13px; background:rgba(127,127,127,.025); font-size:12px; line-height:1.45; }
.analysis-rank-head { margin:2px 0 9px; font-size:11px; font-weight:750; letter-spacing:.03em; color:var(--muted); text-transform:uppercase; }
.analysis-rank-list { display:grid; gap:8px; min-width:0; }
.analysis-rank-row { display:grid; grid-template-columns:18px minmax(0,1fr) auto; align-items:center; gap:9px; }
.analysis-rank-row.is-clickable { grid-template-columns:18px minmax(0,1fr) auto 14px; cursor:pointer; border-radius:9px; transition:background .16s ease,box-shadow .16s ease; }
.analysis-rank-row.is-clickable:hover { background:color-mix(in srgb,var(--accent) 6%,transparent); }
.analysis-rank-row.is-clickable:focus-visible { outline:2px solid var(--accent); outline-offset:3px; }
.analysis-rank-no { font-size:11px; font-weight:800; color:var(--muted); text-align:center; }
.analysis-rank-main { min-width:0; }
.analysis-rank-main strong { display:block; overflow:hidden; font-size:12px; font-weight:700; color:var(--text); text-overflow:ellipsis; white-space:nowrap; }
.analysis-rank-track { height:5px; margin-top:4px; border-radius:3px; background:var(--border); overflow:hidden; }
.analysis-rank-fill { height:100%; border-radius:3px; background:linear-gradient(90deg,var(--accent),var(--warning)); }
.analysis-rank-val { font-size:12px; font-weight:750; color:var(--text); font-variant-numeric:tabular-nums; white-space:nowrap; text-align:right; }
.analysis-rank-val small { display:block; font-size:10px; font-weight:600; color:var(--muted); }
.analysis-rank-chevron { color:var(--muted); font-size:20px; font-weight:500; line-height:1; transform:rotate(0); transition:transform .16s ease,color .16s ease; }
.analysis-rank-row[aria-expanded="true"] .analysis-rank-chevron { color:var(--accent); transform:rotate(90deg); }
.analysis-rank-empty { padding:14px; text-align:center; color:var(--muted); font-size:12px; }
.fason-detail-panel { margin:0 0 5px 27px; padding:15px; border:1px solid color-mix(in srgb,var(--accent) 20%,var(--border)); border-radius:14px; background:color-mix(in srgb,var(--surface-solid,#fff) 95%,var(--accent-soft)); box-shadow:0 12px 28px rgba(0,0,0,.055); animation:fasonDetailIn .18s ease; }
@keyframes fasonDetailIn { from { opacity:0; transform:translateY(-5px); } to { opacity:1; transform:translateY(0); } }
.fason-detail-head { display:flex; align-items:flex-start; justify-content:space-between; gap:14px; }
.fason-detail-head > div:first-child { min-width:0; display:grid; gap:3px; }
.fason-detail-head > div:first-child span { color:var(--muted); font-size:9px; font-weight:750; letter-spacing:.055em; text-transform:uppercase; }
.fason-detail-head > div:first-child strong { overflow:hidden; color:var(--text); font-size:15px; font-weight:800; text-overflow:ellipsis; white-space:nowrap; }
.fason-detail-summary { flex:0 0 auto; display:grid; gap:2px; text-align:right; }
.fason-detail-summary strong { color:var(--text); font-size:16px; font-weight:800; font-variant-numeric:tabular-nums; }
.fason-detail-summary span { color:var(--muted); font-size:9px; font-weight:650; }
.fason-detail-segments { display:flex; width:100%; height:8px; margin:13px 0 11px; overflow:hidden; border-radius:999px; background:var(--border); }
.fason-detail-segments i { height:100%; background:var(--segment-color); }
.fason-detail-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:7px; }
.fason-detail-stat { min-width:0; width:100%; padding:9px; appearance:none; border:1px solid color-mix(in srgb,var(--detail-color) 22%,var(--border)); border-radius:10px; background:color-mix(in srgb,var(--detail-color) 5%,transparent); color:inherit; font:inherit; text-align:left; cursor:pointer; transition:border-color .16s,background .16s,box-shadow .16s,transform .16s; }
.fason-detail-stat:hover { border-color:var(--detail-color); background:color-mix(in srgb,var(--detail-color) 9%,transparent); transform:translateY(-1px); }
.fason-detail-stat:focus-visible { outline:2px solid var(--detail-color); outline-offset:2px; }
.fason-detail-stat.is-open { border-color:var(--detail-color); background:color-mix(in srgb,var(--detail-color) 11%,transparent); box-shadow:0 0 0 2px color-mix(in srgb,var(--detail-color) 13%,transparent); }
.fason-detail-stat-top { display:grid; gap:4px; }
.fason-detail-stat-top span { min-height:24px; color:var(--muted); font-size:9px; font-weight:700; line-height:1.25; }
.fason-detail-stat-top strong { color:var(--text); font-size:13px; font-weight:800; font-variant-numeric:tabular-nums; }
.fason-detail-stat-bar { height:4px; margin:7px 0 6px; overflow:hidden; border-radius:999px; background:color-mix(in srgb,var(--detail-color) 14%,transparent); }
.fason-detail-stat-bar i { display:block; min-width:2px; height:100%; border-radius:inherit; background:var(--detail-color); }
.fason-detail-stat small { display:block; overflow:hidden; color:var(--muted); font-size:8.5px; font-weight:650; line-height:1.35; text-overflow:ellipsis; white-space:nowrap; }
.fason-detail-note { margin-top:10px; color:var(--muted); font-size:9px; line-height:1.4; }
.fason-cycle-list { margin-top:11px; overflow:hidden; border:1px solid color-mix(in srgb,var(--detail-color) 28%,var(--border)); border-radius:12px; background:color-mix(in srgb,var(--detail-color) 3%,var(--surface-solid,#fff)); animation:fasonDetailIn .18s ease; }
.fason-cycle-list-head { display:flex; align-items:center; justify-content:space-between; gap:14px; padding:10px 12px; border-bottom:1px solid color-mix(in srgb,var(--detail-color) 18%,var(--border)); background:color-mix(in srgb,var(--detail-color) 7%,transparent); }
.fason-cycle-list-head > div { min-width:0; display:grid; gap:2px; }
.fason-cycle-list-head span { overflow:hidden; color:var(--muted); font-size:8px; font-weight:750; text-overflow:ellipsis; white-space:nowrap; }
.fason-cycle-list-head strong { color:var(--text); font-size:10px; font-weight:800; }
.fason-cycle-list-head > b { flex:0 0 auto; padding:3px 7px; border-radius:999px; background:color-mix(in srgb,var(--detail-color) 14%,transparent); color:var(--detail-color); font-size:8.5px; font-weight:850; }
.fason-cycle-list-scroll { max-height:310px; overflow:auto; overscroll-behavior:contain; }
.fason-cycle-wrap { min-width:0; }
.fason-cycle-row { width:100%; display:grid; grid-template-columns:minmax(0,1fr) 60px 88px 12px; align-items:center; gap:9px; min-height:58px; padding:8px 12px; border:0; border-bottom:1px solid color-mix(in srgb,var(--detail-color) 9%,var(--border)); background:transparent; color:inherit; font:inherit; text-align:left; cursor:pointer; }
.fason-cycle-wrap:last-child .fason-cycle-row { border-bottom:0; }
.fason-cycle-row:hover { background:color-mix(in srgb,var(--detail-color) 7%,transparent); }
.fason-cycle-row:focus-visible { outline:2px solid var(--detail-color); outline-offset:-2px; }
.fason-cycle-row > div { min-width:0; display:grid; gap:2px; }
.fason-cycle-row strong { overflow:hidden; color:var(--accent); font-size:9.5px; font-weight:800; text-overflow:ellipsis; white-space:nowrap; }
.fason-cycle-row span { color:var(--muted); font-size:8px; font-weight:650; }
.fason-cycle-row .fason-cycle-reconcile { overflow:hidden; color:color-mix(in srgb,var(--text) 74%,var(--muted)); font-size:7.5px; text-overflow:ellipsis; white-space:nowrap; }
.fason-cycle-row > b { color:var(--text); font-size:10px; font-weight:850; text-align:right; }
.fason-cycle-row > small { color:var(--muted); font-size:8.5px; font-weight:700; text-align:right; }
.fason-cycle-row > i { color:var(--muted); font-size:16px; font-style:normal; }
.fason-cycle-wrap .photo-order-hover { margin:0 9px; border-radius:0 0 11px 11px; background:color-mix(in srgb,var(--surface-solid,#fff) 96%,var(--detail-color)); box-shadow:0 12px 25px rgba(0,0,0,.06); }
@media (hover:hover) and (pointer:fine) {
  .fason-cycle-wrap.has-preview:hover .fason-cycle-row,.fason-cycle-wrap.has-preview:focus-within .fason-cycle-row { border-bottom-color:transparent; background:color-mix(in srgb,var(--detail-color) 7%,transparent); }
  .fason-cycle-wrap.has-preview:hover .photo-order-hover,.fason-cycle-wrap.has-preview:focus-within .photo-order-hover { max-height:360px; opacity:1; margin-bottom:8px; padding:10px; border-width:1px; border-color:color-mix(in srgb,var(--detail-color) 22%,var(--border)); }
}
.fason-detail-panel.is-loading { display:flex; align-items:center; gap:10px; }
.fason-detail-panel.is-loading > div:last-child,.fason-detail-empty { display:grid; gap:3px; }
.fason-detail-panel.is-loading strong,.fason-detail-empty strong { color:var(--text); font-size:11px; }
.fason-detail-panel.is-loading span,.fason-detail-empty span { color:var(--muted); font-size:9px; line-height:1.4; }
.fason-detail-loading-dot { width:9px; height:9px; flex:0 0 auto; border-radius:50%; background:var(--accent); box-shadow:0 0 0 0 color-mix(in srgb,var(--accent) 35%,transparent); animation:fasonDetailPulse 1.25s infinite; }
@keyframes fasonDetailPulse { 70% { box-shadow:0 0 0 8px transparent; } 100% { box-shadow:0 0 0 0 transparent; } }
html[data-theme="dark"] .fason-detail-panel { background:color-mix(in srgb,#202023 94%,var(--accent)); box-shadow:0 14px 32px rgba(0,0,0,.2); }
@media (max-width:900px) { .fason-detail-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:560px) {
  .analysis-rank-row.is-clickable { grid-template-columns:18px minmax(0,1fr) 13px; }
  .analysis-rank-row.is-clickable .analysis-rank-val { grid-column:2; text-align:left; }
  .analysis-rank-row.is-clickable .analysis-rank-chevron { grid-column:3; grid-row:1 / 3; align-self:center; }
  .fason-detail-panel { margin-left:0; }
  .fason-detail-head { display:grid; }
  .fason-detail-summary { text-align:left; }
  .fason-detail-grid { grid-template-columns:1fr; }
  .fason-cycle-row { grid-template-columns:minmax(0,1fr) 52px 12px; }
  .fason-cycle-row > small { display:none; }
}
/* Yüksek hacim + hızlı dönüş = verimli fasoncu: yeşil parlama + rozet */
.analysis-rank-row.is-star { border-radius:9px; padding:4px 7px; margin:-4px -7px; background:rgba(34,197,94,.08); box-shadow:0 0 0 1px rgba(34,197,94,.22), 0 0 14px rgba(34,197,94,.18); }
.analysis-rank-row.is-star .analysis-rank-main strong { color:#15803d; }
.analysis-rank-row.is-star .analysis-rank-fill { background:linear-gradient(90deg,#16a34a,#6ee7a8) !important; }

html[data-theme="dark"] .analysis-rank-row.is-star { background:rgba(34,197,94,.12); }
html[data-theme="dark"] .analysis-rank-row.is-star .analysis-rank-main strong { color:#4ade80; }
/* Hem geç veren hem çok iade/tamir alan = sorunlu fasoncu: kırmızı uyarı rozeti */
.analysis-rank-row.is-bad { border-radius:9px; padding:4px 7px; margin:-4px -7px; background:rgba(239,68,68,.07); box-shadow:0 0 0 1px rgba(239,68,68,.22), 0 0 14px rgba(239,68,68,.16); }
.analysis-rank-row.is-bad .analysis-rank-main strong { color:#b91c1c; }
.analysis-rank-row.is-bad .analysis-rank-fill { background:linear-gradient(90deg,#dc2626,#fca5a5) !important; }

html[data-theme="dark"] .analysis-rank-row.is-bad { background:rgba(239,68,68,.12); }
html[data-theme="dark"] .analysis-rank-row.is-bad .analysis-rank-main strong { color:#f87171; }
/* Az partili firma: puan güven düzeltmesiyle popülasyona çekildi rozeti */

/* SVG rozet sistemi: renk --bc ile akar, ikonlar hafif CSS animasyonlu */
.fason-badge { display:inline-flex; align-items:center; gap:3px; margin-left:6px; padding:1px 7px 1px 5px; border-radius:999px; border:1px solid color-mix(in srgb,var(--bc) 30%,transparent); background:color-mix(in srgb,var(--bc) 12%,transparent); color:color-mix(in srgb,var(--bc) 80%,var(--text)); font-size:9px; font-weight:800; letter-spacing:.02em; vertical-align:middle; white-space:nowrap; }
.fason-badge svg { width:11px; height:11px; flex:0 0 auto; }
.fason-badge-yukselen svg { animation:fasonBadgeRise 1.7s ease-in-out infinite; }
.fason-badge-verimli svg { animation:fasonBadgeFlash 2.3s ease-in-out infinite; }
.fason-badge-istikrarli svg { animation:fasonBadgeBeat 3s ease-in-out infinite; }
.fason-badge-sorunlu svg { animation:fasonBadgeBlink 1.9s ease-in-out infinite; }
@keyframes fasonBadgeRise { 0%,100% { transform:translateY(1.2px); } 50% { transform:translateY(-1.2px); } }
@keyframes fasonBadgeFlash { 0%,100% { opacity:.72; transform:scale(1); } 50% { opacity:1; transform:scale(1.16); } }
@keyframes fasonBadgeBeat { 0%,86%,100% { transform:scale(1); } 93% { transform:scale(1.14); } }
@keyframes fasonBadgeBlink { 0%,100% { opacity:1; } 50% { opacity:.5; } }
@media (prefers-reduced-motion: reduce) { .fason-badge svg, .fason-badge-chip svg { animation:none !important; } }
/* Rozet özeti şeridi + filtre çipleri */
.fason-badge-summary-row { display:flex; flex-wrap:wrap; align-items:center; gap:7px; margin:10px 0 2px; }
.fason-badge-chip { display:inline-flex; align-items:center; gap:5px; padding:5px 11px; border-radius:999px; border:1px solid color-mix(in srgb,var(--bc) 35%,var(--border)); background:color-mix(in srgb,var(--bc) 8%,transparent); color:color-mix(in srgb,var(--bc) 78%,var(--text)); font:inherit; font-size:11px; font-weight:750; cursor:pointer; transition:background .16s,box-shadow .16s,transform .16s; }
.fason-badge-chip svg { width:13px; height:13px; flex:0 0 auto; }
.fason-badge-chip:hover { background:color-mix(in srgb,var(--bc) 15%,transparent); transform:translateY(-1px); }
.fason-badge-chip.active { background:color-mix(in srgb,var(--bc) 18%,transparent); box-shadow:0 0 0 2px color-mix(in srgb,var(--bc) 32%,transparent); }
.fason-badge-chip b { font-size:12.5px; font-weight:850; font-variant-numeric:tabular-nums; }
.fason-badge-chip .fason-badge-yukselen svg { animation:fasonBadgeRise 1.7s ease-in-out infinite; }
.fason-badge-clear { appearance:none; border:0; padding:5px 10px; border-radius:999px; background:color-mix(in srgb,var(--muted) 12%,transparent); color:var(--muted); font:inherit; font-size:10.5px; font-weight:700; cursor:pointer; }
.fason-badge-clear:hover { background:color-mix(in srgb,var(--muted) 20%,transparent); }
/* İlk 3 sıra: altın/gümüş/bronz madalya daireleri */
.analysis-rank-no.rank-1, .analysis-rank-no.rank-2, .analysis-rank-no.rank-3 { width:18px; height:18px; display:inline-flex; align-items:center; justify-content:center; border-radius:999px; color:#fff; font-size:10px; font-weight:850; text-shadow:0 1px 1px rgba(0,0,0,.25); }
.analysis-rank-no.rank-1 { background:linear-gradient(135deg,#f7ce46,#e8a213); box-shadow:0 0 9px rgba(232,162,19,.45); }
.analysis-rank-no.rank-2 { background:linear-gradient(135deg,#d7dbe2,#98a2b0); box-shadow:0 0 7px rgba(152,162,176,.4); }
.analysis-rank-no.rank-3 { background:linear-gradient(135deg,#e2a06b,#b06a2f); box-shadow:0 0 7px rgba(176,106,47,.4); }
/* Yükselen firma satırı: mor parlama */
.analysis-rank-row.is-rising { border-radius:9px; padding:4px 7px; margin:-4px -7px; background:rgba(139,92,246,.08); box-shadow:0 0 0 1px rgba(139,92,246,.24), 0 0 14px rgba(139,92,246,.18); }
.analysis-rank-row.is-rising .analysis-rank-main strong { color:#7c3aed; }
.analysis-rank-row.is-rising .analysis-rank-fill { background:linear-gradient(90deg,#8b5cf6,#c4b5fd) !important; }
html[data-theme="dark"] .analysis-rank-row.is-rising { background:rgba(139,92,246,.13); }
html[data-theme="dark"] .analysis-rank-row.is-rising .analysis-rank-main strong { color:#a78bfa; }
/* Uzun firma adı kısalır ama rozetler HEP görünür kalır */
.analysis-rank-main strong.fason-rank-firm { display:flex; align-items:center; }
.fason-rank-name { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.fason-rank-firm .fason-badge { flex:0 0 auto; }
/* ? panelindeki rozet açıklama listesi */
.fason-score-badges { display:grid; gap:6px; margin:7px 0; }
.fason-score-badge-line { display:flex; align-items:center; gap:8px; }
.fason-score-badge-line .fason-badge { margin-left:0; flex:0 0 auto; }
.fason-score-badge-line small { margin:0; color:var(--muted); font-size:10px; line-height:1.4; }
/* Adil puan "?" düğmesi + açıklama paneli */
.fason-score-info-btn { display:inline-flex; align-items:center; justify-content:center; width:18px; height:18px; margin-left:6px; padding:0; border:1px solid color-mix(in srgb,var(--accent) 40%,var(--border)); border-radius:999px; background:color-mix(in srgb,var(--accent) 8%,transparent); color:var(--accent); font-size:11px; font-weight:800; line-height:1; vertical-align:middle; cursor:pointer; transition:background .16s,transform .16s; }
.fason-score-info-btn:hover { background:color-mix(in srgb,var(--accent) 16%,transparent); transform:scale(1.08); }
.fason-score-info { margin:10px 0 4px; padding:14px 15px; display:grid; gap:11px; border:1px solid color-mix(in srgb,var(--accent) 22%,var(--border)); border-radius:14px; background:color-mix(in srgb,var(--surface-solid,#fff) 95%,var(--accent-soft)); box-shadow:0 12px 28px rgba(0,0,0,.055); animation:fasonDetailIn .18s ease; }
.fason-score-info-head { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.fason-score-info-head strong { color:var(--text); font-size:13px; font-weight:800; }
.fason-score-info-close { appearance:none; border:0; width:22px; height:22px; border-radius:999px; background:color-mix(in srgb,var(--muted) 12%,transparent); color:var(--muted); font-size:14px; font-weight:700; line-height:1; cursor:pointer; }
.fason-score-info-close:hover { background:color-mix(in srgb,var(--muted) 20%,transparent); }
.fason-score-info-step { color:var(--text); font-size:11px; line-height:1.55; }
.fason-score-info-step b { display:block; margin-bottom:3px; font-size:11px; font-weight:800; color:var(--text); }

.fason-score-info-step code { display:block; margin:6px 0 4px; padding:7px 10px; border-radius:9px; background:color-mix(in srgb,var(--accent) 8%,transparent); color:var(--text); font-size:11px; font-weight:700; font-variant-numeric:tabular-nums; }
.fason-score-info-step small { display:block; margin-top:3px; color:var(--muted); font-size:10px; line-height:1.5; }
.fason-score-chips { display:flex; flex-wrap:wrap; gap:5px; margin:6px 0; }
.fason-score-chips i { padding:2px 8px; border-radius:999px; border:1px solid color-mix(in srgb,var(--c) 35%,transparent); background:color-mix(in srgb,var(--c) 9%,transparent); color:color-mix(in srgb,var(--c) 78%,var(--text)); font-size:10px; font-weight:750; font-style:normal; font-variant-numeric:tabular-nums; }
.fason-score-info-example { padding:10px 12px; border-radius:11px; background:color-mix(in srgb,var(--accent) 5%,transparent); border:1px dashed color-mix(in srgb,var(--accent) 28%,var(--border)); }
.fason-score-info-example small b { display:inline; margin:0; font-size:10px; }
.fason-detail-score { display:block; margin-top:2px; color:var(--muted); font-size:9px; font-weight:650; font-style:normal; }
.fason-detail-score b { color:var(--accent); font-weight:800; font-variant-numeric:tabular-nums; }
.analysis-progress { display:grid; gap:8px; margin-top:14px; }
.analysis-progress-head { display:flex; justify-content:space-between; gap:12px; color:var(--muted); font-size:11px; font-weight:650; }
.analysis-progress-track { height:12px; overflow:hidden; border-radius:999px; background:color-mix(in srgb,var(--muted) 14%,transparent); }
.analysis-progress-fill { height:100%; border-radius:999px; background:linear-gradient(90deg,#34c759,var(--accent)); }
/* Zaman çizelgesi (sütun grafik) */
.analysis-timeline-card { margin-bottom:16px; }
.analysis-timeline-head { display:flex; align-items:flex-start; justify-content:space-between; gap:14px; flex-wrap:wrap; margin-bottom:14px; }
.analysis-range { display:inline-flex; align-items:center; gap:8px; flex-wrap:wrap; }
.analysis-range-field { display:inline-flex; align-items:center; gap:6px; color:var(--muted); font-size:11px; font-weight:650; }
.analysis-range input[type="date"] { min-height:32px; padding:5px 9px; border:1px solid var(--border); border-radius:9px; background:var(--surface-solid,#fff); color:var(--text); font:inherit; font-size:12px; cursor:pointer; }
.analysis-range input[type="date"]:focus { outline:none; border-color:var(--accent); }
.analysis-range .btn-clear { min-height:32px; padding:5px 12px; border:1px solid var(--border); border-radius:9px; background:transparent; color:var(--muted); font:650 11px inherit; cursor:pointer; }
.analysis-range .btn-clear:hover { color:var(--text); border-color:var(--accent); }
.tl-chart { display:flex; align-items:stretch; gap:5px; overflow-x:auto; overflow-y:hidden; padding-bottom:2px; }
.tl-col { flex:1 0 44px; min-width:44px; display:flex; flex-direction:column; align-items:center; gap:7px; cursor:pointer; }
.tl-plot { position:relative; width:100%; height:176px; display:flex; align-items:flex-end; justify-content:center; border-radius:9px; transition:background .15s; }
.tl-col:hover .tl-plot { background:rgba(127,127,127,.07); }
.tl-col.is-active .tl-plot { background:var(--accent-soft); }
.tl-bar { width:64%; max-width:30px; min-height:3px; border-radius:6px 6px 2px 2px; background:linear-gradient(180deg,var(--accent),color-mix(in srgb,var(--accent) 45%,transparent)); transition:height .4s cubic-bezier(.2,.8,.2,1); }
.tl-col:hover .tl-bar { filter:brightness(1.08); }
.tl-col.is-active .tl-bar { background:linear-gradient(180deg,#34c759,var(--accent)); }
.tl-xlabel { font-size:9px; color:var(--muted); font-weight:650; text-align:center; white-space:nowrap; line-height:1.2; }
.tl-value { font-size:9.5px; color:var(--text); font-weight:700; text-align:center; white-space:nowrap; line-height:1.2; font-variant-numeric:tabular-nums; }
.tl-col.is-active .tl-xlabel, .tl-col.is-active .tl-value { color:var(--accent); }
.tl-hint { margin-top:10px; color:var(--muted); font-size:11px; line-height:1.4; }

/* Sipariş ekranı özet başlığı (İstanbul gelen kutusu / Bursa sipariş aç) */
.order-hero {
  position:relative; overflow:hidden;
  display:flex; flex-wrap:wrap; align-items:flex-end; justify-content:space-between; gap:18px 28px;
  margin-bottom:20px; padding:22px 24px;
  border:1px solid var(--border); border-radius:20px;
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--office-accent,var(--accent)) 11%, transparent), transparent 58%),
    var(--surface);
  box-shadow:var(--shadow);
}

.order-stat .l { margin-top:7px; font-size:10px; font-weight:750; letter-spacing:.07em; text-transform:uppercase; color:var(--muted); white-space:nowrap; }
.order-stat.accent { border-color:color-mix(in srgb,var(--office-accent,var(--accent)) 42%,var(--border)); background:color-mix(in srgb,var(--office-accent,var(--accent)) 11%,transparent); }
.order-stat.accent .v { color:var(--office-accent,var(--accent)); }
@media (max-width:680px) {
  .order-hero { padding:18px 18px; gap:16px; }

}

/* Tıklanabilir RPT kaynak çipi */

/* Açılan sipariş detayı — kumaş/renk satırları */

/* Açılan sipariş satırı — 4 ayırt edici özellik + üst üste kart destesi */

.manifest-count.single { background:rgba(127,127,127,.14); color:var(--muted); }

.manifest-icon.file { color:var(--muted); }

/* Kumaş kart destesi */

.fab-stack.is-multi { margin-top:7px; }
.fab-stack.is-multi::before, .fab-stack.is-multi::after {
  content:""; position:absolute; height:9px; border:1px solid var(--border); border-bottom:none;
  border-radius:10px 10px 0 0; background:var(--surface-raised,rgba(127,127,127,.04)); z-index:0;
}
.fab-stack.is-multi::before { top:-5px; left:13px; right:13px; opacity:.65; }
.fab-stack.is-multi::after { top:-9px; left:24px; right:24px; opacity:.4; }

.fab-color.none { background:var(--danger-soft); color:var(--danger); border-color:transparent; }
.fab-color.none::before { display:none; }
.fab-color.more { background:rgba(127,127,127,.14); color:var(--muted); border-color:transparent; }
.fab-color.more::before { display:none; }

.fab-price.none { color:var(--danger); font-weight:600; }
.fab-color.lg { font-size:12px; padding:3px 10px; }
.fab-card.more { justify-content:center; color:var(--muted); font-size:12px; font-weight:700; background:transparent; border-style:dashed; padding:7px 13px; }
.fab-card.more::before { display:none; }

.order-note-summary {
  width:max-content; max-width:100%; min-height:30px; display:flex; align-items:center; gap:6px;
  margin:10px 0 12px; padding:4px 6px 4px 5px;
  border:1px solid color-mix(in srgb,#8b5cf6 26%,var(--border)); border-radius:10px;
  background:color-mix(in srgb,#8b5cf6 8%,transparent); color:var(--text);
  font-size:10.5px; font-weight:750; line-height:1; white-space:nowrap;
}
.order-note-summary.is-empty { display:none; }
.order-note-summary-icon {
  width:20px; height:20px; flex:0 0 20px; display:grid; place-items:center;
  border-radius:6px; background:color-mix(in srgb,#8b5cf6 16%,transparent); color:#8b5cf6;
}
.order-note-summary-icon svg { width:13px; height:13px; stroke-width:1.9; }
.order-note-summary-count { display:inline-flex; align-items:baseline; gap:4px; padding:5px 7px; border-radius:7px; }
.order-note-summary-count b { color:currentColor; font:850 11px var(--font-numeric); }
.order-note-summary-count.is-private { color:#b77900; background:color-mix(in srgb,#ffb020 13%,transparent); }
.order-note-summary-count.is-general { color:#17875c; background:color-mix(in srgb,#20b486 13%,transparent); }
html[data-theme="dark"] .order-note-summary { border-color:rgba(167,139,250,.24); background:rgba(139,92,246,.09); }
html[data-theme="dark"] .order-note-summary-icon { color:#c4b5fd; background:rgba(139,92,246,.16); }
html[data-theme="dark"] .order-note-summary-count.is-private { color:#ffd166; background:rgba(255,176,32,.12); }
html[data-theme="dark"] .order-note-summary-count.is-general { color:#75e0b5; background:rgba(32,180,134,.12); }

/* İstanbul yeni sipariş — detaylı kumaş görünümü (renk reçetesi · kesin form · renk şeridi) */
.no-detail { display:grid; gap:10px; margin-top:11px; max-width:780px; }
.no-head { display:flex; align-items:center; gap:9px; flex-wrap:wrap; }
.no-head .no-cust { font-size:15px; font-weight:780; color:var(--text); letter-spacing:-.01em; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; max-width:100%; }
.no-head .no-meta { flex-shrink:0; font-size:10px; font-weight:750; letter-spacing:.05em; text-transform:uppercase; padding:2px 8px; border-radius:6px; background:rgba(127,127,127,.14); color:var(--muted); }
.no-head .no-kg { margin-left:auto; flex-shrink:0; font-size:15px; font-weight:780; color:var(--accent); white-space:nowrap; font-variant-numeric:tabular-nums; }
.no-fabric { border:1px solid var(--border); border-radius:16px; overflow:hidden; background:linear-gradient(180deg,color-mix(in srgb,var(--surface) 92%,transparent),color-mix(in srgb,var(--bg) 54%,transparent)); box-shadow:0 1px 0 rgba(255,255,255,.04) inset; }
.no-fabric-name { padding:12px 15px; font-size:13.5px; font-weight:780; color:var(--text); border-bottom:1px solid var(--border); letter-spacing:-.01em; line-height:1.3; }
.no-color-row { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; padding:11px 14px 11px 17px; position:relative; }
.no-color-row + .no-color-row { border-top:1px solid var(--border); }
.no-color-row::before { content:""; position:absolute; left:0; top:8px; bottom:8px; width:5px; border-radius:0 5px 5px 0; background:var(--stripe,var(--accent)); box-shadow:0 0 0 1px rgba(0,0,0,.12) inset, 0 0 10px -2px var(--stripe,transparent); }
.no-color-main { min-width:0; }
.no-color-name { display:flex; align-items:center; gap:8px; font-size:14px; font-weight:750; color:var(--text); }
.no-color-swatch { width:11px; height:11px; border-radius:3px; flex-shrink:0; background:var(--stripe,var(--accent)); box-shadow:0 0 0 1px rgba(127,127,127,.35); }
.no-specs { display:flex; flex-wrap:wrap; gap:6px; margin-top:8px; }
.no-spec { display:inline-flex; align-items:center; gap:5px; font-size:11.5px; font-weight:650; color:var(--text); padding:3px 9px; border-radius:7px; background:rgba(127,127,127,.1); border:1px solid var(--border); }
.no-spec b { font-weight:750; color:var(--muted); text-transform:uppercase; font-size:9.5px; letter-spacing:.03em; }
.no-spec.form { background:color-mix(in srgb,var(--accent) 12%,transparent); color:var(--accent); border-color:color-mix(in srgb,var(--accent) 30%,transparent); }
.no-spec.recipe { background:color-mix(in srgb,#8b5cf6 13%,transparent); color:#a78bfa; border-color:color-mix(in srgb,#8b5cf6 32%,transparent); }
.no-color-side { text-align:right; white-space:nowrap; flex-shrink:0; display:flex; flex-direction:column; align-items:flex-end; gap:3px; }
.no-color-kg { font-size:14px; font-weight:780; color:var(--text); font-variant-numeric:tabular-nums; }
.no-price { font-size:12px; font-weight:750; color:var(--accent); }
.no-price.none { color:var(--danger); font-weight:600; }

/* Sepet gönderme önizlemesi: kartlar gerçek Bursa sipariş kartının aynısıdır
   (.order-flow-card / .of-basket-*), yeni ticket önizlemesindeki gibi. Buradaki
   stiller yalnız pencere kabuğunu ve "henüz numara yok" durumunu kapsar. */
.qo-send-modal { width:min(880px, 96vw); }
.qo-send-list { max-height:min(62vh, 620px); overflow-y:auto; overflow-x:hidden; display:grid; gap:10px; margin:14px 0 18px; padding-right:3px; }
.qo-send-list .qo-preview-card { margin-bottom:0; }
.qo-send-list .of-basket-head { cursor:default; }
.qo-send-list .of-basket-title > span i { margin:0 6px; font-style:normal; opacity:.55; }
.qo-send-list .of-basket-order-main { cursor:default; }
.qo-send-list .of-basket-copy { min-width:0; }
.qo-send-list .of-basket-name strong { overflow-wrap:anywhere; }
.qo-preview-card .is-pending-code { color:var(--muted); font-weight:700; }
.qo-preview-card .of-head-side { display:flex; align-items:center; gap:8px; }
/* Sürükle-bırak sepet (2026-09-27, TASARIM-DILI §3.20): kumaş satırı ya da
   sipariş başlığı tutulup aynı müşterinin başka siparişine bırakılır; "Yeni
   sipariş" alanı yalnız sürüklerken belirir. Hedef = vurgu zemin + çizgi. */
.qo-send-customer { display:grid; gap:10px; }
.qo-send-list .qo-preview-card .of-basket-orders { padding-bottom:14px; }
.qo-send-list .qo-preview-card .qo-preview-row:last-child { border-bottom:0; }
.qo-send-list .qo-preview-row, .qo-send-list .of-basket-head[data-qo-drag] { cursor:grab; touch-action:pan-y; user-select:none; -webkit-user-select:none; }
.qo-send-list .of-basket-order.qo-preview-row { grid-template-columns:minmax(0,1fr); }
.qo-send-list .qo-preview-row .of-basket-order-main { grid-template-columns:72px minmax(0,1fr) auto 20px; margin:-4px -8px; padding:4px 8px; border-radius:8px; transition:background .13s ease; }
.qo-send-list .qo-preview-row:hover .of-basket-order-main { background:var(--desk-soft, var(--accent-soft)); }
.qo-drag-grip { display:grid; place-items:center; width:20px; color:var(--muted); opacity:.45; }
.qo-drag-grip svg { width:14px; height:14px; }
.qo-preview-row:hover .qo-drag-grip { opacity:.9; }
/* "Yeni Sipariş" alanı hep görünür (küçük, bilgilendirici); sürüklerken
   geçerli müşterininki büyür, üstüne gelinince bir tık daha büyür. */
.qo-drop-new { display:flex; align-items:center; justify-content:center; gap:6px; min-height:28px; padding:4px 12px; border:1px dashed var(--desk-line, var(--border)); border-radius:8px; color:var(--muted); font-size:11.5px; font-weight:550; line-height:1.2; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; transition:min-height .16s ease, background .13s ease, border-color .13s ease, color .13s ease; }
.qo-drop-new span { font-size:13px; line-height:1; }
body.qo-dragging .qo-drop-new.is-drop-ready { min-height:76px; border-color:color-mix(in srgb, var(--accent) 45%, var(--desk-line, var(--border))); color:var(--text); font-size:12.5px; }
body.qo-dragging .qo-drop-new.is-drop-ready.is-drop-target { min-height:92px; }
body.qo-dragging, body.qo-dragging .qo-preview-row, body.qo-dragging .qo-cart-line, body.qo-dragging [data-qo-drag] { cursor:grabbing; }
.qo-send-list .qo-drop-new.is-drop-target, #page-order-entry .qo-drop-new.is-drop-target, .qo-send-list .order-flow-card.is-drop-target { border-color:var(--accent); background:var(--accent-soft); color:var(--accent); }
.is-drop-off { opacity:.4; }
.is-drag-source { opacity:.35; }
.qo-drag-ghost { position:fixed; z-index:9999; margin:0; pointer-events:none; border-radius:10px; background:var(--desk-paper, var(--surface-solid)); box-shadow:0 18px 44px rgba(15,23,42,.18); opacity:.96; transform:scale(1.02); }
.qo-preview-card.is-last-arranged, .qo-cart-order.is-last-arranged { border-color:color-mix(in srgb, var(--accent) 45%, var(--desk-line, var(--border))); }
.qo-preview-card .of-basket-title > div { display:flex; align-items:center; gap:8px; min-width:0; }
/* Sipariş ipucu: başlıkta sessiz simge; balon peek kartı kâğıdında. */
.qo-hint-btn { display:inline-grid; place-items:center; flex:0 0 auto; width:24px; height:24px; padding:0; border:0; border-radius:8px; background:transparent; color:var(--muted); opacity:.55; cursor:pointer; transition:opacity .13s ease, background .13s ease, color .13s ease; }
.qo-hint-btn svg { width:15px; height:15px; stroke-width:1.7; }
.qo-hint-btn:hover { opacity:1; background:var(--desk-soft, var(--accent-soft)); }
.qo-hint-btn.has-hint { opacity:1; color:var(--warning); }
.qo-hint-btn:focus-visible { outline:2px solid var(--accent); outline-offset:1px; }
/* Balon kartın kâğıdına KARIŞMAZ (2026-10-11): kendi yükseltilmiş yüzeyi,
   amber ince çerçeve ve "İpucu" başlığıyla kartın üstünde ayrı durur. */
.order-hint-bubble { --hint-line:color-mix(in srgb, var(--warning) 34%, var(--border)); --hint-paper:color-mix(in srgb, var(--warning) 6%, var(--surface-solid, #fff)); position:fixed; z-index:10000; padding:10px 13px 11px; border:1px solid var(--hint-line); border-radius:14px; background:var(--hint-paper); color:var(--text); box-shadow:0 1px 0 rgba(255,255,255,.04) inset, 0 20px 48px rgba(15,23,42,.22), 0 4px 12px rgba(15,23,42,.10); font-size:13px; line-height:1.5; animation:orderHintIn .14s ease; }
html[data-theme="dark"] .order-hint-bubble { --hint-paper:color-mix(in srgb, var(--warning) 7%, #272c38); --hint-line:color-mix(in srgb, var(--warning) 30%, rgba(255,255,255,.12)); box-shadow:0 1px 0 rgba(255,255,255,.06) inset, 0 22px 54px rgba(0,0,0,.55), 0 4px 14px rgba(0,0,0,.35); }
.order-hint-bubble::before { content:""; position:absolute; top:-6px; left:var(--arrow-x, 16px); width:10px; height:10px; border-left:1px solid var(--hint-line); border-top:1px solid var(--hint-line); border-top-left-radius:3px; background:var(--hint-paper); transform:translateX(-50%) rotate(45deg); }
.order-hint-head { display:flex; align-items:center; gap:6px; margin:0 0 5px; color:var(--warning); }
.order-hint-head svg { width:13px; height:13px; flex:0 0 auto; stroke-width:1.9; }
.order-hint-head b { font-size:10px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
.order-hint-head small { margin-left:auto; color:var(--muted); font-size:10.5px; font-weight:600; font-variant-numeric:tabular-nums; }
.order-hint-bubble p { margin:0; white-space:pre-wrap; overflow-wrap:anywhere; font-weight:500; }
#orderHintBubble .order-hint-input, #orderHintBubble .order-hint-input:focus, #orderHintBubble .order-hint-input:focus-visible { display:block; width:100%; min-height:20px; margin:0; padding:0; border:0; outline:none; box-shadow:none; background:transparent; color:var(--text); font:inherit; font-weight:500; resize:none; overflow:hidden; }
.order-hint-bubble .order-hint-input::placeholder { color:var(--muted); font-weight:400; }
.order-hint-foot { display:flex; justify-content:space-between; gap:10px; margin-top:8px; padding-top:7px; border-top:1px solid color-mix(in srgb, var(--warning) 18%, var(--border)); color:var(--muted); font-size:10.5px; }
@keyframes orderHintIn { from { opacity:0; transform:translateY(-4px); } to { opacity:1; transform:none; } }
@media (prefers-reduced-motion: reduce) { .order-hint-bubble { animation:none; } .qo-drop-new { transition:none; } .qo-hint-btn, .qo-send-list .qo-preview-row .of-basket-order-main { transition:none; } }
.order-flow-card .of-basket-title > div { align-items:center; }

/* Fotoğraftan AI sipariş ön onayı */
.photo-order-review-modal { width:min(1120px, 96vw); max-height:90vh; overflow-y:auto; }
.photo-order-review-head { display:flex; align-items:flex-start; justify-content:space-between; gap:14px; margin-bottom:14px; }
.photo-order-review-head h2 { margin:0 0 4px; }
.photo-order-review-meta { color:var(--muted); font-size:12px; line-height:1.4; }
.photo-order-review-grid { display:grid; grid-template-columns:190px minmax(0,1fr); gap:14px; align-items:start; }
.photo-order-review-photo { border:1px solid var(--border); border-radius:14px; overflow:hidden; background:rgba(127,127,127,.04); }
.photo-order-review-photo img { display:block; width:100%; aspect-ratio:4/5; object-fit:cover; background:#050505; }
.photo-order-review-photo div { padding:10px 12px; color:var(--muted); font-size:11px; line-height:1.4; }
.photo-order-review-form { display:grid; gap:12px; min-width:0; }
/* AI sipariş önizlemesi: kart, gerçek Bursa sipariş kartının aynısıdır
   (.order-flow-card / .of-basket-*). Buradaki stiller yalnız düzenlenebilir
   bilgileri ve önizlemeye özgü satırları kapsar. */
.photo-order-review-form .po-card { margin-bottom:0; }
.photo-order-review-form .po-card .of-basket-head { cursor:default; }
.photo-order-review-form .of-basket-title > span i { margin:0 6px; font-style:normal; opacity:.55; }
/* Kart duruşta gerçek siparişin aynısıdır: düzenlenebilirlik yalnız üzerine
   gelince belli olur, böylece önizleme form gibi görünmez. */
.po-edit { border-radius:6px; cursor:text; transition:background .12s, box-shadow .12s; }
.po-edit:hover { background:color-mix(in srgb, var(--accent) 10%, transparent); box-shadow:inset 0 -1px 0 var(--accent); }
.po-edit:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
.po-edit.is-editing { background:color-mix(in srgb, var(--accent) 14%, transparent); box-shadow:inset 0 -1px 0 var(--accent); }
.po-row .of-basket-order-main { cursor:default; }
.po-line-remove { color:var(--desk-muted); }
.po-line-remove:hover { color:var(--danger); }
.po-empty-row { padding:10px 0; color:var(--desk-muted); font-size:12px; }
.po-card-foot { display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; padding:10px 18px 0; }
.po-note { min-width:0; overflow:hidden; color:var(--desk-muted); font-size:11.5px; line-height:1.5; text-overflow:ellipsis; }
.po-add { padding:6px 10px; border:1px dashed var(--desk-line); border-radius:8px; background:transparent; color:var(--desk-muted); font:inherit; font-size:11px; cursor:pointer; }
.po-add:hover { border-color:color-mix(in srgb, var(--accent) 45%, var(--desk-line)); color:var(--accent); }
.po-footer .of-act[disabled] { opacity:.45; cursor:default; }
.po-footer .of-act[disabled]:hover { border-color:transparent; background:transparent; color:var(--desk-muted); }
/* Tek soruluk büyük kutu: önizlemenin üstünde, dokunduğu bilginin yanında açılır. */
.po-edit-pop {
  position:fixed; z-index:520; display:grid; gap:8px;
  width:min(340px, calc(100vw - 24px)); padding:14px;
  border:1px solid color-mix(in srgb, var(--accent) 30%, var(--border));
  border-radius:14px; background:var(--card, var(--desk-paper));
  box-shadow:0 18px 44px rgba(10,20,35,.26);
}
.po-edit-pop label { margin:0; color:var(--muted); font-size:10px; font-weight:750; letter-spacing:.08em; text-transform:uppercase; }
.po-edit-pop input { width:100%; min-height:48px; padding:10px 12px; border:1px solid var(--border); border-radius:10px; background:var(--desk-paper, var(--card)); color:var(--text); font:inherit; font-size:17px; }
.po-edit-pop input:focus { outline:2px solid var(--accent); outline-offset:1px; }
.po-edit-pop small { color:var(--muted); font-size:10.5px; line-height:1.45; }
.po-edit-choices { display:flex; flex-wrap:wrap; gap:6px; }
.po-edit-choice { min-height:44px; padding:10px 14px; border:1px solid var(--border); border-radius:10px; background:transparent; color:var(--text); font:inherit; font-size:14px; cursor:pointer; }
.po-edit-choice:hover { border-color:var(--accent); color:var(--accent); }
.po-edit-choice.is-on { border-color:var(--accent); background:color-mix(in srgb, var(--accent) 14%, transparent); color:var(--accent); font-weight:650; }
.photo-order-review-actions { display:flex; align-items:center; justify-content:space-between; gap:10px; flex-wrap:wrap; margin-top:4px; }
.photo-order-review-actions .left { display:flex; gap:8px; flex-wrap:wrap; }
.photo-analysis-confirm-modal { width:min(440px, calc(100vw - 32px)); }
.photo-analysis-confirm-preview {
  display:grid;
  grid-template-columns:86px minmax(0,1fr);
  gap:12px;
  align-items:center;
  margin:16px 0;
  padding:10px;
  border:1px solid var(--border);
  border-radius:13px;
  background:rgba(127,127,127,.045);
}

.photo-analysis-confirm-actions { display:flex; justify-content:flex-end; gap:8px; flex-wrap:wrap; }
@media (max-width:860px) {
  .photo-order-review-grid { grid-template-columns:1fr; }
  .photo-order-review-photo { display:grid; grid-template-columns:116px minmax(0,1fr); }
  .photo-order-review-photo img { aspect-ratio:1; }
  .po-card-foot { padding:10px 14px 0; }
}

/* Hızlı sipariş açma */
.quick-order-layout { display:grid; grid-template-columns:minmax(520px,1fr) minmax(340px,420px); gap:16px; align-items:start; }
.quick-cart-heading { display:inline-flex; align-items:center; gap:8px; }
.quick-cart-heading svg { width:18px; height:18px; color:var(--accent); stroke-width:2; }
.quick-order-success { position:fixed; inset:0; z-index:650; display:grid; place-items:center; pointer-events:none; opacity:0; visibility:hidden; transition:opacity .18s,visibility .18s; overflow:hidden; }
.quick-order-success.show { opacity:1; visibility:visible; }
.quick-order-success-card { position:relative; z-index:1; display:flex; align-items:center; gap:13px; min-width:min(360px,calc(100vw - 36px)); padding:17px 20px; border:1px solid color-mix(in srgb,var(--success) 45%,var(--border)); border-radius:18px; background:var(--surface-solid,#fff); box-shadow:0 20px 55px rgba(0,0,0,.24); transform:translateY(12px) scale(.94); transition:transform .35s cubic-bezier(.2,.85,.25,1.2); }
.quick-order-success.show .quick-order-success-card { transform:none; }
.quick-order-success-mark { width:43px; height:43px; display:grid; place-items:center; flex:0 0 43px; border-radius:50%; color:#fff; background:var(--success); box-shadow:0 7px 18px color-mix(in srgb,var(--success) 34%,transparent); }
.quick-order-success-mark svg { width:23px; height:23px; }
.quick-order-success-copy h2 { margin:0; color:var(--text); font-size:16px; font-weight:800; letter-spacing:-.02em; }
.quick-order-success-copy p { margin:3px 0 0; color:var(--muted); font-size:12px; line-height:1.4; }
.quick-order-confetti { position:absolute; inset:0; pointer-events:none; }
.quick-order-confetti i { position:absolute; left:50%; top:50%; width:7px; height:11px; border-radius:2px; background:var(--c); opacity:0; transform:translate(-50%,-50%); }
.quick-order-success.show .quick-order-confetti i { animation:quickConfetti .9s cubic-bezier(.15,.7,.25,1) forwards; animation-delay:var(--d); }
@keyframes quickConfetti { 0% { opacity:1; transform:translate(-50%,-50%) rotate(0deg); } 100% { opacity:0; transform:translate(calc(-50% + var(--x)),calc(-50% + var(--y))) rotate(var(--r)); } }

.quick-order-badge { display:inline-flex; align-items:center; width:max-content; max-width:100%; padding:4px 10px; border-radius:999px; color:var(--accent); background:var(--accent-soft); font-size:11px; font-weight:750; }
.quick-order-options { display:flex; flex-wrap:wrap; gap:8px; margin-top:3px; }
.quick-check { min-height:36px; display:inline-flex; align-items:center; gap:8px; padding:7px 11px; border:1px solid var(--border); border-radius:10px; background:rgba(127,127,127,.035); color:var(--text); font-size:12px; font-weight:650; cursor:pointer; user-select:none; text-transform:none; letter-spacing:0; }
.quick-check input { width:15px; height:15px; accent-color:var(--accent); margin:0; }
.quick-order-actions { display:flex; flex-wrap:wrap; gap:8px; margin-top:16px; padding-top:16px; border-top:1px solid var(--border); }

.quick-copy-pulse {
  border-color:#34c759 !important;
  box-shadow:0 0 0 4px rgba(52,199,89,.16) !important;
  animation:quickCopyPulse 1.1s ease-in-out 3;
}
.quick-check.quick-copy-pulse {
  color:var(--text);
  background:rgba(52,199,89,.1);
}
@keyframes quickCopyPulse {
  0%,100% { box-shadow:0 0 0 0 rgba(52,199,89,0); }
  45% { box-shadow:0 0 0 7px rgba(52,199,89,.2); }
}

.quick-lines-head { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:11px; }
.quick-lines-head .meta { color:var(--muted); font-size:12px; }
.quick-lines { display:grid; gap:8px; min-width:0; }
/* RPT'den gelen kalemler: kart değil, hızlı taranabilen yoğun bir iş satırı. */
.quick-line {
  position:relative; display:flex; align-items:flex-end; gap:8px; min-width:0; overflow:hidden; padding:10px;
  border:1px solid var(--border); border-radius:14px;
  background:linear-gradient(90deg,color-mix(in srgb,var(--accent) 4%,transparent),transparent 28%),linear-gradient(180deg,rgba(255,255,255,.62),rgba(255,255,255,.38));
  box-shadow:0 1px 2px rgba(0,0,0,.025); transition:border-color .15s,box-shadow .15s,transform .15s;
}
.quick-line:hover { border-color:color-mix(in srgb,var(--accent) 42%,var(--border)); box-shadow:0 5px 16px rgba(0,0,0,.05); transform:translateY(-1px); }
.quick-line-top { flex:0 0 34px; align-self:center; min-width:0; }
.quick-line-title { display:grid; place-items:center; width:30px; height:30px; border-radius:9px; background:var(--accent-soft); color:var(--accent); font-size:11px; font-weight:800; font-variant-numeric:tabular-nums; }
.quick-line-summary { display:none; }
.quick-line-field { min-width:0; display:grid; gap:4px; }
.ql-fabric { flex:1.7 1 150px; }
.ql-color { flex:1.1 1 115px; }
.ql-kg { flex:.52 1 70px; }
.ql-gramaj { flex:.72 1 86px; }
.ql-en { flex:.68 1 82px; }
.quick-line-field label { margin:0; color:var(--muted); font-size:9px; font-weight:750; letter-spacing:.08em; line-height:1; text-transform:uppercase; }
.quick-line input { min-height:36px; padding:7px 9px; font-size:13px; border-radius:9px; }
.quick-line input[name="fabric"], .quick-line input[name="color"] { font-weight:650; }
.quick-line-flags {
  order:8; flex:0 0 96px; align-self:center; min-width:0;
  display:flex; flex-direction:column; gap:2px; padding-left:8px;
  border-left:1px solid var(--border);
}
.quick-line-flags::before { content:"FORM"; color:var(--muted); font-size:9px; font-weight:750; letter-spacing:.08em; line-height:1; }
.quick-line-flags .quick-check { min-width:0; min-height:19px; height:19px; justify-content:flex-start; gap:4px; padding:1px 4px; margin:0; border-radius:5px; font-size:10px; white-space:nowrap; }
.quick-line-flags .quick-check input { width:12px; height:12px; flex:0 0 auto; padding:0; }
.quick-line-remove { order:7; flex:0 0 34px; align-self:center; width:34px; min-height:32px; height:32px; display:grid; place-items:center; padding:0; border:1px solid var(--border); border-radius:9px; background:transparent; color:var(--danger); cursor:pointer; font-size:17px; font-weight:750; }
.quick-line-remove:hover { border-color:rgba(215,0,21,.25); background:var(--danger-soft); }
.quick-order-empty { padding:20px; color:var(--muted); border:1px dashed var(--border); border-radius:13px; background:rgba(127,127,127,.025); font-size:12px; line-height:1.45; }

.quick-order-row.quick-order-just-sent { position:relative; z-index:2; animation:quickOrderJustSent 1.05s ease-in-out 2; }
@keyframes quickOrderJustSent {
  0%,100% { transform:none; }
  50% { transform:translateY(-3px); filter:drop-shadow(0 0 8px rgba(48,209,88,.42)); }
}
@media (prefers-reduced-motion:reduce) { .quick-order-row.quick-order-just-sent { animation:none !important; } }

.qo-edit-actions { display:flex; gap:8px; flex-wrap:wrap; }

.om-edit-request-review { display:grid; gap:11px; margin:0 0 14px; padding:14px; border:1px solid color-mix(in srgb,#f59e0b 34%,var(--border)); border-radius:15px; background:color-mix(in srgb,#f59e0b 8%,transparent); }
.om-edit-request-head { display:flex; align-items:center; gap:10px; }
.om-edit-request-icon { width:34px; height:34px; flex:0 0 34px; display:grid; place-items:center; border-radius:10px; background:color-mix(in srgb,#f59e0b 16%,transparent); color:#b45309; }
.om-edit-request-icon svg { width:18px; height:18px; stroke-width:1.9; stroke-linecap:round; stroke-linejoin:round; }
.om-edit-request-head > div:not(.om-edit-request-actions) { min-width:0; flex:1; display:grid; gap:3px; }
.om-edit-request-head > div:not(.om-edit-request-actions) > strong { color:var(--text); font-size:12.5px; }
.om-edit-request-head > div:not(.om-edit-request-actions) > span { color:var(--muted); font-size:10.5px; line-height:1.4; }
.om-edit-request-actions { display:flex; gap:7px; flex-wrap:wrap; justify-content:flex-end; }
.om-edit-request-lines { display:grid; gap:5px; }
.om-edit-request-line { display:grid; grid-template-columns:24px minmax(0,1fr) auto; align-items:center; gap:9px; padding:9px 10px; border:1px solid var(--border); border-radius:10px; background:color-mix(in srgb,var(--surface) 76%,transparent); }
.om-edit-request-no { width:24px; height:24px; display:grid; place-items:center; border-radius:7px; background:rgba(127,127,127,.12); color:var(--muted); font-family:var(--font-numeric); font-size:10px; font-weight:800; }
.om-edit-request-main { min-width:0; display:grid; gap:2px; }
.om-edit-request-main strong { color:var(--text); font-size:11.5px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.om-edit-request-main small { color:var(--text); font-size:12.5px; line-height:1.5; }
.om-edit-request-main small i { padding:0 4px; color:var(--muted); font-style:normal; }
.om-edit-request-kg { color:var(--text); font-family:var(--font-numeric); font-size:12px; font-weight:800; white-space:nowrap; font-variant-numeric:tabular-nums; }
html[data-theme="dark"] .om-edit-request-icon { color:#fbbf24; }
@media (max-width:680px) { .om-edit-request-head { align-items:flex-start; flex-wrap:wrap; } .om-edit-request-actions { width:100%; justify-content:flex-start; } .om-edit-request-line { grid-template-columns:24px minmax(0,1fr); } .om-edit-request-kg { grid-column:2; } }

.qo-edit-price.has { color:var(--accent); }
.qo-edit-price.none { color:var(--danger); font-weight:600; }
.price-stack { display:grid; gap:3px; white-space:nowrap; }
.price-row-label { color:var(--muted); font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.03em; }
.price-original { color:var(--muted); font-weight:700; }

.price-new { color:#15803d; font-weight:800; white-space:nowrap; }
html[data-theme="dark"] .price-new { color:#4ade80; }

.price-rpt-note { display:block; color:var(--muted); font-size:10px; font-weight:600; }

.qo-spec-pill.form { background:var(--accent-soft,rgba(127,127,127,.12)); color:var(--accent); border-color:var(--accent); }

.list-filter-bar { display:flex; flex-wrap:nowrap; gap:8px; margin:0 0 12px; }
.list-filter-bar select, .list-filter-bar input { flex:1 1 0; width:auto; min-width:0; padding:7px 10px; font-size:13px; border:1px solid var(--border); border-radius:8px; background:var(--bg); color:var(--text); }
.list-filter-bar select { cursor:pointer; }
@media (max-width:560px) { .list-filter-bar { flex-wrap:wrap; } .list-filter-bar select, .list-filter-bar input { flex:1 1 140px; } }
.order-flow-tabs { display:inline-flex; gap:4px; padding:4px; border:1px solid var(--border); border-radius:13px; background:rgba(127,127,127,.06); margin:0 0 12px; }
.order-flow-tab { display:inline-flex; align-items:center; gap:6px; padding:7px 13px; border:0; border-radius:9px; background:transparent; color:var(--muted); font:700 12px inherit; cursor:pointer; transition:all .15s; }
.order-flow-tab.active { color:var(--text); background:var(--surface); box-shadow:0 1px 3px rgba(0,0,0,.1); }
.order-flow-count { min-width:18px; height:18px; display:inline-flex; align-items:center; justify-content:center; padding:0 5px; border-radius:9px; background:rgba(127,127,127,.18); color:var(--text); font-size:10px; font-weight:800; }

.order-edit-request-state.is-pending { color:#b45309; border-color:color-mix(in srgb,#f59e0b 32%,var(--border)); background:color-mix(in srgb,#f59e0b 9%,transparent); }
.order-edit-request-state.is-approved { color:var(--success); border-color:color-mix(in srgb,var(--success) 26%,var(--border)); background:color-mix(in srgb,var(--success) 7%,transparent); }
.order-edit-request-state.is-rejected { color:var(--danger); border-color:color-mix(in srgb,var(--danger) 24%,var(--border)); background:color-mix(in srgb,var(--danger) 7%,transparent); }

html[data-theme="dark"] .order-edit-request-state.is-approved { color:#6ee7a0; }
html[data-theme="dark"] .order-edit-request-state.is-pending { color:#fbbf24; }
html[data-theme="dark"] .order-edit-request-state.is-rejected { color:#ff6961; }

.order-price-badge.is-full { color:var(--accent); background:color-mix(in srgb,var(--accent) 10%,transparent); border-color:color-mix(in srgb,var(--accent) 28%,var(--border)); }
.order-price-badge.is-partial { color:#c8870d; background:rgba(200,135,13,.1); border-color:rgba(200,135,13,.22); }
.order-price-badge.is-none { color:var(--danger); background:var(--danger-soft); border-color:color-mix(in srgb,var(--danger) 22%,var(--border)); }

.order-act-btn {
  position:relative; width:38px; min-width:38px; height:38px; padding:0; border-radius:11px;
  box-shadow:none; transition:color .16s,border-color .16s,background .16s,box-shadow .16s,transform .16s;
}
.order-act-btn svg { width:18px; height:18px; }
.order-act-btn:hover { transform:translateX(-2px); box-shadow:0 6px 16px rgba(0,0,0,.12); }
.order-act-btn .act-label {
  position:absolute; right:calc(100% + 10px); top:50%; z-index:12;
  display:block; width:max-content; max-width:220px; margin:0; padding:8px 10px;
  border:1px solid color-mix(in srgb,var(--border) 88%,transparent); border-radius:9px;
  background:var(--surface-solid,#fff); color:var(--text); box-shadow:0 10px 26px rgba(0,0,0,.16);
  font-size:11px; font-weight:750; line-height:1.15; pointer-events:none;
  opacity:0; overflow:visible; transform:translate(6px,-50%); visibility:hidden;
  transition:opacity .14s ease,transform .18s ease,visibility .18s;
}
.order-act-btn .act-label::after {
  content:""; position:absolute; left:100%; top:50%; width:7px; height:7px;
  border-top:1px solid var(--border); border-right:1px solid var(--border);
  background:var(--surface-solid,#fff); transform:translate(-4px,-50%) rotate(45deg);
}
.order-act-btn:hover .act-label,
.order-act-btn:focus-visible .act-label { max-width:220px; margin:0; opacity:1; transform:translate(0,-50%); visibility:visible; }

html[data-theme="dark"] .order-act-btn .act-label { background:#2c2c2e; border-color:rgba(255,255,255,.15); color:#f5f5f7; box-shadow:0 12px 30px rgba(0,0,0,.38); }
html[data-theme="dark"] .order-act-btn .act-label::after { background:#2c2c2e; border-color:rgba(255,255,255,.15); }
@media (max-width:680px) {

  .order-act-btn { width:auto; min-width:40px; padding:0 10px; }
  .order-act-btn:hover { transform:translateY(-1px); }
  .order-act-btn .act-label,
  .order-act-btn:hover .act-label,
  .order-act-btn:focus-visible .act-label {
    position:static; width:auto; max-width:180px; margin-left:7px; padding:0; border:0; background:transparent;
    box-shadow:none; color:inherit; opacity:1; overflow:hidden; transform:none; visibility:visible;
  }
  .order-act-btn .act-label::after { display:none; }
}
.quick-order-queue { display:grid; align-content:start; gap:10px; min-height:88px; max-height:min(52vh,520px); overflow-y:auto; padding-right:4px; overscroll-behavior:contain; }
@media (min-width:1001px) { .quick-order-layout > .card:last-child { position:sticky; top:16px; } }
.quick-order-queue::-webkit-scrollbar { width:8px; }
.quick-order-queue::-webkit-scrollbar-thumb { border-radius:999px; background:rgba(127,127,127,.32); }
.quick-order-queue::-webkit-scrollbar-track { background:transparent; }

.quick-queue-remove { border:0; background:transparent; color:var(--danger); font:750 16px inherit; cursor:pointer; padding:0 3px; }
.quick-send-all { width:100%; justify-content:center; margin-top:14px; }
.quick-send-all:disabled { opacity:.55; cursor:not-allowed; }

@media (max-width:1000px) {
  .quick-order-layout { grid-template-columns:1fr; }
  .quick-line { display:grid; grid-template-columns:34px minmax(0,1fr) minmax(0,.72fr) 38px; padding:10px; }
  .quick-line-top { grid-column:1; grid-row:1; }
  .ql-fabric { grid-column:2 / 4; grid-row:1; }
  .quick-line-remove { grid-column:4; grid-row:1; width:38px; height:36px; }
  .ql-color { grid-column:1 / 3; grid-row:2; }
  .ql-kg { grid-column:3 / 5; grid-row:2; }
  .ql-gramaj { grid-column:1 / 3; grid-row:3; }
  .ql-en { grid-column:3 / 5; grid-row:3; }
  .quick-line-flags { grid-column:1 / -1; grid-row:4; }
}
@media (max-width:560px) {
  .quick-line { grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
  .quick-line-top { grid-column:1; grid-row:1; }
  .ql-fabric { grid-column:1 / -1; grid-row:2; }
  .quick-line-remove { grid-column:2; grid-row:1; justify-self:end; }
  .ql-color { grid-column:1 / -1; grid-row:3; }
  .ql-kg { grid-column:1; grid-row:4; }
  .ql-gramaj { grid-column:2; grid-row:4; }
  .ql-en { grid-column:1 / -1; grid-row:5; }
  .quick-line-flags { grid-column:1 / -1; grid-row:6; }
}
@media (max-width:760px) {
  .analysis-summary-grid,.analysis-grid,.analysis-split { grid-template-columns:minmax(0,1fr); }
  .analysis-bar-row { grid-template-columns:1fr; gap:6px; }
  .analysis-bar-value { flex-direction:row; align-items:baseline; gap:6px; text-align:left; }
  .analysis-timeline-head { flex-direction:column; }
  .analysis-range { width:100%; }
  .tl-plot { height:140px; }
  .tl-col { flex:1 0 60px; min-width:60px; }
  .termin-filter-row select,.termin-filter-row .search-input { width:100%; min-width:0; }
  .termin-filter-row .search-input { max-width:none; }
  .termin-filter-row .termin-search { flex:1 1 100%; min-width:0; max-width:none; }
  .termin-window-settings { width:100%; margin-left:0; }
  .termin-window-control { flex:1 1 42%; min-width:0 !important; margin-left:0; }
  .termin-filter-clear { width:100%; text-align:left; }
  .termin-calendar-layout { grid-template-columns:1fr; }
  
  .termin-planner-open > span:first-child { display:none; }
  .termin-planner-open { width:36px; justify-content:center; padding:0; }

  .planner-form-grid { grid-template-columns:1fr; }
  .cal-big { --cal-cell-min:68px; --cal-cell-h:98px; }
  .cal-big .cal-cell { aspect-ratio:auto; height:76px; padding:5px 5px 6px; border-radius:9px; }
  
  .cal-chip { font-size:9px; padding:1px 5px; }
  .cal-pins { gap:3px; }
  .cal-pin { width:10px; height:10px; }
  
}

/* Photo gallery polish */
.photo-shell { gap:18px; }
.photo-section-tabs {
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  align-items:center;
}
.photo-section-tab {
  min-height:38px;
  padding:8px 14px;
  border:1px solid var(--border);
  border-radius:999px;
  background:var(--surface);
  color:var(--muted);
  font-size:13px;
  font-weight:800;
  cursor:pointer;
  transition:background .16s ease, border-color .16s ease, color .16s ease, transform .16s ease;
}
.photo-section-tab:hover { transform:translateY(-1px); border-color:color-mix(in srgb,var(--accent) 28%,var(--border)); color:var(--text); }
.photo-section-tab.active {
  border-color:color-mix(in srgb,var(--accent) 42%,var(--border));
  background:color-mix(in srgb,var(--accent) 12%,var(--surface));
  color:var(--text);
}
.photo-section-panel { display:grid; gap:16px; }

.photo-calendar-select-toggle svg { width:16px; height:16px; stroke-width:2; }
.photo-calendar-select-toggle.active {
  border-color:color-mix(in srgb,var(--accent) 45%,var(--border));
  background:color-mix(in srgb,var(--accent) 10%,var(--surface-solid,#fff));
  color:var(--accent);
}

.photo-calendar-selection-bar { position:relative; z-index:1; display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; margin-top:12px; padding:8px 8px 8px 12px; border:1px solid color-mix(in srgb,var(--accent) 26%,var(--desk-line,var(--border))); border-radius:10px; background:color-mix(in srgb,var(--accent) 6%,var(--desk-paper,var(--surface-solid,#fff))); }
.photo-calendar-selection-bar[hidden] { display:none; }
.photo-calendar-selection-copy { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:var(--desk-muted,var(--muted)); font-size:var(--type-meta,12px); font-weight:500; }
.photo-calendar-selection-copy b { color:var(--desk-ink,var(--text)); font-weight:650; font-variant-numeric:tabular-nums; }
.photo-calendar-selection-actions { min-width:0; display:flex; align-items:center; gap:6px; flex-wrap:wrap; justify-content:flex-end; }
.photo-calendar-selection-actions :is(.photo-bulk-action,.photo-bulk-clear) { display:inline-flex; align-items:center; gap:6px; height:30px; margin:0; padding:0 10px; border:1px solid var(--desk-line,var(--border)); border-radius:8px; background:var(--desk-paper,var(--surface-solid,#fff)); color:var(--desk-ink,var(--text)); font:600 var(--type-meta,12px)/1 var(--font); white-space:nowrap; cursor:pointer; transition:background .13s ease, border-color .13s ease; }
.photo-calendar-selection-actions .photo-bulk-action svg { width:14px; height:14px; flex:0 0 auto; stroke-width:1.9; }
.photo-calendar-selection-actions .photo-bulk-action:not(:disabled):hover { background:var(--desk-soft,var(--accent-soft)); }
.photo-calendar-selection-actions .photo-bulk-action.is-primary { border-color:var(--accent); background:var(--accent); color:#fff; }
.photo-calendar-selection-actions .photo-bulk-action.is-primary:not(:disabled):hover { background:color-mix(in srgb,var(--accent) 88%,#000); }
.photo-calendar-selection-actions .photo-bulk-action:disabled { opacity:.45; cursor:default; }
.photo-calendar-selection-actions .photo-bulk-clear { border-color:transparent; background:none; color:var(--desk-muted,var(--muted)); }
.photo-calendar-selection-actions .photo-bulk-clear:hover { color:var(--desk-ink,var(--text)); }
@media (prefers-reduced-motion: reduce) { .photo-calendar-selection-actions :is(.photo-bulk-action,.photo-bulk-clear) { transition:none; } }
.photo-storage-panel { display:grid; gap:6px; padding-top:12px; border-top:1px solid var(--desk-line,var(--border)); }
.photo-storage-head { display:flex; align-items:baseline; justify-content:space-between; gap:12px; }
.photo-storage-title { color:var(--desk-ink,var(--text)); font-size:var(--type-meta,12px); font-weight:600; }
.photo-storage-meta { color:var(--desk-muted,var(--muted)); font-size:var(--type-meta,12px); font-weight:500; font-variant-numeric:tabular-nums; white-space:nowrap; }
.photo-storage-bar { height:4px; overflow:hidden; border-radius:999px; background:var(--desk-soft,rgba(127,127,127,.16)); }
.photo-storage-fill { height:100%; width:0; border-radius:999px; background:var(--accent); transition:width .22s ease; }
.photo-storage-panel.is-warn .photo-storage-fill { background:var(--warning); }
.photo-storage-panel.is-danger .photo-storage-fill { background:var(--danger); }
.photo-storage-actions { display:flex; flex-wrap:wrap; gap:4px 14px; }

.customer-portal-actions { display:flex; gap:8px; flex-wrap:wrap; }
.customer-portal-list { display:grid; gap:8px; }
.customer-portal-row {
  display:grid;
  grid-template-columns:minmax(140px,1fr) minmax(135px,.8fr) minmax(180px,1.2fr) auto;
  gap:10px;
  align-items:center;
  padding:10px;
  border:1px solid var(--border);
  border-radius:12px;
  background:rgba(127,127,127,.035);
}
.customer-portal-row b,
.customer-portal-row span { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.customer-portal-row small { color:var(--muted); font-size:11px; }
@media (max-width:860px) {
  .customer-portal-row { grid-template-columns:1fr; }
}
/* ── Müşteri portalı: profil çalışma alanı (sol liste + sağ profil) ── */

.portal-sidebar { display:flex; flex-direction:column; gap:6px; max-height:640px; overflow:auto; padding-right:2px; }
.portal-sidebar-item { display:flex; align-items:center; gap:9px; padding:9px 10px; border:1px solid var(--border); border-radius:11px; background:rgba(127,127,127,.03); cursor:pointer; text-align:left; width:100%; min-width:0; }
.portal-sidebar-item:hover { border-color:color-mix(in srgb,var(--accent) 45%,var(--border)); }
.portal-sidebar-item.active { border-color:var(--accent); background:color-mix(in srgb,var(--accent) 10%,transparent); }
.portal-sidebar-item .psi-avatar { width:30px; height:30px; border-radius:50%; display:flex; align-items:center; justify-content:center; background:color-mix(in srgb,var(--accent) 16%,transparent); color:var(--accent); font-size:11px; font-weight:850; flex:none; }
.portal-sidebar-item .psi-body { min-width:0; flex:1; }
.portal-sidebar-item .psi-body b { display:block; font-size:12px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.portal-sidebar-item .psi-body small { display:block; color:var(--muted); font-size:10px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.portal-sidebar-item .psi-off { color:var(--muted); font-size:9px; border:1px solid var(--border); border-radius:6px; padding:1px 5px; flex:none; }
.portal-profile { border:1px solid var(--border); border-radius:14px; padding:14px 16px; background:rgba(127,127,127,.03); min-height:280px; min-width:0; }
.portal-profile-empty { color:var(--muted); font-size:12px; padding:38px 12px; text-align:center; }
.portal-profile-head { display:flex; justify-content:space-between; gap:10px; align-items:flex-start; flex-wrap:wrap; margin-bottom:6px; }
.portal-profile-head h3 { font-size:15px; font-weight:850; margin:0; }
.portal-profile-head .pph-meta { color:var(--muted); font-size:11px; margin-top:3px; }
.portal-section { border-top:1px solid var(--border); padding:12px 0 10px; }
.portal-section-title { font-size:12px; font-weight:800; margin-bottom:8px; display:flex; justify-content:space-between; align-items:center; gap:8px; flex-wrap:wrap; }
.portal-section-title small { color:var(--muted); font-weight:500; font-size:10px; }
.portal-field-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(170px,1fr)); gap:8px; }
.portal-field-grid label { font-size:10px; color:var(--muted); display:block; margin-bottom:3px; }
.portal-field-grid input, .portal-field-grid select { width:100%; min-height:34px; }
.portal-table { width:100%; border-collapse:collapse; font-size:12px; }
.portal-table th { text-align:left; color:var(--muted); font-size:10px; font-weight:600; padding:3px 6px; }
.portal-table td { padding:5px 6px; border-top:1px solid var(--border); vertical-align:middle; }
.portal-table input, .portal-table select { min-height:30px; font-size:12px; width:100%; }
.portal-order-item { position:relative; display:grid; grid-template-columns:minmax(90px,auto) minmax(0,1fr) auto auto; gap:10px; align-items:center; padding:8px 10px; border:1px solid var(--border); border-radius:10px; margin-bottom:6px; background:rgba(127,127,127,.02); }
.portal-order-item:hover { border-color:color-mix(in srgb,var(--accent) 40%,var(--border)); }
.portal-order-item .poi-sub { color:var(--muted); font-size:11px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; min-width:0; }
.portal-order-item .photo-order-hover { grid-column:1 / -1; }
.portal-order-item:hover .photo-order-hover { max-height:340px; opacity:1; margin-top:6px; padding:10px; border-width:1px; border-color:var(--border); }
.portal-photo-picker { display:grid; grid-template-columns:repeat(auto-fill,minmax(92px,1fr)); gap:8px; margin:8px 0 2px; grid-column:1 / -1; }
.portal-photo-pick { border:2px solid var(--border); border-radius:10px; overflow:hidden; cursor:pointer; padding:0; background:none; position:relative; }
.portal-photo-pick img { width:100%; height:76px; object-fit:cover; display:block; }
.portal-photo-pick:hover { border-color:var(--accent); }
.portal-photo-pick small { position:absolute; left:0; right:0; bottom:0; background:rgba(0,0,0,.55); color:#fff; font-size:9px; padding:2px 4px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.portal-note { padding:8px 10px; border:1px solid var(--border); border-radius:10px; margin-bottom:6px; font-size:12px; display:flex; justify-content:space-between; gap:8px; align-items:flex-start; }
.portal-note small { color:var(--muted); display:block; margin-top:3px; font-size:10px; }
.portal-msg-row { display:grid; grid-template-columns:minmax(150px,auto) minmax(0,1fr); gap:8px; align-items:start; }
.portal-msg-row textarea { width:100%; min-height:74px; font-size:12px; resize:vertical; }
.portal-inline-form { display:flex; gap:8px; flex-wrap:wrap; align-items:center; margin-top:8px; }
.portal-inline-form input { min-height:32px; font-size:12px; }
.portal-badge-paid { color:var(--ok,#1a9950); font-weight:700; }
.portal-badge-due { color:var(--warn,#c77700); font-weight:700; }
.portal-badge-late { color:var(--danger,#d3382f); font-weight:800; }
@media (max-width:860px) {  .portal-msg-row { grid-template-columns:1fr; } }

/* Fotoğraf kartı ••• menüsü (2026-10-25): sipariş ••• menüsünün (§3.3)
   AYNISI — satırlar .order-modal-menu-item, renk yalnız ikon rozetinde. Kart
   overflow'undan bağımsız olsun diye gövdeye takılır ve JS ile konumlanır;
   burada yalnız o yüzen konum tanımlanır. */
.order-modal-action-menu.photo-card-action-menu {
  position:fixed;
  z-index:1600;
  top:auto;
  right:auto;
  width:min(292px,calc(100vw - 20px));
  max-height:none;
}
.order-modal-action-menu.photo-card-action-menu.is-open {
  opacity:1;
  visibility:visible;
  transform:none;
  pointer-events:auto;
}
.order-modal-action-menu .order-modal-menu-item.act-link { --row-color:var(--accent); }
.order-modal-action-menu .order-modal-menu-item.act-scan { --row-color:#0ea5e9; }

/* ── Fotoğraf kartı hover modu: varsayılan sadece görsel; tarih, açıklama,
   numara ve butonlar imleç üzerine gelince alt panelde belirir ── */
@media (hover: hover) and (pointer: fine) {

  /* Rozetler ve tarih imleç gelince belirir */

  /* Meta panel: görselin üzerine, alttan kayarak açılır */

  /* Panelde sadece: mesaj içeriği + numara/konum + butonlar */

  /* Bilgi şeridinin boş alanı da fotoğrafı açar; işlemler sağda kompakt kalır. */

}

/* Fotoğraf görüntüleyici (2026-10-15, TASARIM-DILI.md §3.34). Fotoğraf her
   temada koyu sahnede izlenir: çerçeve, kutu, dama zemin yok; üst künye ve
   alttaki yüzen hap sahneyle aynı zeminde durur. */
#photoViewerOverlay {
  --pv-ink:rgb(245 245 247);
  --pv-muted:rgb(245 245 247 / .62);
  --pv-line:rgb(255 255 255 / .12);
  --pv-glass:rgb(28 30 34 / .72);
  --pv-hover:rgb(255 255 255 / .1);
  z-index:1100;
  padding:0;
  background:rgb(8 9 11 / .94);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
  animation:pvFade .18s ease;
}
@keyframes pvFade { from { opacity:0; } }
.photo-viewer.pv {
  display:grid;
  grid-template-rows:auto minmax(0,1fr) auto;
  width:100vw;
  height:100dvh;
  max-height:none;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  color:var(--pv-ink);
  overflow:hidden;
}
.pv-top {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:var(--space-4,16px);
  min-height:60px;
  padding:10px 16px 10px 24px;
}
.pv-id { min-width:0; display:grid; gap:2px; }
.pv-title {
  overflow:hidden;
  color:var(--pv-ink);
  font-size:var(--type-control,13px);
  font-weight:650;
  letter-spacing:-.01em;
  white-space:nowrap;
  text-overflow:ellipsis;
}
.pv-meta {
  display:block;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  color:var(--pv-muted);
  font-size:var(--type-meta,12px);
  font-weight:500;
  white-space:nowrap;
}
.pv-meta[hidden] { display:none; }
.pv-meta span + span::before { content:"·"; margin:0 6px; }
.pv-top-actions { display:flex; align-items:center; gap:4px; flex:none; }
.pv-count {
  margin-right:10px;
  color:var(--pv-muted);
  font-size:var(--type-meta,12px);
  font-weight:600;
  font-variant-numeric:tabular-nums;
}
.pv-count:empty { display:none; }
.pv-icon,
.pv-zbtn {
  display:grid;
  place-items:center;
  width:36px;
  height:36px;
  padding:0;
  border:0;
  border-radius:999px;
  color:var(--pv-ink);
  background:transparent;
  cursor:pointer;
  transition:background .14s ease, color .14s ease;
}
.pv-icon:hover,
.pv-zbtn:hover { background:var(--pv-hover); }
.pv-icon svg,
.pv-zbtn svg { width:18px; height:18px; stroke-width:1.8; }
.pv-stage {
  position:relative;
  min-height:0;
  overflow:hidden;
  background:transparent;
  touch-action:none;
}
.pv-stage img {
  position:absolute;
  left:50%;
  top:50%;
  width:auto;
  height:auto;
  max-width:none;
  max-height:none;
  border-radius:4px;
  background:transparent;
  user-select:none;
  -webkit-user-drag:none;
  transform-origin:center;
  transition:transform .14s ease, width .14s ease, height .14s ease;
  will-change:transform;
}
.pv-stage img.is-dragging { transition:none; }
.pv-stage.is-zoomed img { border-radius:0; }
.pv-nav {
  position:absolute;
  top:50%;
  z-index:3;
  display:grid;
  place-items:center;
  width:44px;
  height:44px;
  padding:0;
  border:0;
  border-radius:999px;
  color:var(--pv-ink);
  background:var(--pv-glass);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  cursor:pointer;
  opacity:0;
  transform:translateY(-50%);
  transition:opacity .16s ease, background .14s ease;
}
.pv-nav.prev { left:20px; }
.pv-nav.next { right:20px; }
.pv-stage:hover .pv-nav,
.pv-nav:focus-visible { opacity:1; }
.pv-nav:hover { background:rgb(48 50 56 / .86); }
.pv-stage .pv-nav:disabled { opacity:0; pointer-events:none; }
.pv-nav.is-hidden { display:none; }
.pv-nav svg { width:22px; height:22px; stroke-width:2; }
.pv-bottom {
  display:grid;
  justify-items:center;
  gap:12px;
  padding:8px 16px 18px;
  min-width:0;
}
.pv-zoom {
  display:flex;
  align-items:center;
  gap:2px;
  padding:4px;
  border:1px solid var(--pv-line);
  border-radius:999px;
  background:var(--pv-glass);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
}
.pv-zbtn { width:32px; height:32px; }
.pv-zoom-value {
  min-width:52px;
  height:32px;
  padding:0 6px;
  border:0;
  border-radius:999px;
  color:var(--pv-ink);
  background:transparent;
  font-size:var(--type-meta,12px);
  font-weight:600;
  font-variant-numeric:tabular-nums;
  cursor:pointer;
}
.pv-zoom-value:hover { background:var(--pv-hover); }
.pv-sep { width:1px; height:18px; margin:0 6px; background:var(--pv-line); }
.pv-fit {
  height:32px;
  padding:0 12px;
  border:0;
  border-radius:999px;
  color:var(--pv-muted);
  background:transparent;
  font-size:var(--type-meta,12px);
  font-weight:600;
  cursor:pointer;
  transition:background .14s ease, color .14s ease;
}
.pv-fit:hover { color:var(--pv-ink); }
.pv-fit.is-active { color:var(--pv-ink); background:rgb(255 255 255 / .14); }
.pv-strip {
  position:relative;
  display:flex;
  gap:6px;
  max-width:min(920px,100%);
  padding:2px;
  overflow-x:auto;
  scrollbar-width:none;
}
.pv-strip::-webkit-scrollbar { display:none; }
.pv-strip[hidden] { display:none; }
.pv-thumb {
  flex:none;
  width:48px;
  height:48px;
  padding:0;
  border:0;
  border-radius:8px;
  overflow:hidden;
  background:rgb(255 255 255 / .06);
  opacity:.45;
  cursor:pointer;
  transition:opacity .14s ease, box-shadow .14s ease;
}
.pv-thumb:hover { opacity:.8; }
.pv-thumb.is-active { opacity:1; box-shadow:0 0 0 2px var(--pv-ink); }
.pv-thumb img { width:100%; height:100%; object-fit:cover; display:block; }
#photoViewerOverlay :is(.pv-icon,.pv-zbtn,.pv-zoom-value,.pv-fit,.pv-thumb,.pv-nav):focus-visible {
  outline:2px solid var(--accent);
  outline-offset:2px;
}
@media (hover:none) {
  .pv-nav { opacity:1; }
}
@media (prefers-reduced-motion:reduce) {
  #photoViewerOverlay { animation:none; }
  .pv-stage img { transition:none; }
}

.photo-link-btn {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  min-height:34px;
  padding:6px 10px;
  border:1px solid var(--border);
  border-radius:10px;
  color:var(--text);
  background:rgba(127,127,127,.06);
  font:800 11px inherit;
  cursor:pointer;
  white-space:nowrap;
}
.photo-link-btn:hover { border-color:var(--accent); color:var(--accent); background:var(--accent-soft); }
.photo-link-btn.calendar-action { color:var(--accent); border-color:color-mix(in srgb,var(--accent) 30%,var(--border)); background:var(--accent-soft); }
.photo-link-btn.primary-action {
  color:#06151a; border-color:transparent;
  background:linear-gradient(135deg,#8bf5e5,#5eead4 55%,#6dd8e8);
  box-shadow:0 8px 18px rgba(94,234,212,.16);
}
.photo-link-btn.primary-action:hover { color:#06151a; transform:translateY(-1px); }

/* AI analiz: dar, mavi */
.photo-link-btn.ai-action {
  color:#fff; border-color:transparent;
  background:linear-gradient(135deg,#5b8cff,#3b6fe0);
  box-shadow:0 8px 18px rgba(59,111,224,.22);
  font-weight:850; letter-spacing:.07em; padding:6px 16px;
}
.photo-link-btn.ai-action:hover { color:#fff; transform:translateY(-1px); }
.photo-link-btn svg { width:15px; height:15px; stroke-width:2.2; }


.photo-attach-copy b { display:block; overflow:hidden; color:var(--text); font-size:13px; text-overflow:ellipsis; white-space:nowrap; }
.photo-attach-copy span { display:block; margin-top:2px; color:var(--muted); font-size:11px; line-height:1.35; }
.photo-link-ticket-note { display:grid; gap:6px; }
.photo-link-ticket-note[hidden] { display:none; }
.photo-link-ticket-note label { color:var(--text); font-size:11px; font-weight:750; }
.photo-link-ticket-note label small { margin-left:6px; color:var(--muted); font-size:10px; font-weight:500; }
.photo-link-ticket-note textarea { min-height:70px; resize:vertical; }
.photo-link-current {
  display:grid;
  gap:8px;
  padding:10px;
  border:1px solid var(--border);
  border-radius:13px;
  background:rgba(127,127,127,.035);
}
.photo-link-bulk-status { display:flex; align-items:center; gap:10px; }
.photo-link-bulk-status > span {
  width:34px;
  height:34px;
  flex:0 0 auto;
  display:grid;
  place-items:center;
  border-radius:11px;
  color:#fff;
  background:var(--accent);
  font-size:13px;
  font-weight:900;
}
.photo-link-bulk-status div { min-width:0; }
.photo-link-bulk-status strong { display:block; color:var(--text); font-size:12px; }
.photo-link-bulk-status small { display:block; margin-top:2px; color:var(--muted); font-size:10.5px; line-height:1.35; }
.photo-link-current-head {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
  color:var(--muted);
  font-size:10px;
  font-weight:850;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.photo-link-current-row {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:8px;
  align-items:center;
  padding:8px 9px;
  border:1px solid var(--border);
  border-radius:10px;
  background:var(--surface);
}
.photo-link-current-row strong { display:block; overflow:hidden; color:var(--text); font-size:12px; text-overflow:ellipsis; white-space:nowrap; }
.photo-link-current-row small { display:block; margin-top:2px; color:var(--muted); font-size:10.5px; }
.photo-link-current-row .btn { min-height:30px; padding:5px 9px; font-size:11px; }
/* Birden fazla atama: katlanır özet */
.photo-link-current-toggle {
  display:flex; align-items:center; justify-content:space-between; gap:10px;
  width:100%; padding:9px 11px; border:1px solid var(--border); border-radius:10px;
  background:var(--surface); color:var(--text); font:700 12px inherit; cursor:pointer;
  transition:border-color .15s, background .15s;
}
.photo-link-current-toggle:hover { border-color:var(--accent); background:var(--accent-soft); }
.photo-link-current-summary strong { color:var(--accent); font-weight:850; margin-right:2px; }
.photo-link-current-chevron { width:17px; height:17px; flex:0 0 auto; stroke-width:2.4; color:var(--muted); transition:transform .18s ease; }
.photo-link-current-toggle.is-open .photo-link-current-chevron { transform:rotate(180deg); }
.photo-link-current-list { display:grid; gap:8px; }
.photo-link-current-list[hidden] { display:none; }
.photo-link-list {
  max-height:310px;
  overflow-y:auto;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
  display:grid;
  gap:7px;
  padding-right:3px;
}
.photo-link-option {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:10px;
  align-items:center;
  width:100%;
  padding:12px;
  border:1px solid var(--border);
  border-radius:11px;
  color:var(--text);
  background:var(--surface);
  font:inherit;
  text-align:left;
  cursor:pointer;
}
.photo-link-group-head { display:flex; align-items:center; gap:8px; margin:12px 2px 3px; color:var(--muted); font-size:10px; font-weight:850; letter-spacing:.08em; text-transform:uppercase; }
.photo-link-group-head::after { content:""; flex:1; height:1px; background:var(--border); }
.photo-link-group-head:first-child { margin-top:0; }
.photo-link-option:hover { border-color:var(--accent); background:var(--accent-soft); }
.photo-link-option strong { display:block; overflow:hidden; font-size:13px; text-overflow:ellipsis; white-space:nowrap; }
.photo-link-option small { display:block; margin-top:2px; color:var(--muted); font-size:11px; }
.photo-link-option em { color:var(--accent); font-style:normal; font-size:10px; font-weight:800; white-space:nowrap; }
.photo-link-option-actions { display:flex; gap:6px; flex-wrap:wrap; justify-content:flex-end; }
.photo-link-option-actions button {
  min-height:30px;
  padding:5px 9px;
  border:1px solid var(--border);
  border-radius:9px;
  color:var(--text);
  background:rgba(127,127,127,.06);
  font:800 11px inherit;
  cursor:pointer;
  white-space:nowrap;
}
.photo-link-option-actions button:hover { border-color:var(--accent); color:var(--accent); background:var(--accent-soft); }
.photo-link-option-actions button.primary { color:#fff; border-color:transparent; background:var(--accent); }
.photo-order-hover {
  grid-column:1 / -1;
  display:grid;
  gap:8px;
  max-height:0;
  overflow:hidden;
  opacity:0;
  padding:0;
  border:0 solid transparent;
  border-radius:11px;
  background:color-mix(in srgb,var(--bg) 74%,transparent);
  transition:max-height .18s ease, opacity .16s ease, padding .16s ease, border-color .16s ease;
}
.photo-link-option:hover .photo-order-hover,
.photo-link-option:focus-within .photo-order-hover,
.photo-link-current-row:hover .photo-order-hover,
.photo-link-current-row:focus-within .photo-order-hover {
  max-height:240px;
  opacity:1;
  padding:9px;
  border-width:1px;
  border-color:var(--border);
}
/* Sipariş önizleme kartı — sohbet önizlemesiyle (.shell-chat-peek) AYNI dil:
   kutulanmış rozet ve kalın renk çubuğu yok; küçük versal etiket, ince satır
   çizgisi, sakin kâğıt. Kart her yerde aynı bileşendir; burada biçimlenir. */
.order-hover-tip {
  position:fixed; z-index:4000;  
  display:none; opacity:0; transform:translateY(-4px); pointer-events:none;
  transition:opacity .14s ease, transform .14s ease;
}
.order-hover-tip.show { display:block; opacity:1; transform:translateY(0); }
.order-hover-tip .photo-order-hover {
  max-height:none; opacity:1; 
  border:1px solid var(--desk-line,var(--border)); border-radius:14px;
  background:var(--desk-paper,var(--surface-solid,#fff));
  box-shadow:0 18px 40px rgba(0,0,0,.16), 0 2px 8px rgba(0,0,0,.08);
}
html[data-theme=dark] .order-hover-tip .photo-order-hover { box-shadow:0 18px 44px rgba(0,0,0,.45); }
/* 2026-10-10: kayan kart okunur ölçüde (Rehber şikâyeti "yazılar çok küçük"):
   etiket 11px, değer/satır 13px, kilo 12px; müşteri adı sığsın diye 360px. */
.order-hover-tip { width:360px; max-width:min(380px,86vw); }
.order-hover-tip .photo-order-hover { padding:12px 12px 8px; }
.order-hover-tip .photo-order-hover-grid { grid-template-columns:minmax(0,1.5fr) minmax(0,1fr) minmax(0,.9fr); }
.order-hover-tip .photo-order-hover-stat span { font-size:var(--type-caption,11px); letter-spacing:.06em; }
.order-hover-tip .photo-order-hover-stat b { font-size:var(--type-control,13px); }
.order-hover-tip .photo-order-hover-line { font-size:var(--type-control,13px); padding:8px 4px; }
.order-hover-tip .photo-order-hover-line span:last-child { font-size:var(--type-meta,12px); opacity:1; color:var(--desk-muted,var(--muted)); font-variant-numeric:tabular-nums; }
.photo-order-hover-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:3px 14px;
  padding:1px 4px 8px;
}
.photo-order-hover-stat {
  min-width:0;
  padding:0;
  border:0;
  border-radius:0;
  background:none;
}
.photo-order-hover-stat span {
  display:block;
  color:var(--muted);
  font:700 9.5px var(--font);
  letter-spacing:.09em;
  text-transform:uppercase;
}
.photo-order-hover-stat b {
  display:block;
  overflow:hidden;
  margin-top:2px;
  color:var(--text);
  font:650 12px var(--font);
  text-overflow:ellipsis;
  white-space:nowrap;
}
.photo-order-hover-lines { display:grid; gap:0; }
.photo-order-hover-line {
  display:grid;
  grid-template-columns:8px minmax(0,1fr) auto;
  gap:9px;
  align-items:center;
  padding:7px 4px;
  color:var(--muted);
  font:500 11.5px var(--font);
}
/* Satır ayracı: sohbet önizlemesindeki gibi ince iç gölge (kutu değil). */
.photo-order-hover-line + .photo-order-hover-line,
.photo-order-hover-lines + .photo-order-hover-line {
  box-shadow:inset 0 1px 0 var(--desk-line,var(--border));
}
.photo-order-hover-swatch {
  width:8px;
  height:8px;
  border-radius:50%;
  background:var(--stripe,var(--accent));
}
.photo-order-hover-line b {
  overflow:hidden;
  color:var(--text);
  font-weight:650;
  text-overflow:ellipsis;
  white-space:nowrap;
}
/* Takip Merkezi ipucunda kayan ad: satırın sağ sütun kuralını almaz. */
.photo-order-hover-line b > .wc-slide { font-style:normal; white-space:nowrap; will-change:transform; }
.photo-order-hover-line span:last-child { white-space:nowrap; font:600 9.5px var(--font-numeric); opacity:.8; }
.photo-link-current-row .photo-order-hover {
  grid-column:1 / -1;
  margin-top:2px;
}
@media (max-width:680px) {
  .photo-order-hover-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
.photo-link-note { min-height:64px; }
.photo-quick-create {
  display:none;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:11px 12px;
  border:1px dashed color-mix(in srgb,var(--accent) 38%,var(--border));
  border-radius:12px;
  background:var(--accent-soft);
}
.photo-quick-create b { display:block; color:var(--text); font-size:13px; }
.photo-quick-create span { display:block; margin-top:2px; color:var(--muted); font-size:11px; line-height:1.35; }

/* ═══ FOTOĞRAF › SİPARİŞE ATA penceresi (2026-10-25, TASARIM-DILI §3.44) ═══
   Arayarak seçme penceresinin (§3.23) tek sütunlu hâli. Başlıkta küçük kapak
   (büyük önizleme yok), dolgulu arama + sağda sessiz sayaç, satır = işaret ·
   sip no · firma · kg; eylem hover/seçili satırda kg'nin yerini alır.
   Kutu içinde kutu yok: satırlar ayraçsız, seçili satır --desk-soft. */
/* Siparişe ata penceresi sipariş detayının (#orderModal, aynı z-index 400 ve
   DOM'da sonra) içinden de açılır: her zaman onun ÖNÜNDE durmalı (2026-11-03,
   kalem "sayfanın altında" açılıyordu). Onay penceresi (3000) yine üstte. */
#photoLinkModal.modal-overlay { z-index:420; }
#photoLinkModal .photo-link-panel {
  width:min(560px,94vw);
  max-height:min(86dvh,720px);
  display:flex;
  flex-direction:column;
  gap:12px;
  padding:16px;
  overflow:hidden;
  border:1px solid var(--desk-line,var(--border));
  border-radius:16px;
  background:var(--desk-paper,var(--surface-solid));
  box-shadow:0 18px 44px rgba(15,23,42,.18);
}
#photoLinkModal .photo-link-panel > * { flex:0 0 auto; }
#photoLinkModal .photo-link-list { flex:1 1 auto; min-height:0; }
.pla-head { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:12px; }
.pla-thumb { position:relative; display:flex; width:40px; height:40px; }
.pla-thumb img { width:40px; height:40px; flex:0 0 auto; border-radius:10px; object-fit:cover; background:var(--desk-soft,var(--surface)); }
.pla-thumb.is-bulk { width:56px; }
.pla-thumb.is-bulk img { width:34px; height:34px; margin-top:6px; border:2px solid var(--desk-paper,var(--surface-solid)); }
.pla-thumb.is-bulk img + img { margin-left:-22px; }
.pla-thumb.is-bulk > span {
  position:absolute; right:-4px; top:-4px; min-width:20px; height:20px; padding:0 6px; box-sizing:border-box;
  display:grid; place-items:center; border-radius:999px;
  color:var(--desk-paper,var(--surface-solid)); background:var(--text);
  font:650 var(--type-caption,11px) var(--font-numeric,inherit);
}
.pla-heading { min-width:0; }
.pla-heading h2 { margin:0; overflow:hidden; color:var(--text); font-size:var(--type-section,16px); font-weight:650; letter-spacing:-.01em; text-overflow:ellipsis; white-space:nowrap; }
.pla-heading small { display:block; margin-top:2px; overflow:hidden; color:var(--desk-muted,var(--muted)); font-size:var(--type-meta,12px); text-overflow:ellipsis; white-space:nowrap; }
.pla-close { width:32px; height:32px; display:grid; place-items:center; padding:0; border:0; border-radius:8px; color:var(--desk-muted,var(--muted)); background:transparent; cursor:pointer; }
.pla-close svg { width:18px; height:18px; stroke-width:2; }
.pla-close:hover { color:var(--text); background:var(--desk-soft,var(--surface)); }
.pla-close:focus-visible, .pla-act:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }

.pla-search {
  display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:8px;
  min-height:40px; padding:0 12px; border-radius:10px;
  background:var(--desk-soft,var(--surface)); color:var(--desk-muted,var(--muted));
  font-weight:400; letter-spacing:0; text-transform:none;
  cursor:text;
}
.pla-search:focus-within { box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 55%,transparent); }
.pla-search svg { width:16px; height:16px; stroke-width:2; }
#photoLinkModal .pla-search input {
  box-shadow:none; border-radius:0; min-height:0;
  width:100%; min-width:0; height:38px; padding:0; border:0; outline:0;
  color:var(--text); background:transparent; font:inherit; font-size:var(--type-control,13px);
}
.pla-search input::-webkit-search-cancel-button { display:none; }
.pla-search input::placeholder { color:var(--desk-muted,var(--muted)); }
.pla-count { font-size:var(--type-caption,11px); font-variant-numeric:tabular-nums; white-space:nowrap; }
#photoLinkModal .photo-link-panel.is-ticket .pla-count { display:none; }

#photoLinkModal .photo-link-panel.is-order .photo-link-list {
  max-height:none; display:block; margin:0 -8px; padding:0 8px; gap:0;
}
.pla-group {
  display:flex; align-items:center; justify-content:space-between; gap:8px;
  padding:12px 8px 4px; color:var(--desk-muted,var(--muted));
  font-size:var(--type-caption,11px); font-weight:650; letter-spacing:.06em; text-transform:uppercase;
}
.pla-group:first-child { padding-top:0; }
.pla-group span + span { font-variant-numeric:tabular-nums; letter-spacing:0; }
.pla-row {
  display:grid; grid-template-columns:18px auto minmax(0,1fr) auto; align-items:center; gap:12px;
  min-height:40px; padding:0 8px; border-radius:8px;
  color:var(--text); cursor:pointer;
}
.pla-row.is-active { background:var(--desk-soft,var(--surface)); }
.pla-mark {
  width:18px; height:18px; box-sizing:border-box; display:grid; place-items:center;
  border:1.5px solid var(--desk-line,var(--border)); border-radius:50%; color:var(--desk-paper,var(--surface-solid));
}
.pla-mark svg { width:12px; height:12px; stroke-width:3; }
.pla-row.is-on .pla-mark,
.pla-row.is-all .pla-mark { border-color:var(--accent); background:var(--accent); }
.pla-row.is-some .pla-mark { border-color:var(--accent); color:var(--accent); }
.pla-row.is-stale .pla-mark { border-style:dashed; border-color:var(--desk-muted,var(--muted)); }
.pla-sip { font-size:var(--type-control,13px); font-weight:650; font-variant-numeric:tabular-nums; white-space:nowrap; }
.pla-row.is-stale .pla-sip { color:var(--desk-muted,var(--muted)); text-decoration:line-through; }
.pla-firm { min-width:0; overflow:hidden; color:var(--desk-muted,var(--muted)); font-size:var(--type-control,13px); text-overflow:ellipsis; white-space:nowrap; }
.pla-end { display:grid; justify-items:end; align-items:center; }
.pla-end > * { grid-area:1 / 1; }
.pla-val { color:var(--desk-muted,var(--muted)); font-size:var(--type-meta,12px); font-variant-numeric:tabular-nums; white-space:nowrap; }
.pla-acts { display:flex; gap:4px; visibility:hidden; }
.pla-row.is-active .pla-val { visibility:hidden; }
.pla-row.is-active .pla-acts,
.pla-row.is-stale .pla-acts { visibility:visible; }
.pla-row.is-stale .pla-val { display:none; }
.pla-act {
  min-height:28px; padding:0 10px; border:0; border-radius:8px;
  color:var(--desk-muted,var(--muted)); background:transparent;
  font:inherit; font-size:var(--type-meta,12px); font-weight:600; white-space:nowrap; cursor:pointer;
}
.pla-act:hover { color:var(--text); background:color-mix(in srgb,var(--text) 7%,transparent); }
.pla-act.is-go { color:var(--accent); }
.pla-act.is-go:hover { color:var(--accent); background:var(--accent-soft); }
.pla-done { color:var(--desk-muted,var(--muted)); font-size:var(--type-meta,12px); }
.pla-empty { padding:24px 8px; color:var(--desk-muted,var(--muted)); font-size:var(--type-control,13px); text-align:center; }
.pla-keys {
  display:flex; gap:16px; padding-top:12px; border-top:1px solid var(--desk-line,var(--border));
  color:var(--desk-muted,var(--muted)); font-size:var(--type-caption,11px);
}
.pla-keys kbd {
  display:inline-grid; place-items:center; min-width:18px; height:18px; margin-right:2px; padding:0 4px; box-sizing:border-box;
  border:1px solid var(--desk-line,var(--border)); border-radius:4px;
  font:inherit; font-size:var(--type-caption,11px);
}
#photoLinkModal .photo-link-panel.is-ticket .pla-keys { display:none; }
@media (hover:none), (max-width:760px) {
  .pla-keys { display:none; }
  .pla-row .pla-acts { visibility:visible; }
  .pla-row .pla-val { display:none; }
}
@media (max-width:520px) {
  #photoLinkModal.modal-overlay { align-items:flex-end; padding:0; }
  #photoLinkModal .photo-link-panel { width:100%; max-height:88dvh; border-radius:16px 16px 0 0; padding:16px 16px calc(16px + env(safe-area-inset-bottom)); }
  .pla-search input { font-size:16px; }
  .pla-row { min-height:44px; grid-template-columns:18px auto minmax(0,1fr) auto; }
}

.photo-attach-card {
  display:grid;
  grid-template-columns:76px minmax(0,1fr);
  gap:10px;
  align-items:center;
  padding:8px;
  border:1px solid var(--border);
  border-radius:12px;
  background:rgba(127,127,127,.035);
}
.photo-attach-card img {
  width:76px;
  height:58px;
  object-fit:contain;
  border-radius:9px;
  background:rgba(0,0,0,.08);
  cursor:zoom-in;
}
.photo-attach-actions {
  display:flex;
  gap:6px;
  flex-wrap:wrap;
  margin-top:7px;
}
.photo-attach-actions button {
  min-height:26px;
  padding:4px 8px;
  border-radius:8px;
  font-size:10.5px;
}
.order-photo-mini {
  display:inline-flex;
  align-items:center;
  gap:4px;
  margin-left:6px;
  padding:2px 7px;
  border-radius:999px;
  color:var(--accent);
  background:var(--accent-soft);
  font-size:10px;
  font-weight:800;
  vertical-align:middle;
}
.order-photo-rail { display:flex; align-items:center; gap:9px; min-width:0; margin:8px 0 14px; padding:8px 10px; border:1px solid var(--desk-line,var(--border)); border-radius:12px; background:var(--desk-soft,rgba(127,127,127,.035)); }
.order-photo-rail-copy { display:grid; gap:1px; flex:0 0 auto; }
.order-photo-rail-copy strong { color:var(--text); font-size:11px; font-weight:750; }
.order-photo-rail-copy span { color:var(--muted); font-size:10px; }
.order-photo-rail-list { display:flex; align-items:center; min-width:0; gap:5px; overflow:hidden; }
.order-photo-rail-item,.order-photo-rail-more { width:33px; height:33px; display:grid; place-items:center; flex:0 0 auto; overflow:hidden; padding:0; border:1px solid var(--border); border-radius:8px; color:var(--accent); background:var(--surface-solid,#fff); cursor:pointer; }
.order-photo-rail-item:hover,.order-photo-rail-more:hover { border-color:var(--accent); transform:translateY(-1px); }
.order-photo-rail-item img { width:100%; height:100%; object-fit:cover; }
.order-photo-rail-more { font-size:10px; font-weight:800; }
.order-photo-rail-open { margin-left:auto; padding:3px 0; border:0; color:var(--accent); background:transparent; font-size:10.5px; font-weight:750; cursor:pointer; }

.photo-empty.stateful {
  display:grid; place-items:center; min-height:220px; grid-column:1 / -1;
  border-radius:20px; background:
    linear-gradient(135deg,color-mix(in srgb,var(--accent) 7%,transparent),transparent 52%),
    color-mix(in srgb,var(--surface) 92%,transparent);
}
.photo-empty-inner { max-width:380px; text-align:center; }
.photo-empty-icon {
  width:46px; height:46px; display:grid; place-items:center; margin:0 auto 12px;
  border-radius:15px; color:var(--accent); background:var(--accent-soft);
}
.photo-empty-icon svg { width:23px; height:23px; stroke-width:2; }
.photo-empty-art { display:block; width:min(380px,100%); height:auto; margin:0 auto 12px; object-fit:contain; }
.photo-empty-title { color:var(--text); font-size:14px; font-weight:850; }
.photo-empty-copy { margin-top:5px; color:var(--muted); font-size:12px; line-height:1.45; }

@media (max-width:760px) {

  .photo-calendar-selection-actions { width:100%; justify-content:flex-start; }

  .pv-top { min-height:52px; padding:6px 8px 6px 16px; }
  .pv-count { margin-right:4px; }
  .pv-nav { width:40px; height:40px; }
  .pv-nav.prev { left:8px; }
  .pv-nav.next { right:8px; }
  .pv-bottom { padding:6px 12px calc(12px + env(safe-area-inset-bottom)); }
  .pv-thumb { width:40px; height:40px; }
  
}
@media (max-width:420px) {
  .photo-calendar-selection-actions .photo-bulk-action svg { display:none; }
}

/* Keep the dock's night treatment above the legacy dark-theme cascade. */
@media (hover:hover) and (min-width:781px) {
  html[data-theme="dark"] .nav {
    border-color:rgba(255,255,255,.1);
    background:rgba(24,24,27,.76);
    box-shadow:0 1px 0 rgba(255,255,255,.065) inset,
               0 18px 45px rgba(0,0,0,.3),
               0 3px 10px rgba(0,0,0,.22);
  }
  html[data-theme="dark"] .nav-btn:hover,
  html[data-theme="dark"] .nav-btn:focus-visible {
    color:#fff;
    border-color:rgba(255,255,255,.08);
    background:rgba(255,255,255,.075);
    box-shadow:0 10px 24px rgba(0,0,0,.22), 0 1px 0 rgba(255,255,255,.06) inset;
  }
  html[data-theme="dark"] .nav-btn.active {
    color:#fff;
    border-color:rgba(10,132,255,.32);
    background:linear-gradient(145deg,rgba(10,132,255,.27),rgba(10,132,255,.13));
    box-shadow:0 9px 24px rgba(0,83,180,.2), 0 1px 0 rgba(255,255,255,.08) inset;
  }
}

/* ================================================================
   NAVIGATION RAIL 3.0
   A dedicated layer keeps the dock away from page content. The dock
   reads as one quiet control surface instead of a floating black card.
   ================================================================ */
@media (hover:hover) and (min-width:781px) {
  .nav-rail {
    position:sticky;
    top:68px;
    z-index:96;
    height:72px;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:0 24px;
    box-sizing:border-box;
    border-bottom:1px solid rgba(0,0,0,.055);
    background:linear-gradient(180deg,rgba(250,250,252,.9),rgba(250,250,252,.72));
    backdrop-filter:saturate(180%) blur(24px);
    -webkit-backdrop-filter:saturate(180%) blur(24px);
  }

  .nav-rail .nav {
    position:relative;
    top:auto;
    width:max-content;
    max-width:calc(100vw - 48px);
    min-height:50px;
    margin:0;
    padding:4px;
    gap:2px;
    overflow:visible;
    border:1px solid rgba(0,0,0,.07);
    border-radius:18px;
    background:rgba(255,255,255,.56);
    box-shadow:0 1px 0 rgba(255,255,255,.92) inset,
               0 8px 24px rgba(15,23,42,.055);
    backdrop-filter:saturate(180%) blur(22px);
    -webkit-backdrop-filter:saturate(180%) blur(22px);
  }

  .nav-rail .nav-btn {
    
    height:42px;
    padding:0 12px;
    border-radius:14px;
    color:#77777d;
    border-color:transparent;
    background:transparent;
    box-shadow:none;
    transform:none;
    transition:min-width .38s cubic-bezier(.22,.8,.2,1),
               padding .38s cubic-bezier(.22,.8,.2,1),
               color .2s ease,
               background .24s ease,
               border-color .24s ease,
               box-shadow .28s ease,
               transform .28s cubic-bezier(.22,.8,.2,1);
  }

  .nav-rail .nav-btn svg {
    width:18px;
    height:18px;
    flex-basis:18px;
    stroke-width:1.75;
  }

  .nav-rail .nav-btn.active > span:not(.nav-count),
  .nav-rail .nav-btn:hover > span:not(.nav-count),
  .nav-rail .nav-btn:focus-visible > span:not(.nav-count) {
    max-width:98px;
    margin-left:10px;
  }

  .nav-rail .nav-btn:hover,
  .nav-rail .nav-btn:focus-visible {
    color:#202124;
    border-color:rgba(0,0,0,.055);
    background:rgba(255,255,255,.88);
    box-shadow:0 7px 18px rgba(15,23,42,.075),
               0 1px 0 rgba(255,255,255,.95) inset;
    
  }

  .nav-rail .nav-btn.active {

    box-shadow:0 0 0 1px rgba(255,255,255,.65) inset,
               0 7px 20px rgba(0,113,227,.075);
  }

  .nav-rail .nav-btn.active svg {
    color:#0a84ff;
    filter:drop-shadow(0 3px 7px rgba(10,132,255,.22));
  }

  .nav-rail .nav-btn.active::after {

    height:2px;
    background:#0a84ff;
    box-shadow:0 0 7px rgba(10,132,255,.48);
  }

  .nav-rail #nav-dashboard::before,
  .nav-rail .nav-pinned.active::before {
    top:10px;
    right:-6px;
    bottom:10px;
    left:auto;
    width:1px;
    height:auto;
    background:rgba(0,0,0,.085);
    box-shadow:none;
  }

  .nav-rail .nav-btn > .nav-count,
  .nav-rail .nav:hover .nav-btn > .nav-count {
    top:2px;
    
    width:18px;
    min-width:18px;
    height:18px;
    border-width:2px;
    border-color:rgba(255,255,255,.94);
    border-radius:999px;
    font-size:8px;
    line-height:14px;
    box-shadow:0 4px 10px rgba(255,59,48,.22);
  }

  html[data-theme="dark"] .nav-rail {
    border-bottom-color:rgba(255,255,255,.055);
    background:linear-gradient(180deg,rgba(17,18,21,.92),rgba(17,18,21,.76));
  }

  html[data-theme="dark"] .nav-rail .nav-btn {
    color:#8f9097;
    background:transparent;
    box-shadow:none;
  }

  html[data-theme="dark"] .nav-rail .nav-btn:hover,
  html[data-theme="dark"] .nav-rail .nav-btn:focus-visible {
    color:#f5f7fb;
    border-color:rgba(255,255,255,.075);
    background:rgba(255,255,255,.07);
    box-shadow:0 8px 20px rgba(0,0,0,.18),
               0 1px 0 rgba(255,255,255,.055) inset;
  }

  html[data-theme="dark"] .nav-rail .nav-btn.active {
    color:#eef6ff;
    border-color:rgba(64,156,255,.22);
    background:linear-gradient(135deg,rgba(10,132,255,.18),rgba(10,132,255,.075));
    box-shadow:0 0 0 1px rgba(255,255,255,.025) inset,
               0 8px 22px rgba(0,78,170,.13);
  }

  html[data-theme="dark"] .nav-rail #nav-dashboard::before,
  html[data-theme="dark"] .nav-rail .nav-pinned.active::before {
    background:rgba(255,255,255,.095);
  }

  html[data-theme="dark"] .nav-rail .nav-btn > .nav-count,
  html[data-theme="dark"] .nav-rail .nav:hover .nav-btn > .nav-count {
    border-color:#17181b;
  }
}

@media (max-width:780px) {
  .nav-rail {
    display:contents;
  }
}

/* ================================================================
   SINGLE-LINE FLOATING NAV 4.0
   Desktop navigation shares the fixed topbar: brand / dock / profile.
   It consumes no additional vertical space and follows the viewport.
   ================================================================ */
@media (hover:hover) and (min-width:781px) {
  .topbar {
    position:sticky;
    top:0;
    z-index:100;
    height:64px;
  }

  .nav-rail,
  html[data-theme="dark"] .nav-rail {
    position:fixed;
    /* 64px header / 54px dock: 36px içeride, 18px dışarıda (tam 2/3–1/3). */
    top:28px;
    left:50%;
    z-index:110;
    width:max-content;
    max-width:calc(100vw - 600px);
    height:52px;
    display:block;
    padding:0;
    border:0;
    background:transparent;
    box-shadow:none;
    backdrop-filter:none;
    -webkit-backdrop-filter:none;
    transform:translateX(-50%);
  }

  .nav-rail .nav,
  html[data-theme="dark"] .nav-rail .nav {
    position:relative;
    top:auto;
    left:auto;
    width:max-content;
    max-width:100%;
    min-height:50px;
    margin:0;

  }

  .nav-rail .nav-btn {
    min-width:44px;
    padding-right:13px;
    padding-left:13px;
  }

  .nav-rail .nav-btn.active,
  .nav-rail .nav-btn:hover,
  .nav-rail .nav-btn:focus-visible {
    min-width:118px;
  }

  html[data-theme="dark"] .nav-rail .nav {
    border-color:rgba(255,255,255,.09);
    background:rgba(24,24,27,.72);
    box-shadow:0 1px 0 rgba(255,255,255,.055) inset,
               0 10px 28px rgba(0,0,0,.24);
  }
}

@media (hover:hover) and (min-width:781px) and (max-width:1280px) {
  .nav-rail,
  html[data-theme="dark"] .nav-rail {
    max-width:calc(100vw - 480px);
  }

  .nav-rail .nav-btn {
    min-width:38px;
    height:40px;
    padding:0 10px;
  }

  .nav-rail .nav-btn.active,
  .nav-rail .nav-btn:hover,
  .nav-rail .nav-btn:focus-visible {
    min-width:104px;
  }

  .nav-rail .nav-btn.active > span:not(.nav-count),
  .nav-rail .nav-btn:hover > span:not(.nav-count),
  .nav-rail .nav-btn:focus-visible > span:not(.nav-count) {
    max-width:86px;
    margin-left:8px;
  }
}

@media (hover:hover) and (min-width:781px) and (max-width:980px) {
  .nav-rail,
  html[data-theme="dark"] .nav-rail {
    max-width:calc(100vw - 410px);
  }

  .nav-rail .nav-btn.active {
    min-width:38px;
  }

  .nav-rail .nav-btn.active > span:not(.nav-count) {
    max-width:0;
    margin-left:0;
    opacity:0;
    transform:translateX(-5px);
  }

  .nav-rail .nav-btn.active:hover,
  .nav-rail .nav-btn.active:focus-visible {
    min-width:104px;
  }

  .nav-rail .nav-btn.active:hover > span:not(.nav-count),
  .nav-rail .nav-btn.active:focus-visible > span:not(.nav-count) {
    max-width:86px;
    margin-left:8px;
    opacity:1;
    transform:translateX(0);
  }
}

/* ================================================================
   ORDERS WORKSPACE 2.0
   Wider canvas, denser controls, taller reading area and a stable
   viewport preview that never steals hover from neighbouring rows.
   ================================================================ */
#page-orders {
  width:calc(100% - 72px);
  max-width:1580px;
  padding:22px 12px 16px;
}

/* Sayaç artık başlığın altında değil, araç çubuğunda sekmelerin yanında duran
   sessiz bir metindir (TASARIM-DILI.md §2.2 ikincil satır). */
#page-orders #orders-count {
  min-height:0;
  display:inline-block;
  margin:0;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  color:var(--muted) !important;
  font-size:13px !important;
  font-weight:500;
  letter-spacing:0;
  white-space:nowrap;
  box-shadow:none;
}

#page-orders #orders-count::before {
  content:none;
}

@media (max-width:560px) { #page-orders #orders-count { font-size:12px !important; } }

#page-orders .orders-toolbar {
  gap:8px;
  margin-bottom:12px;
  padding:10px;
  border:1px solid var(--border);
  border-radius:18px;
  background:color-mix(in srgb,var(--surface-solid,#fff) 80%,transparent);
  box-shadow:0 10px 30px rgba(0,0,0,.045), inset 0 1px rgba(255,255,255,.035);
}

#page-orders .orders-toolbar-row {
  gap:8px;
}

#page-orders .orders-toolbar-primary {
  flex-wrap:nowrap;
}

#page-orders .orders-toolbar-filters {
  min-width:0;
  padding-top:8px;
  flex-wrap:nowrap;
}

#page-orders .orders-search-wrap {
  flex:1 1 480px;
  min-width:280px;
}

#page-orders .orders-search-wrap .search-input {
  min-height:40px;
  border-radius:12px;
  font-size:13px;
}

#page-orders .orders-filter-fields {
  flex:1 1 auto;
  flex-wrap:nowrap;
  gap:7px;
}

#page-orders .orders-filter-fields select {
  min-width:0;
  min-height:38px;
  padding-right:30px;
  border-radius:11px;
  font-size:11.5px;
  font-weight:650;
}

#page-orders #orderYearFilter { flex:0 0 112px; }
#page-orders #orderCustomerNoSearch { flex:0 1 180px; }
#page-orders #orderTypeFilter { flex:0 1 190px; }
#page-orders #orderFirmaFilter { flex:1 1 220px; }
#page-orders #orderStageFilter { flex:0 1 170px; }
#page-orders #orderAgeFilter { flex:0 1 184px; }

#page-orders .orders-toolbar-tools {
  gap:7px;
  margin-left:8px;
}

#page-orders .order-sort-controls {
  gap:5px;
}

#page-orders .order-sort-controls select {
  min-width:154px;
  min-height:38px;
  font-size:11.5px;
}

#page-orders .order-sort-direction {
  min-height:38px;
  padding:7px 10px;
}

#page-orders .table-pan-controls button {
  width:32px;
  height:32px;
}

#page-orders .table-wrap {
  height:calc(100dvh - 244px);
  min-height:480px;
  border-color:color-mix(in srgb,var(--border) 90%,transparent);
  border-radius:18px;
  background:var(--surface-solid,#fff);
  box-shadow:0 18px 48px rgba(0,0,0,.09), inset 0 1px rgba(255,255,255,.035);
}

#ordersTable {
  min-width:1230px;
  font-size:13.5px;
}

#ordersTable thead th {
  height:43px;
  padding:10px 14px;
  font-size:9.5px;
  font-weight:780;
  letter-spacing:.075em;
  background:color-mix(in srgb,var(--surface-solid,#fff) 94%,var(--bg));
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
}

#ordersTable tbody td {
  height:49px;
  padding:11px 14px;
  font-size:12.5px;
  /* Hücre geçişi yok (2026-11-05): kaydırırken imlecin altından geçen her
     satırın 8 hücresi geçiş başlatıyor, her kare stil hesabı oluyordu. */
}

#ordersTable tbody .order-row:nth-child(even) td {
  background:color-mix(in srgb,var(--surface-solid,#fff) 97%,var(--bg));
}

#ordersTable .order-row:hover td,
#ordersTable .order-row.is-hover-preview td {
  background:color-mix(in srgb,var(--accent) 7%,var(--surface-solid,#fff));
}

#ordersTable .order-row:hover td:first-child,
#ordersTable .order-row.is-hover-preview td:first-child {
  background:color-mix(in srgb,var(--accent) 9%,var(--surface-solid,#fff)) !important;
  box-shadow:inset 3px 0 0 var(--accent), 1px 0 var(--border);
}

#ordersTable .order-row:hover .sip-link,
#ordersTable .order-row.is-hover-preview .sip-link {
  color:color-mix(in srgb,var(--accent) 88%,white);
}

#ordersTable th:first-child,
#ordersTable td:first-child {
  min-width:205px;
}

#ordersTable .firma-cell {
  max-width:210px;
  min-width:170px;
}

.order-preview-trigger {
  min-width:0;
  min-height:31px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:9px;
  margin:-5px -7px;
  padding:5px 7px;
  border:1px solid transparent;
  border-radius:9px;
  cursor:help;
  transition:background .15s ease,border-color .15s ease,color .15s ease;
}

.order-preview-trigger>span {
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.order-preview-trigger>i {
  flex:0 0 auto;
  color:var(--muted);
  font-size:10px;
  font-style:normal;
  letter-spacing:1px;
  opacity:.3;
  transition:color .15s ease,opacity .15s ease;
}

.order-preview-trigger:hover {
  border-color:color-mix(in srgb,var(--accent) 20%,var(--border));
  background:color-mix(in srgb,var(--accent) 6%,transparent);
}

.order-preview-trigger:hover>i,
.order-row.is-hover-preview .order-preview-trigger>i {
  color:var(--accent);
  opacity:1;
}

#ordersTable .num-cell {
  min-width:104px;
  font-weight:680;
}

#ordersTable .order-updated-head,
#ordersTable .order-updated-cell,
#pastTable .order-updated-head,
#pastTable .order-updated-cell {
  width:92px;
  min-width:92px;
  max-width:92px;
  padding-inline:10px;
  white-space:nowrap;
}

#ordersTable .order-updated-cell,
#pastTable .order-updated-cell {
  color:var(--muted);
  font-size:11px;
  font-variant-numeric:tabular-nums;
}

#ordersTable .pill {
  padding:4px 9px;
  border-radius:999px;
  font-weight:720;
}

.orders-row-hover-preview {
  position:fixed;
  z-index:420;
  width:min(340px,calc(100vw - 24px));
  pointer-events:none;
  overflow:auto;
  overscroll-behavior:contain;
  opacity:0;
  visibility:hidden;
  transform:translateY(7px) scale(.985);
  transform-origin:top left;
  transition:opacity .14s ease,transform .18s cubic-bezier(.2,.8,.2,1),visibility .14s;
}

.orders-row-hover-preview.show {
  opacity:1;
  visibility:visible;
  transform:translateY(0) scale(1);
}

.orders-row-hover-preview .photo-order-hover {
  position:relative;
  
  opacity:1;
  max-height:inherit;
  overflow:auto;
  padding:8px 10px;
  gap:4px;
  border:1px solid color-mix(in srgb,var(--accent) 18%,var(--border));
  border-radius:12px;
  background:color-mix(in srgb,var(--surface-solid,#fff) 93%,transparent);
  box-shadow:0 24px 65px rgba(0,0,0,.26),0 2px 10px rgba(0,0,0,.14),inset 0 1px rgba(255,255,255,.055);
  backdrop-filter:saturate(160%) blur(20px);
  -webkit-backdrop-filter:saturate(160%) blur(20px);
}

.orders-row-hover-preview[data-placement="above"] {
  transform-origin:bottom left;
}

.orders-row-hover-preview .photo-order-hover::before {
  content:"";
  position:absolute;
  top:0;
  left:16px;
  right:16px;
  height:2px;
  border-radius:0 0 999px 999px;
  background:linear-gradient(90deg,transparent,var(--accent),transparent);
  opacity:.7;
}

.orders-row-hover-preview .photo-order-hover-grid {
  grid-template-columns:repeat(3,minmax(0,1fr));
}

.orders-row-hover-preview .photo-order-hover-stat {
  padding:7px 9px;
  background:color-mix(in srgb,var(--surface-solid,#fff) 86%,var(--bg));
}

.orders-row-hover-preview .photo-order-hover-line {
  min-height:20px;
  padding:1px 2px;
  font-size:11px;
}

.orders-row-hover-preview .order-fabrics-hover .photo-order-hover-lines {
  gap:3px;
}

.orders-row-hover-preview .order-fabrics-hover .photo-order-hover-swatch {
  height:18px;
}

html[data-theme="dark"] #page-orders .orders-toolbar {
  background:rgba(28,28,30,.76);
  box-shadow:0 12px 32px rgba(0,0,0,.16),inset 0 1px rgba(255,255,255,.025);
}

html[data-theme="dark"] #page-orders .table-wrap {
  background:#19191b;
  box-shadow:0 20px 52px rgba(0,0,0,.24),inset 0 1px rgba(255,255,255,.025);
}

html[data-theme="dark"] #ordersTable thead th {
  background:rgba(36,36,38,.96);
}

html[data-theme="dark"] #ordersTable tbody .order-row:nth-child(even) td {
  background:rgba(255,255,255,.012);
}

html[data-theme="dark"] #ordersTable .order-row:hover td,
html[data-theme="dark"] #ordersTable .order-row.is-hover-preview td {
  background:rgba(10,132,255,.085);
}

html[data-theme="dark"] #ordersTable .order-row:hover td:first-child,
html[data-theme="dark"] #ordersTable .order-row.is-hover-preview td:first-child {
  background:color-mix(in srgb,#0a84ff 11%,#1c1c1e) !important;
  box-shadow:inset 3px 0 0 #0a84ff,1px 0 rgba(255,255,255,.07);
}

html[data-theme="dark"] .orders-row-hover-preview .photo-order-hover {
  background:rgba(28,28,31,.94);
  border-color:rgba(64,156,255,.22);
  box-shadow:0 28px 72px rgba(0,0,0,.52),0 3px 12px rgba(0,0,0,.32),inset 0 1px rgba(255,255,255,.045);
}

html[data-theme="dark"] .orders-row-hover-preview .photo-order-hover-stat {
  background:rgba(255,255,255,.045);
}

@media (max-width:1380px) and (min-width:761px) {
  #page-orders { width:calc(100% - 16px); padding-inline:8px; }
  #page-orders .orders-toolbar-filters { flex-wrap:wrap; }
  #page-orders .orders-filter-fields { flex:1 1 100%; }
  #page-orders .orders-toolbar-tools { width:100%; justify-content:flex-end; margin-left:0; }
  #page-orders .table-wrap { height:calc(100dvh - 226px); }
}

@media (max-width:760px) {
  #page-orders { width:100%; padding:18px 12px 84px; }
  #page-orders .orders-toolbar { padding:9px; }
  #page-orders .orders-toolbar-primary,
  #page-orders .orders-toolbar-filters,
  #page-orders .orders-filter-fields { flex-wrap:wrap; }
  #page-orders .orders-search-wrap { order:3; flex-basis:100%; min-width:0; }
  #page-orders .orders-filter-fields select { flex:1 1 145px !important; }
  #page-orders .orders-toolbar-tools { width:100%; margin-left:0; justify-content:space-between; }
  .orders-row-hover-preview { display:none; }
}

/* Orders filters: one calm default row, advanced controls on demand. */
.order-filters-toggle {
  min-height:40px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  flex:0 0 auto;
  padding:8px 11px;
  color:var(--text);
  border:1px solid var(--border);
  border-radius:11px;
  background:var(--surface-solid,#fff);
  font:700 11.5px inherit;
  white-space:nowrap;
  cursor:pointer;
  transition:color .18s ease,border-color .18s ease,background .18s ease,box-shadow .18s ease;
}
.order-filters-toggle:hover,
.order-filters-toggle.is-open { color:var(--accent); border-color:color-mix(in srgb,var(--accent) 34%,var(--border)); background:var(--accent-soft); }
.order-filters-toggle > svg { width:16px; height:16px; flex:0 0 16px; stroke-width:1.8; }
.order-filters-toggle .order-filters-chevron { width:14px; height:14px; transition:transform .2s ease; }
.order-filters-toggle.is-open .order-filters-chevron { transform:rotate(180deg); }
.order-filters-toggle b {
  min-width:18px;
  height:18px;
  display:grid;
  place-items:center;
  padding:0 5px;
  border-radius:999px;
  color:#fff;
  background:var(--accent);
  font-size:9px;
  line-height:1;
}
.order-filters-toggle b[hidden] { display:none; }
.order-filters-toggle.has-active-filters:not(.is-open) { color:var(--accent); border-color:color-mix(in srgb,var(--accent) 28%,var(--border)); }
#orderAdvancedFilters[hidden] { display:none !important; }
#page-orders .orders-toolbar:has(#orderAdvancedFilters[hidden]) { padding-bottom:10px; }

html[data-theme="dark"] .order-filters-toggle { color:#d1d1d6; border-color:rgba(255,255,255,.11); background:#242426; }
html[data-theme="dark"] .order-filters-toggle:hover,
html[data-theme="dark"] .order-filters-toggle.is-open { color:#64aef7; border-color:rgba(10,132,255,.32); background:rgba(10,132,255,.11); }

/* Precision dock: equal slots keep the floating navigation optically symmetric. */
@media (hover:hover) and (min-width:781px) {
  .nav-rail .nav,
  html[data-theme="dark"] .nav-rail .nav {
    gap:6px;
    padding:5px 7px;
  }

  .nav-rail .nav-side { display:contents; }

  .nav-rail #nav-dashboard {
    margin-right:0;
  }

  .nav-rail #nav-dashboard::before,
  .nav-rail .nav-pinned.active::before {
    display:none;
  }

  .nav-rail .nav-btn,
  .nav-rail .nav-btn.active,
  .nav-rail .nav-btn:hover,
  .nav-rail .nav-btn:focus-visible {
    width:46px;
    min-width:46px;
    height:42px;
    justify-content:center;
    overflow:visible;
    padding:0;
    transform:none;
  }

  .nav-rail .nav-btn:hover,
  .nav-rail .nav-btn:focus-visible {
    transform:translateY(-1px);
  }

  .nav-rail .nav-btn > span:not(.nav-count),
  .nav-rail .nav-btn.active > span:not(.nav-count),
  .nav-rail .nav-btn:hover > span:not(.nav-count),
  .nav-rail .nav-btn:focus-visible > span:not(.nav-count) {
    position:absolute;
    top:calc(100% + 11px);
    left:50%;
    z-index:5;
    width:max-content;
    max-width:170px;
    max-height:none;
    margin:0;
    padding:6px 9px;
    overflow:visible;
    color:var(--text);
    border:1px solid var(--border);
    border-radius:9px;
    background:color-mix(in srgb,var(--surface-solid,#fff) 94%,transparent);
    box-shadow:0 10px 28px rgba(0,0,0,.2);
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    font-size:10.5px;
    font-weight:720;
    line-height:1.2;
    transform:translate(-50%,-4px);
    transition:opacity .14s ease,transform .18s ease,visibility .14s;
  }

  .nav-rail .nav-btn:hover > span:not(.nav-count),
  .nav-rail .nav-btn:focus-visible > span:not(.nav-count) {
    margin:0;
    opacity:1;
    visibility:visible;
    transform:translate(-50%,0);
  }

  .nav-rail .nav-btn.active {
    color:#eef6ff;
    border-color:rgba(64,156,255,.2);
    background:linear-gradient(145deg,rgba(10,132,255,.2),rgba(10,132,255,.08));
  }

  .nav-rail .nav-btn.active::after {
    right:auto;
    bottom:4px;
    left:50%;
    width:12px;
    transform:translateX(-50%);
  }

  .nav-rail .nav-btn > .nav-count,
  .nav-rail .nav:hover .nav-btn > .nav-count {
    left:27px;
  }

  html[data-theme="dark"] .nav-rail .nav-btn > span:not(.nav-count) {
    color:#f5f5f7;
    border-color:rgba(255,255,255,.1);
    background:rgba(28,28,31,.96);
    box-shadow:0 12px 30px rgba(0,0,0,.42);
  }
}

/* ── CAM MENÜ: header'daki menü butonuyla sağdan kayan, arkasını blurlayan panel ── */
/* Masaüstünde yatay nav çubuğunun yerini alır; mobilde (≤760px) alt bar aynen kalır. */
.glass-menu-backdrop {
  position:fixed; inset:0; z-index:180;
  background:rgba(15,20,28,.28);
  backdrop-filter:blur(7px) saturate(120%);
  -webkit-backdrop-filter:blur(7px) saturate(120%);
  opacity:0; pointer-events:none;
  transition:opacity .28s ease;
}
body.glass-menu-open .glass-menu-backdrop { opacity:1; pointer-events:auto; }
.glass-menu {
  position:fixed; top:14px; right:14px; bottom:14px; z-index:181;
  width:min(320px, 88vw);
  display:flex; flex-direction:column; gap:10px;
  padding:18px 14px 14px;
  border:1px solid rgba(255,255,255,.4);
  border-radius:26px;
  background:linear-gradient(165deg, rgba(255,255,255,.72), rgba(255,255,255,.5));
  box-shadow:0 28px 80px rgba(10,16,26,.35), inset 0 1px 0 rgba(255,255,255,.5);
  backdrop-filter:blur(26px) saturate(170%);
  -webkit-backdrop-filter:blur(26px) saturate(170%);
  transform:translateX(calc(100% + 34px));
  transition:transform .34s cubic-bezier(.32,.72,.28,1);
  visibility:hidden;
}
body.glass-menu-open .glass-menu { transform:none; visibility:visible; }
.glass-menu-head {
  display:flex; align-items:center; justify-content:space-between;
  padding:2px 8px 6px 12px;
  color:var(--text); font-size:15px; font-weight:800; letter-spacing:.14em;
}
.glass-menu-close {
  display:flex; align-items:center; justify-content:center;
  width:32px; height:32px; border:0; border-radius:10px;
  background:rgba(127,127,127,.12); color:var(--text); cursor:pointer;
  transition:background .15s ease;
}
.glass-menu-close:hover { background:rgba(127,127,127,.22); }
.glass-menu-close svg { width:15px; height:15px; stroke-width:2.2; }
.glass-menu-items { display:flex; flex-direction:column; gap:4px; overflow-y:auto; padding:2px; }
.glass-menu-item {
  display:flex; align-items:center; gap:13px;
  padding:12px 14px; border:0; border-radius:14px;
  background:transparent; color:var(--text);
  font:700 13.5px/1.2 inherit; letter-spacing:.02em; text-align:left;
  cursor:pointer; transition:background .15s ease, color .15s ease, transform .15s ease;
}
.glass-menu-item svg { width:20px; height:20px; flex:0 0 auto; stroke-width:1.8; }
.glass-menu-item:hover { background:rgba(255,255,255,.55); transform:translateX(-2px); }
.glass-menu-item.active { background:var(--accent); color:#fff; box-shadow:0 10px 24px color-mix(in srgb,var(--accent) 38%,transparent); }
.glass-menu-item .nav-count {
  position:static; margin-left:auto; min-width:19px; height:19px;
  display:inline-flex; align-items:center; justify-content:center;
  border-radius:10px; padding:0 5px;
  background:#ff3b30; color:#fff; font-size:10px; font-weight:800;
}
html[data-theme="dark"] .glass-menu {
  border-color:rgba(255,255,255,.12);
  background:linear-gradient(165deg, rgba(38,46,60,.66), rgba(24,30,40,.58));
  box-shadow:0 28px 80px rgba(0,0,0,.55), inset 0 1px 0 rgba(255,255,255,.09);
}
html[data-theme="dark"] .glass-menu-backdrop { background:rgba(6,10,16,.42); }
html[data-theme="dark"] .glass-menu-item:hover { background:rgba(255,255,255,.08); }
/* Zayıf cihaz (hafif mod): blur yerine opak yüzey — görünüm korunur, GPU yorulmaz. */
/* Eski menü çubuğu TÜM cihazlarda kalktı (2026-07-24): masaüstünde de mobilde de
   tek giriş noktası sağ üstteki cam menü (hamburger) butonudur. */
.nav-rail, html[data-theme="dark"] .nav-rail { display:none; }
@media (max-width:760px) {
  /* Alt bar kalktığı için aurora-layer'ın çubuğa ayırdığı boşluk geri alınır. */
  body { padding-bottom:0; }
}

/* ── Planlayıcı: hafta sonu + resmî tatil kolonları hafta içinden ayrışır ── */
/* Uzman yaklaşımı: renk bağırmaz, doku fısıldar. Hafta sonu kolonları hafif gri
   zemin + cumartesi sınırında belirgin ayırıcı çizgi; gün numarası soluklaşır.
   Resmî tatil kolonu ay görünümündeki tatil diliyle aynı kırmızımsı tonu alır. */

/* Cumartesi = hafta sonunun başladığı sınır: bir ton koyu ayırıcı çizgi. */

/* Hafta sonunda saat çizgileri de yumuşar (iş saatleri vurgusu hafta içinde kalır). */

/* Resmî tatil: ay görünümüyle aynı dil — kırmızımsı yıkama + başlıkta tatil rengi. */

/* Bugün yeşil, kullanıcının seçimi mavi: iki durum artık birbirine benzemez. */

/* Takvime dokunmak yalnız saat seçer; editör bu sabit onay kartından açılır. */

/* ── Planlayıcı kenar çubuğu gizleme: tam genişlik hafta + akıllı kolon oranları ── */

/* Gizliyken ok içeri döner (paneli geri çağırır). */

.planner-app.sidebar-hidden .planner-sidebar { display:none; }
/* Kazanılan alan iş günlerine gider: hafta içi kolonları genişler, CMT+PAZ dar kalır.
   (Hafta sonu az plan taşır; daralınca satır içi kartlar yine okunur.) */

/* Fotoğraflar · yalnızca aktif WhatsApp kişileri */

/* Uygulama içi geri + son 10 sayfa geçmişi */
.app-history-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 10px 10px}.app-history-head>div{display:grid;gap:3px}.app-history-head span{color:var(--accent);font-size:7px;font-weight:850;letter-spacing:.12em}.app-history-head strong{color:var(--text);font-size:13px;letter-spacing:-.02em}.app-history-head small{padding:5px 7px;border-radius:8px;background:var(--accent-soft);color:var(--accent);font:800 7px var(--font-numeric)}.app-history-list{display:grid;gap:3px;overflow:auto}.app-history-list button{width:100%;display:grid;grid-template-columns:28px minmax(0,1fr) 24px;align-items:center;gap:9px;padding:9px;border:1px solid transparent;border-radius:11px;background:transparent;color:inherit;text-align:left;cursor:pointer}.app-history-list button:hover,.app-history-list button:focus-visible{border-color:color-mix(in srgb,var(--accent) 18%,var(--border));background:var(--accent-soft);outline:0}.app-history-list button>span{width:28px;height:28px;display:grid;place-items:center;border-radius:9px;background:rgba(127,127,127,.08);color:var(--muted);font:800 8px var(--font-numeric)}.app-history-list button>div{min-width:0;display:grid;gap:3px}.app-history-list strong,.app-history-list small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-history-list strong{color:var(--text);font-size:9.5px}.app-history-list small{color:var(--muted);font-size:7px}.app-history-list button>b{color:var(--accent);font-size:13px;text-align:center}.app-history-foot{margin-top:6px;padding:8px 10px 5px;border-top:1px solid var(--border);color:var(--muted);font-size:7px;line-height:1.45}.app-history-empty{padding:22px;color:var(--muted);font-size:9px;text-align:center}

/* Etkinlik geçmişi: geri zincirinden bağımsız, kalıcı değişiklik ve inceleme özeti */

.app-history-list{max-height:430px}
.app-activity-group{overflow:hidden;border:1px solid var(--border);border-radius:12px;background:color-mix(in srgb,var(--card) 82%,transparent)}
.app-activity-group+.app-activity-group{margin-top:5px}
.app-history-list .app-activity-group-btn{grid-template-columns:30px minmax(0,1fr) 22px;padding:10px}
.app-history-list .app-activity-group-btn>span{width:30px;height:30px;color:var(--accent);background:var(--accent-soft);font-size:9px}
.app-activity-group-btn>b{transition:transform .16s ease}
.app-activity-group.is-open .app-activity-group-btn>b{transform:rotate(180deg)}
.app-activity-details{display:grid;padding:0 8px 8px}
.app-activity-details[hidden]{display:none}
.app-history-list .app-activity-detail{grid-template-columns:7px minmax(0,1fr) auto;gap:8px;padding:8px 7px 8px 10px;border:0;border-top:1px solid var(--border);border-radius:0}
.app-history-list .app-activity-detail:first-child{border-top:1px solid var(--border)}
.app-history-list .app-activity-detail>i{width:6px;height:6px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
.app-history-list .app-activity-detail>div{min-width:0;display:grid;gap:3px}
.app-history-list .app-activity-detail strong,.app-history-list .app-activity-detail small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.app-history-list .app-activity-detail strong{font-size:9px}
.app-history-list .app-activity-detail small{color:var(--muted);font-size:7.5px}
.app-history-list .app-activity-detail time{align-self:start;padding-top:1px;color:var(--muted);font:700 6.5px var(--font-numeric);white-space:nowrap}
html[data-theme="dark"] .app-activity-group{background:rgba(255,255,255,.025)}

/* Fotoğraflar · akıllı hızlı atama okunabilirlik ölçeği */

/* ── Ticketlar · iki sütunlu yoğun görünüm ve tek işlem menüsü ───── */

#page-tickets .ticket{
  grid-template-columns:minmax(0,1fr) 116px 112px;
  grid-template-rows:minmax(0,1fr) auto;
  gap:5px 10px;
  height:118px;
  min-height:118px;
  max-height:118px;
  padding:11px 12px 9px 17px;
  overflow:visible;
  border-radius:12px;
}

#page-tickets .ticket-main{gap:5px}
#page-tickets .ticket-route-stamp{
  grid-template-columns:41px 14px 41px;
  min-width:104px;
  height:34px;
  gap:2px;
}
#page-tickets .ticket-route-office{width:41px}
#page-tickets .ticket-route-code{font-size:14px;line-height:15px}
#page-tickets .ticket-route-name{font-size:6.5px;line-height:8px}
#page-tickets .ticket-route-arrow{font-size:12px}
#page-tickets .ticket-aside{
  min-width:0;
  padding-left:9px;
}
#page-tickets .ticket-action-row{display:flex;justify-content:flex-end;gap:7px}
#page-tickets .ticket-foot{gap:8px;padding-top:6px}
#page-tickets .ticket-time{gap:5px;font-size:9.5px}
#page-tickets .ticket-time .ticket-updated,
#page-tickets .ticket-time-sep{display:none}
#page-tickets .ticket-context .ticket-task-note{max-width:52%}

.ticket-menu-wrap{position:relative;z-index:8;flex:0 0 auto}
.ticket-more-btn{
  
  height:32px;
  display:grid;
  place-items:center;
  padding:0;
  border:1px solid var(--border);
  
  background:var(--surface-solid,#fff);
  color:var(--text);
  box-shadow:0 2px 7px rgba(0,0,0,.06);
  cursor:pointer;
  transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease;
}
.ticket-more-btn span{display:block;margin-top:-4px;font-size:12px;font-weight:900;letter-spacing:1px}
.ticket-more-btn:hover,
.ticket.is-menu-open .ticket-more-btn,
.ticket-menu-wrap.is-menu-open .ticket-more-btn{
  border-color:color-mix(in srgb,var(--ticket-accent) 46%,var(--border));
  box-shadow:0 5px 14px rgba(0,0,0,.11);
  transform:translateY(-1px);
}
.ticket-action-menu{
  position:absolute;
  z-index:30;
  top:calc(100% + 7px);
  right:0;
  width:226px;
  display:grid;
  gap:3px;
  padding:7px;
  border:1px solid var(--border);
  border-radius:13px;
  background:var(--surface-solid,#fff);
  box-shadow:0 18px 42px rgba(0,0,0,.17);
  opacity:0;
  visibility:hidden;
  transform:translateY(-5px) scale(.98);
  transform-origin:top right;
  pointer-events:none;
  transition:opacity .14s ease,transform .14s ease,visibility .14s;
}
.ticket-menu-wrap.opens-up .ticket-action-menu{
  top:auto;
  bottom:calc(100% + 7px);
  transform-origin:bottom right;
}
body>.ticket-action-menu.is-viewport-menu{
  position:fixed;
  z-index:4600;
  right:auto;
  bottom:auto;
  overflow-x:hidden;
  overflow-y:auto;
  visibility:visible;
  opacity:0;
  pointer-events:auto;
  overscroll-behavior:contain;
  transform:translateY(-5px) scale(.98);
  transform-origin:top right;
}
body>.ticket-action-menu.is-viewport-menu.opens-up{transform-origin:bottom right}
body>.ticket-action-menu.is-viewport-menu.is-viewport-open{opacity:1;transform:none}
.ticket.is-menu-open{z-index:20}
.ticket.is-menu-open .ticket-action-menu,
.ticket-menu-wrap.is-menu-open .ticket-action-menu{
  opacity:1;
  visibility:visible;
  transform:none;
  pointer-events:auto;
}
.ticket-action-menu>button {
  width:100%;
  min-height:41px;
  display:grid;
  grid-template-columns:25px minmax(0,1fr);
  grid-template-rows:auto auto;
  align-items:center;
  justify-items:start;
  gap:1px 6px;
  padding:7px 8px;
  border:0;
  border-radius:9px;
  background:transparent;
  color:var(--text);
  box-shadow:none;
  font-family:inherit;
  text-align:left;
  cursor:pointer;
}
.ticket-action-menu>button:hover {background:color-mix(in srgb,var(--ticket-accent) 8%,transparent)}
.ticket-action-menu>button>span:first-child {
  grid-column:1;
  grid-row:1/-1;
  width:18px;
  height:18px;
  display:grid;
  place-items:center;
  color:var(--ticket-accent);
  font-size:15px;
}
.ticket-action-menu>button>b{
  grid-column:2;
  grid-row:1;
  font-size:11px;
  font-weight:800;
}
.ticket-action-menu>button>small{
  grid-column:2;
  grid-row:2;
  color:var(--muted);
  font-size:8.5px;
  font-weight:650;
}

.ticket-action-menu>button:disabled{opacity:.46;cursor:not-allowed}
.ticket-watchlist-action>span:first-child{color:#8b5cf6!important}
.ticket-watchlist-action>span:first-child svg{width:18px;height:18px;display:block}
.ticket-action-menu .ticket-menu-action.is-danger>span:first-child,
.ticket-action-menu .ticket-menu-action.is-danger>b{color:#d9352d}
.ticket-action-menu .ticket-menu-action.is-danger:hover{background:rgba(255,69,58,.08)}
.ticket-action-row .ticket-status{
  min-height:32px;
  margin:0;
  
  white-space:nowrap;
}
html[data-theme="dark"] .ticket-action-menu,
html[data-theme="dark"] .ticket-more-btn{background:#2c2c2e}

.ticket-detail-menu-wrap{
  --ticket-accent:var(--ticket-modal-accent,#0071e3);
  z-index:14;
}
.ticket-detail-menu-wrap .ticket-more-btn{
  width:34px;
  height:34px;
  border-radius:11px;
}
.ticket-detail-menu-wrap .ticket-action-menu{
  z-index:80;
  width:244px;
}

/* Sipariş detayı · üç nokta altında tek, okunaklı işlem listesi */
.act-watch{
  color:#7c3aed;
  border-color:color-mix(in srgb,#8b5cf6 28%,var(--border));
  background:color-mix(in srgb,#8b5cf6 8%,var(--surface-solid,#fff));
}
.act-watch:hover{
  color:#6d28d9;
  border-color:#8b5cf6;
  background:color-mix(in srgb,#8b5cf6 14%,var(--surface-solid,#fff));
}
.order-modal-actions{
  position:relative;
  flex-wrap:nowrap;
  overflow:visible;
}
.order-modal-actions>.modal-act-btn.act-close{
  width:40px;
  min-width:40px;
  padding:0;
}
.order-modal-actions>.modal-act-btn.act-close .act-label{display:none!important}
/* Menüye gizle: ••• ve × ile aynı kare ölçü — üçü tek şerit gibi durur.
   Yazı balonu yerine data-shell-tip dili değil, butonun kendi aria-label'ı
   kullanılır (etiket dar alanda açılmaz). */
.order-modal-actions>.modal-act-btn.act-park{
  width:40px;
  min-width:40px;
  padding:0;
  border-radius:10px;
}
.order-modal-actions>.modal-act-btn.act-park .act-label{display:none!important}
.act-park{
  color:var(--accent);
  border-color:color-mix(in srgb,var(--accent) 26%,var(--border));
  background:color-mix(in srgb,var(--accent) 6%,var(--surface-solid,#fff));
}
.act-park:hover{
  border-color:var(--accent);
  background:var(--accent-soft);
}
.order-modal-menu-wrap{position:relative;z-index:18}
.order-modal-more-btn{
  width:40px;
  height:40px;
  display:grid;
  place-items:center;
  padding:0;
  border:1px solid var(--border);
  border-radius:10px;
  background:var(--surface-solid,#fff);
  color:var(--text);
  box-shadow:0 1px 2px rgba(0,0,0,.04);
  cursor:pointer;
  transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease;
}
.order-modal-more-btn>span{
  display:block;
  margin-top:-5px;
  font-size:13px;
  font-weight:900;
  letter-spacing:1.2px;
}
.order-modal-more-btn:hover,
.order-modal-menu-wrap.is-open .order-modal-more-btn{
  border-color:color-mix(in srgb,var(--accent) 46%,var(--border));
  box-shadow:0 7px 16px rgba(0,0,0,.11);
  transform:translateY(-1px);
}
.order-modal-action-menu{
  position:absolute;
  z-index:45;
  top:calc(100% + 9px);
  right:0;
  width:292px;
  max-height:min(430px,calc(100vh - 150px));
  display:grid;
  gap:3px;
  padding:7px;
  overflow-y:auto;
  overscroll-behavior:contain;
  border:1px solid var(--border);
  border-radius:15px;
  background:var(--surface-solid,#fff);
  box-shadow:0 22px 54px rgba(0,0,0,.2);
  opacity:0;
  visibility:hidden;
  transform:translateY(-6px) scale(.98);
  transform-origin:top right;
  pointer-events:none;
  transition:opacity .15s ease,transform .15s ease,visibility .15s;
}
.order-modal-menu-wrap.is-open .order-modal-action-menu{
  opacity:1;
  visibility:visible;
  transform:none;
  pointer-events:auto;
}
.order-modal-menu-item{
  width:100%;
  min-height:50px;
  display:grid;
  grid-template-columns:31px minmax(0,1fr);
  align-items:center;
  gap:8px;
  padding:7px 9px;
  border:0;
  border-radius:10px;
  background:transparent;
  color:var(--text);
  font-family:inherit;
  text-align:left;
  cursor:pointer;
}
.order-modal-menu-item:hover{background:color-mix(in srgb,currentColor 7%,transparent)}
.order-modal-menu-item:disabled{opacity:.45;cursor:not-allowed}
.order-modal-menu-item:disabled:hover{background:transparent}
.order-modal-menu-icon{
  width:29px;
  height:29px;
  display:grid;
  place-items:center;
  border-radius:9px;
  background:color-mix(in srgb,currentColor 10%,transparent);
  color:inherit;
}
.order-modal-menu-icon svg{width:17px;height:17px;display:block}
.order-modal-menu-copy{min-width:0;display:grid;gap:2px}
.order-modal-menu-copy b,
.order-modal-menu-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.order-modal-menu-copy b{color:var(--text);font-size:11px;font-weight:820}
.order-modal-menu-copy small{color:var(--muted);font-size:8.5px;font-weight:650}
.order-modal-menu-item.act-ticket{color:#e5b84f;background:rgba(229,184,79,.11)}
.order-modal-menu-item.act-ticket:hover{background:rgba(229,184,79,.19)}
.order-modal-menu-item.act-ticket .order-modal-menu-copy b{color:var(--text)}
.order-modal-menu-item.act-ticket .order-modal-menu-copy small{color:var(--muted)}
.order-modal-menu-item.is-danger{color:#ff5b57;background:rgba(255,69,58,.10)}
.order-modal-menu-item.is-danger:hover{background:rgba(255,69,58,.18)}
.order-modal-menu-item.is-danger .order-modal-menu-copy b{color:#ff7771}
.order-modal-menu-item.is-danger .order-modal-menu-copy small{color:color-mix(in srgb,#ff5b57 56%,var(--muted))}
html[data-theme="dark"] .act-watch{color:#c4b5fd;border-color:rgba(167,139,250,.3);background:rgba(139,92,246,.1)}
html[data-theme="dark"] .order-modal-more-btn{background:#2c2c2e}
/* ••• menüsü yanından açılan kısayol listesiyle aynı kâğıtta durur (2026-09-27). */
html[data-theme="dark"] .order-modal-action-menu{background:var(--surface-solid);box-shadow:0 18px 44px rgba(0,0,0,.45)}

@media(max-width:760px){
  .order-modal-actions{width:auto;justify-content:flex-end}
  .order-modal-action-menu{
    position:fixed;
    top:82px;
    left:14px;
    right:14px;
    width:auto;
    max-height:calc(100dvh - 108px);
    transform-origin:top center;
  }
}

@media(max-width:760px){
  #page-tickets .ticket{
    grid-template-columns:minmax(0,1fr) 94px;
    grid-template-rows:auto auto auto;
    height:auto;
    min-height:132px;
    max-height:none;
  }
  #page-tickets .ticket-route-wrap{grid-column:2;grid-row:1;align-self:center}
  #page-tickets .ticket-aside{grid-column:1/-1;grid-row:2;height:auto;padding:4px 0 0}
  #page-tickets .ticket-foot{grid-row:3}
  #page-tickets .ticket-action-row{width:100%;justify-content:flex-end}
}

/* ─── Sipariş modalı önceki/sonraki gezinme okları ─── */
.order-nav-arrow{
  position:absolute; top:50%; transform:translateY(-50%); z-index:410;
  width:46px; height:46px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  border:1px solid var(--border);
  background:color-mix(in srgb, var(--surface-solid,#12161c) 78%, transparent);
  backdrop-filter:blur(12px) saturate(130%);
  color:var(--muted); cursor:pointer;
  box-shadow:0 10px 26px rgba(0,0,0,.28);
  transition:transform .16s ease, color .16s ease, border-color .16s ease, background .16s ease;
}
.order-nav-arrow svg{width:22px;height:22px}
.order-nav-arrow.is-prev{left:22px}
.order-nav-arrow.is-next{right:22px}
.order-nav-arrow:hover{
  color:var(--accent);
  border-color:color-mix(in srgb, var(--accent) 45%, var(--border));
  background:color-mix(in srgb, var(--accent) 9%, var(--surface-solid,#12161c));
  transform:translateY(-50%) scale(1.07);
}
.order-nav-arrow:active{transform:translateY(-50%) scale(.95)}
.order-nav-pos{
  pointer-events:none;
  position:absolute; bottom:16px; left:50%; transform:translateX(-50%); z-index:410;
  font-size:10.5px; color:var(--muted); padding:5px 13px; border-radius:999px;
  border:1px solid var(--border);
  background:color-mix(in srgb, var(--surface-solid,#12161c) 80%, transparent);
  backdrop-filter:blur(10px);
  font-variant-numeric:tabular-nums; white-space:nowrap;
}
.order-nav-pos b{color:var(--text);font-weight:800}
.order-nav-pos span{margin-left:7px;opacity:.65}
/* Gezinme kapsamı rozeti (Takip Kartları'ndan açılınca). Hap tıklamayı
   geçirir; yalnız × düğmesi tıklanır. */
.order-nav-pos .order-nav-scope{display:inline-flex;align-items:center;gap:5px;margin-left:8px;padding:2px 3px 2px 8px;border:1px solid color-mix(in srgb,var(--accent) 35%,var(--border));border-radius:999px;background:var(--accent-soft);color:var(--accent);font-style:normal;font-weight:600}
.order-nav-pos .order-nav-scope svg{width:11px;height:11px;stroke-width:2}
.order-nav-pos .order-nav-scope svg{flex:0 0 auto}
.order-nav-pos .order-nav-scope-label{margin:0;opacity:1;max-width:min(42vw,340px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.order-nav-pos .order-nav-scope button{pointer-events:auto;width:18px;height:18px;display:inline-grid;place-items:center;padding:0;border:0;border-radius:50%;background:transparent;color:inherit;font:600 13px/1 var(--font);cursor:pointer}
.order-nav-pos .order-nav-scope button:hover{background:color-mix(in srgb,var(--accent) 18%,transparent)}
@media (max-width:760px){ .order-nav-arrow, .order-nav-pos{display:none} }
/* Oklar kenardan 22px içeride ve 46px genişliğinde. Modal ise ekranı 24px
   boşlukla doldurduğu için ~1316px'in altında oklar kumaş özetinin ve tablonun
   üstüne biniyordu (1024px'te "KUMAŞ" değeri tamamen örtülüyordu). Oklar
   görünürken modal okların yanına sığacak kadar daralır. */
@media (min-width:761px){
  #orderModal:has(#orderNavPrev:not([hidden])) .order-modal,
  #orderModal:has(#orderNavNext:not([hidden])) .order-modal{ width:min(1180px,calc(100vw - 148px)); }
}

/* --- Takvim notu önizleme kartı (nota tıklayınca önce bu açılır) --- */
.planner-preview-layer { z-index:31; }
.planner-preview { width:min(430px,calc(100vw - 36px)); max-height:calc(100vh - 80px); overflow:auto; outline:0; padding:15px 17px; border:1px solid var(--border); border-left:4px solid var(--planner-preview-color,var(--accent)); border-radius:16px; background:var(--surface-solid,#fff); box-shadow:0 24px 65px rgba(0,0,0,.28); animation:plannerEditorIn .18s cubic-bezier(.2,.8,.2,1); }
.planner-preview-head { display:flex; align-items:flex-start; gap:9px; }
.planner-preview-dot { flex:0 0 auto; width:11px; height:11px; margin-top:5px; border-radius:4px; background:var(--planner-preview-color,var(--accent)); }
.planner-preview-heading { min-width:0; flex:1; display:grid; gap:2px; }
.planner-preview-heading strong { color:var(--text); font-size:14px; line-height:1.3; overflow-wrap:break-word; }
.planner-preview-heading small { color:var(--muted); font-size:10px; }
.planner-preview-close { flex:0 0 auto; width:30px; height:30px; padding:0; border:0; border-radius:50%; background:transparent; color:var(--muted); font-size:20px; cursor:pointer; }
.planner-preview-close:hover { background:rgba(127,127,127,.1); color:var(--text); }
.planner-preview-tags { display:flex; flex-wrap:wrap; gap:5px; margin-top:9px; }
.planner-preview-tags span { padding:3px 8px; border-radius:999px; background:rgba(127,127,127,.09); color:var(--muted); font-size:9px; font-weight:750; }
.planner-preview-tags .is-customer { background:var(--accent-soft); color:var(--accent); }
.planner-preview-reminder { margin-top:9px; padding:7px 10px; border:1px solid rgba(245,158,11,.3); border-radius:10px; background:rgba(245,158,11,.08); color:#b45309; font-size:10px; font-weight:700; }
html[data-theme="dark"] .planner-preview-reminder { color:#fbbf24; }
.planner-preview-body { margin:10px 0 0; color:var(--text); font-size:11.5px; line-height:1.5; white-space:pre-wrap; overflow-wrap:break-word; }
.planner-preview-link { display:inline-flex; align-items:center; gap:5px; margin-top:10px; padding:6px 10px; border:1px solid var(--border); border-radius:9px; background:var(--surface-solid,#fff); color:var(--accent); font:750 10px inherit; cursor:pointer; }
.planner-preview-link:hover { border-color:var(--accent); }
.planner-preview .planner-preview-photos { margin-top:10px; }
.planner-preview-actions { display:flex; align-items:center; justify-content:flex-end; gap:8px; margin-top:13px; padding-top:11px; border-top:1px solid var(--border); }
.planner-preview-actions > span { margin-right:auto; color:var(--muted); font-size:9.5px; }
.planner-preview-actions .planner-save-btn { min-width:0; }
.planner-preview-delete { margin-right:auto; min-height:34px; padding:6px 12px; border:1px solid rgba(215,0,21,.2); border-radius:999px; background:transparent; color:#d70015; font:750 10.5px inherit; cursor:pointer; }
.planner-preview-delete:hover { background:#d70015; border-color:#d70015; color:#fff; }
html[data-theme="dark"] .planner-preview-delete { color:#ff6961; border-color:rgba(255,69,58,.28); }
html[data-theme="dark"] .planner-preview { background:#202023; }

/* ─── Yeni Ticket · Kalite / Fiyat / Sevkiyat niyet akışı ─── */

.ticket-intent-shell {
  position:relative;
  min-height:246px;
  padding:8px;
  border:1px solid color-mix(in srgb,var(--border) 82%,transparent);
  border-radius:22px;
  background:
    radial-gradient(circle at 50% -25%,color-mix(in srgb,var(--accent) 8%,transparent),transparent 55%),
    color-mix(in srgb,var(--surface-solid,#fff) 78%,transparent);
  overflow:hidden;
}
.ticket-intent-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  min-height:228px;
}
.ticket-intent-grid.is-leaving .ticket-intent-card {
  pointer-events:none;
  animation:ticketIntentCardOut .25s cubic-bezier(.4,0,1,1) both;
}
.ticket-intent-grid.is-leaving .ticket-intent-card:nth-child(2) { animation-delay:.025s; }
.ticket-intent-grid.is-leaving .ticket-intent-card:nth-child(3) { animation-delay:.05s; }
.ticket-category-stage[hidden],
.ticket-priority-prompt[hidden] { display:none!important; }

.ticket-intent-card.is-price { --intent:#ef7d3d; --intent-soft:rgba(239,125,61,.12); }
.ticket-intent-card.is-shipping { --intent:#168f88; --intent-soft:rgba(22,143,136,.12); }
.ticket-intent-card.is-near {
  border-color:color-mix(in srgb,var(--intent) 48%,var(--border));
  box-shadow:inset 0 1px rgba(255,255,255,.84),0 18px 38px color-mix(in srgb,var(--intent) 16%,transparent);
  outline:0;
  transform:translateY(-4px);
}
.ticket-intent-card.is-near::before { opacity:.8; animation:ticketIntentHalo 4.8s linear infinite; }
.ticket-intent-card.is-near::after { box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--intent) 17%,transparent); }

.ticket-intent-card.is-near .ticket-intent-visual svg {
  transform:translateY(-3px) scale(1.055);
  filter:drop-shadow(0 17px 18px color-mix(in srgb,var(--intent) 24%,transparent));
}

.ticket-intent-card.is-near .ticket-intent-arrow { transform:translate(2px,-2px); background:color-mix(in srgb,var(--intent) 18%,transparent); }

/* Kalite SVG */

/* Fiyat SVG */

.ticket-intent-card.is-price:hover .c2,
.ticket-intent-card.is-price.is-near .c2,
.ticket-intent-card.is-price:focus-visible .c2 { animation-delay:.25s; }

/* Sevkiyat SVG */

@keyframes ticketIntentHalo { to { transform:rotate(335deg); } }
@keyframes ticketIntentCardOut { to { opacity:0; transform:translateY(10px) scale(.96); filter:blur(3px); } }
@keyframes qualityOrbit { to { stroke-dashoffset:-44; } }
@keyframes qualityScan { 0%,100% { opacity:0; transform:translateY(-5px); } 35%,65% { opacity:.9; } 50% { transform:translateY(30px); } }
@keyframes qualityCheck { 0%,25% { stroke-dashoffset:30; opacity:.3; } 55%,100% { stroke-dashoffset:0; opacity:1; } }
@keyframes priceTag { 0%,100% { transform:translateY(0) rotate(0); } 50% { transform:translateY(-3px) rotate(-1.4deg); } }
@keyframes priceCoin { to { transform:translateY(-6px); opacity:1; } }
@keyframes shippingTruckRide {
  0%,100% { transform:translate(0,0) rotate(0); }
  24% { transform:translate(2px,-1px) rotate(-.35deg); }
  52% { transform:translate(6px,.4px) rotate(.25deg); }
  76% { transform:translate(3px,-.7px) rotate(-.18deg); }
}
@keyframes shippingWheelSpin { to { transform:rotate(360deg); } }
@keyframes shippingRoad { to { stroke-dashoffset:-24; } }
@keyframes shippingSpeedLine {
  0%,100% { opacity:.16; transform:translateX(5px) scaleX(.68); }
  48% { opacity:.72; transform:translateX(-3px) scaleX(1); }
}

/* Ana seçimden sonraki kategori + öncelik paneli */
.ticket-category-stage {
  min-height:228px;
  padding:10px 12px 12px;
  animation:ticketCategoryStageIn .36s cubic-bezier(.2,.8,.2,1) both;
}
@keyframes ticketCategoryStageIn { from { opacity:0; transform:translateY(10px) scale(.985); } to { opacity:1; transform:none; } }

.ticket-category-list.cat-grid {
  grid-template-columns:1fr;
  gap:7px;
  margin-top:11px;
}
.ticket-category-list .ticket-category-row {
  width:100%;
  min-height:58px;
  display:grid;
  grid-template-columns:38px minmax(0,1fr) 28px;
  align-items:center;
  gap:11px;
  padding:8px 10px;
  border:1px solid var(--border);
  border-radius:13px;
  color:var(--text);
  background:color-mix(in srgb,var(--surface-solid,#fff) 86%,transparent);
  box-shadow:none;
  cursor:pointer;
  text-align:left;
  transition:transform .2s ease,border-color .2s ease,background .2s ease,box-shadow .2s ease;
}
.ticket-category-list .ticket-category-row:hover {
  transform:translateX(3px);
  border-color:color-mix(in srgb,var(--category-color) 35%,var(--border));
  background:color-mix(in srgb,var(--category-color) 5%,var(--surface-solid,#fff));
}
.ticket-category-list .ticket-category-row.selected {
  border-color:color-mix(in srgb,var(--intent-color) 52%,var(--border));
  background:color-mix(in srgb,var(--intent-color) 9%,var(--surface-solid,#fff));
  box-shadow:0 8px 20px color-mix(in srgb,var(--intent-color) 10%,transparent);
}
.ticket-category-list .ticket-category-row.selected::after { display:none; }
.ticket-category-row-icon {
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  border-radius:11px;
  color:var(--category-color);
  background:color-mix(in srgb,var(--category-color) 10%,transparent);
}
.ticket-category-row-icon svg { width:19px; height:19px; color:inherit; stroke-width:1.8; }
.ticket-category-row-copy { display:flex; min-width:0; flex-direction:column; }
.ticket-category-row-copy strong { overflow:hidden; color:var(--text); font-size:12.5px; font-weight:720; text-overflow:ellipsis; white-space:nowrap; }

.ticket-category-row-check {
  width:27px;
  height:27px;
  display:grid;
  place-items:center;
  border-radius:9px;
  color:var(--muted);
  background:rgba(127,127,127,.07);
  font-size:15px;
  font-weight:800;
}
.ticket-category-row.selected .ticket-category-row-check { color:#fff; background:var(--intent-color); }
.ticket-category-manage {
  min-height:38px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  border:1px dashed var(--border);
  border-radius:11px;
  color:var(--muted);
  background:transparent;
  font:650 10.5px inherit;
  cursor:pointer;
}
.ticket-category-manage:hover { color:var(--intent-color); border-color:var(--intent-color); }
.ticket-category-manage svg { width:14px; height:14px; }
.ticket-priority-prompt {
  margin-top:13px;
  padding:13px;
  border:1px solid color-mix(in srgb,var(--intent-color) 20%,var(--border));
  border-radius:15px;
  background:linear-gradient(135deg,color-mix(in srgb,var(--intent-color) 6%,var(--surface-solid,#fff)),var(--surface-solid,#fff));
  animation:ticketPriorityIn .28s cubic-bezier(.2,.8,.2,1) both;
}
@keyframes ticketPriorityIn { from { opacity:0; transform:translateY(-5px); } to { opacity:1; transform:none; } }
.ticket-priority-head { display:flex; align-items:baseline; justify-content:space-between; gap:12px; margin-bottom:9px; }
.ticket-priority-head span { color:var(--text); font-size:11.5px; font-weight:750; }
.ticket-priority-head small { color:var(--muted); font-size:9px; }
.ticket-priority-options { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:7px; }
.ticket-priority-options .prio-pill {
  min-width:0;
  min-height:49px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  gap:2px;
  padding:7px 10px;
  border-width:1px;
  border-radius:11px;
  text-align:left;
}
.ticket-priority-options .prio-pill span { font-size:10.5px; font-weight:750; }
.ticket-priority-options .prio-pill small { color:inherit; font-size:8px; font-weight:550; opacity:.7; }

.ticket-selection-check {
  width:25px;
  height:25px;
  display:grid;
  place-items:center;
  flex:0 0 auto;
  border-radius:8px;
  color:#fff;
  background:var(--intent-color);
  font-size:12px;
  font-weight:900;
}

html[data-theme="dark"] .ticket-intent-shell { background:radial-gradient(circle at 50% -25%,color-mix(in srgb,var(--accent) 11%,transparent),transparent 55%),rgba(28,28,30,.72); }

html[data-theme="dark"] .ticket-intent-card.is-near { box-shadow:inset 0 1px rgba(255,255,255,.08),0 18px 38px color-mix(in srgb,var(--intent) 17%,rgba(0,0,0,.2)); }

html[data-theme="dark"] .ticket-category-list .ticket-category-row { background:#242426; }
html[data-theme="dark"] .ticket-category-list .ticket-category-row:hover { background:color-mix(in srgb,var(--category-color) 11%,#242426); }
html[data-theme="dark"] .ticket-category-list .ticket-category-row.selected { background:color-mix(in srgb,var(--intent-color) 15%,#242426); }
html[data-theme="dark"] .ticket-priority-prompt { background:linear-gradient(135deg,color-mix(in srgb,var(--intent-color) 11%,#242426),#242426); }

@media (max-width:760px) {
  
  .ticket-intent-grid { grid-template-columns:1fr; min-height:0; }

  .ticket-priority-options { grid-template-columns:1fr; }
  .ticket-priority-options .prio-pill { min-height:45px; }
  .ticket-priority-head { align-items:flex-start; flex-direction:column; gap:2px; }
}
@media (prefers-reduced-motion:reduce) {
  .ticket-category-stage,
.ticket-priority-prompt { animation:none!important; transition:none!important; }
}

/* ─── Ticket bağlamı · tüm sipariş veya spesifik kumaşlar ───
   Kapsam seçimi çubuktan inen listenin İÇİNDE yapılır: sipariş satırının
   içine girilip kumaş seçilir. Çubuğun altında yalnız tek satırlık rozet kalır. */
.ticket-selected-orders {
  display:flex;
  flex-wrap:wrap;
  gap:7px;
}
.ticket-selected-empty { width:100%; }
.ticket-target-mini {
  
  overflow:hidden;
  
  border:1px solid rgba(113,66,212,.16);
  border-radius:999px;
  color:#7142d4;
  background:rgba(113,66,212,.07);
  
  font-weight:750;
  text-overflow:ellipsis;
  white-space:nowrap;
}

/* Ticket detayındaki tıklanabilir sipariş → kumaş bağlamı */
.tk-scope-panel {
  display:grid;
  grid-template-columns:180px minmax(0,1fr);
  gap:14px;
  padding:11px 18px;
  border-top:1px solid var(--border);
  border-bottom:1px solid var(--border);
  background:linear-gradient(90deg,rgba(113,66,212,.055),transparent 62%);
  flex-shrink:0;
}
.tk-scope-panel-label { display:flex; flex-direction:column; justify-content:center; }
.tk-scope-panel-label span { color:#7142d4; font-size:9px; font-weight:850; letter-spacing:.1em; text-transform:uppercase; }

.tk-scope-orders { display:grid; gap:7px; }
.tk-scope-order { min-width:0; }
.tk-scope-order-route {
  display:grid;
  grid-template-columns:auto 12px minmax(0,1fr);
  align-items:center;
  gap:7px;
}

.tk-scope-order-link {
  max-width:165px;
  overflow:hidden;
  padding:7px 9px;
  border:1px solid var(--border);
  border-radius:9px;
  color:var(--text);
  background:var(--surface-solid,#fff);
  font:800 10px var(--font-numeric);
  text-overflow:ellipsis;
  white-space:nowrap;
  cursor:pointer;
}
.tk-scope-order-link:hover { color:#0071e3; border-color:rgba(0,113,227,.3); }
.tk-scope-target {
  min-width:0;
  display:grid;
  grid-template-columns:25px minmax(0,1fr) auto;
  align-items:center;
  gap:8px;
  padding:6px 8px;
  border:1px solid var(--border);
  border-radius:10px;
  color:var(--text);
  background:var(--surface-solid,#fff);
  text-align:left;
}
.tk-scope-target.is-editable { cursor:pointer; }
.tk-scope-target.is-editable:hover { border-color:rgba(113,66,212,.35); background:rgba(113,66,212,.055); }
.tk-scope-target>i {
  width:25px;
  height:25px;
  display:grid;
  place-items:center;
  border-radius:8px;
  color:#0071e3;
  background:rgba(0,113,227,.08);
  font-size:9px;
  font-style:normal;
}
.tk-scope-target.is-specific>i { color:#7142d4; background:rgba(113,66,212,.1); }
.tk-scope-target>span { display:flex; min-width:0; flex-direction:column; }
.tk-scope-target strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.tk-scope-target strong { font-size:10.5px; font-weight:800; }

.tk-scope-target>b { color:#7142d4; font-size:8px; font-weight:800; }
.tk-scope-editor {
  margin-top:8px;
  padding:10px;
  border:1px solid rgba(113,66,212,.25);
  border-radius:12px;
  background:var(--surface-solid,#fff);
  box-shadow:0 12px 30px rgba(39,23,75,.1);
  animation:ticketScopePickerIn .2s ease both;
}
.tk-scope-editor-head { display:flex; align-items:baseline; gap:9px; margin-bottom:8px; }
.tk-scope-editor-head span { color:var(--text); font-size:10.5px; font-weight:800; }
.tk-scope-editor-head small { color:var(--muted); font-size:8px; }
.tk-scope-choice-list { display:grid; grid-template-columns:repeat(auto-fill,minmax(215px,1fr)); gap:7px; margin-top:8px; }
.tk-scope-choice {
  width:100%;
  min-width:0;
  min-height:48px;
  display:grid;
  grid-template-columns:21px minmax(0,1fr);
  align-items:center;
  gap:8px;
  padding:8px 10px;
  border:1px solid var(--border);
  border-radius:10px;
  color:var(--text);
  background:var(--bg);
  text-align:left;
  cursor:pointer;
}
.tk-scope-choice.selected { border-color:rgba(113,66,212,.38); background:rgba(113,66,212,.07); }
.tk-scope-choice>i {
  width:19px;
  height:19px;
  display:grid;
  place-items:center;
  border:1px solid var(--border);
  border-radius:6px;
  color:#fff;
  font-size:9px;
  font-style:normal;
  font-weight:900;
}
.tk-scope-choice.is-all>i { border-radius:50%; }
.tk-scope-choice.selected>i { border-color:#7142d4; background:#7142d4; }
.tk-scope-choice>span { display:flex; min-width:0; flex-direction:column; }
.tk-scope-choice small { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; margin-top:2px; color:var(--muted); font-size:8.5px; }
.tk-scope-choice strong {
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  overflow:hidden;
  font-size:11px;
  font-weight:700;
  line-height:1.3;
  letter-spacing:.01em;
}
.tk-scope-choice-empty { padding:11px; border:1px dashed var(--border); border-radius:9px; color:var(--muted); font-size:8.5px; text-align:center; }
.tk-scope-editor-actions { display:flex; justify-content:flex-end; gap:7px; margin-top:9px; padding-top:8px; border-top:1px solid var(--border); }
.tk-scope-editor-actions button {
  min-height:31px;
  padding:0 11px;
  border:1px solid var(--border);
  border-radius:8px;
  color:var(--muted);
  background:var(--bg);
  font:750 9px inherit;
  cursor:pointer;
}
.tk-scope-editor-actions .is-primary { border-color:#7142d4; color:#fff; background:#7142d4; }

html[data-theme="dark"] .tk-scope-order-link,
html[data-theme="dark"] .tk-scope-target,
html[data-theme="dark"] .tk-scope-editor { background:#242426; }
html[data-theme="dark"] .tk-scope-choice,
html[data-theme="dark"] .tk-scope-editor-actions button { background:#1f1f21; }
html[data-theme="dark"] .ticket-target-mini,
html[data-theme="dark"] .tk-scope-panel { background:linear-gradient(90deg,rgba(139,92,246,.1),transparent 64%); }
html[data-theme="dark"] .tk-scope-panel-label span,
html[data-theme="dark"] .tk-scope-target>b { color:#b99aff; }

@media (max-width:760px) {
  .ticket-selected-orders { gap:6px; }
  .tk-scope-panel { grid-template-columns:1fr; gap:8px; padding:10px 13px; }
  .tk-scope-order-route { grid-template-columns:1fr; gap:5px; }
  
  .tk-scope-order-link { max-width:none; width:100%; text-align:left; }
  .tk-scope-choice-list { grid-template-columns:1fr; }
}
@media (prefers-reduced-motion:reduce) {
  .tk-scope-editor { animation:none!important; }
}

/* ── Ticket çalışma alanı v3 — izleme listesinin sakin, katmanlı dili ── */
#ticketModal .ticket-detail-modal {
  position:relative;
  width:min(980px,calc(100vw - 36px));
  height:min(820px,calc(100dvh - 32px));
  max-height:calc(100dvh - 32px);
  border:1px solid color-mix(in srgb,var(--ticket-modal-accent) 20%,var(--border));
  border-radius:30px;
  background:var(--surface-solid,#fff);
  box-shadow:0 42px 110px rgba(3,10,20,.34);
  isolation:isolate;
}
#ticketModal .ticket-detail-modal::before {
  content:"";
  position:absolute;
  z-index:3;
  inset:0 0 auto;
  height:4px;
  border-radius:30px 30px 0 0;
  background:linear-gradient(90deg,var(--ticket-modal-accent),color-mix(in srgb,var(--ticket-modal-accent) 42%,#7c6cf2),transparent 84%);
  pointer-events:none;
}
#ticketModalBody { background:transparent; }

#ticketModal .tk-scope-panel {
  grid-template-columns:145px minmax(0,1fr);
  gap:12px;
  padding:10px 16px;
  border-top:1px solid var(--border);
  border-bottom:0;
  background:linear-gradient(90deg,rgba(113,66,212,.06),transparent 58%);
}
#ticketModal .tk-scope-panel-label span { font-size:8.5px; }

#ticketModal .tk-scope-order-link { min-height:36px; border-radius:10px; }
#ticketModal .tk-scope-target { min-height:36px; border-radius:11px; }

#ticketModal .reply-bubble {
  max-width:min(76%,660px);
  padding:11px 14px 10px;
  border-radius:16px;
  font-size:12.5px;
  line-height:1.48;
  box-shadow:0 8px 20px rgba(15,35,65,.055);
}
#ticketModal .reply-mine {
  border:1px solid color-mix(in srgb,var(--ticket-modal-accent) 70%,transparent);
  border-bottom-right-radius:5px;
  background:linear-gradient(135deg,color-mix(in srgb,var(--ticket-modal-accent) 92%,#0a84ff),var(--ticket-modal-accent));
}

#ticketModal .reply-meta {
  margin-top:5px;
  font-size:9px;
  font-weight:580;
}

#ticketModal .tk-composer {
  position:relative;
  flex:0 0 auto;
  margin:0 18px 16px;
  padding:10px;
  border:1px solid var(--border);
  border-top-color:var(--border);
  border-radius:0 0 20px 20px;
  background:color-mix(in srgb,var(--surface-solid,#fff) 92%,var(--bg));
  box-shadow:0 12px 28px rgba(15,35,65,.06);
}
#ticketModal .tk-composer-row { gap:8px; }
#ticketModal .tk-composer textarea {
  min-height:48px;
  max-height:100px;
  padding:13px 15px;
  border:1px solid var(--border);
  border-radius:14px;
  background:var(--surface-solid,#fff);
  font-size:12px;
  line-height:1.45;
  resize:none;
}
#ticketModal .tk-photo-btn {
  min-height:48px;
  border-radius:14px;
}
#ticketModal .tk-photo-btn { width:48px; background:var(--surface-solid,#fff); }

html[data-theme="dark"] #ticketModal .ticket-detail-modal {
  border-color:color-mix(in srgb,var(--ticket-modal-accent) 32%,rgba(255,255,255,.09));
  background:#1c1c1e;
  box-shadow:0 46px 120px rgba(0,0,0,.62);
}

html[data-theme="dark"] #ticketModal .tk-composer {
  border-color:rgba(255,255,255,.085);
  background:#202124;
  box-shadow:0 12px 30px rgba(0,0,0,.16);
}

html[data-theme="dark"] #ticketModal .tk-scope-panel {
  border-color:rgba(255,255,255,.075);
  background:linear-gradient(90deg,rgba(139,92,246,.11),transparent 62%);
}

html[data-theme="dark"] #ticketModal .tk-composer textarea,
html[data-theme="dark"] #ticketModal .tk-photo-btn {
  border-color:rgba(255,255,255,.09);
  background:#292b2f;
}

@media (max-width:760px) {
  #ticketModal .ticket-detail-modal {
    width:calc(100vw - 16px);
    height:calc(100dvh - 16px);
    max-height:calc(100dvh - 16px);
    border-radius:22px;
  }
  #ticketModal .ticket-detail-modal::before { border-radius:22px 22px 0 0; }

  #ticketModal .tk-scope-panel { grid-template-columns:1fr; padding:9px 12px; }

  #ticketModal .reply-bubble { max-width:88%; }
  #ticketModal .tk-composer { margin-right:8px; margin-bottom:8px; margin-left:8px; }

}

@media (max-height:700px) and (min-width:761px) {
  #ticketModal .ticket-detail-modal { height:calc(100dvh - 20px); max-height:calc(100dvh - 20px); }

}

@media (prefers-reduced-motion:reduce) {
  #ticketModal .ticket-detail-modal *,
  #ticketModal .ticket-detail-modal *::before,
  #ticketModal .ticket-detail-modal *::after { scroll-behavior:auto!important; }
}

/* ── Ticket yüzeyleri v4 — yoğun bilgi, daha az satır, tek tema ── */

.ticket {
  grid-template-columns:minmax(0,1fr) 112px 106px;
  grid-template-rows:minmax(0,1fr) 22px;
  gap:4px 10px;
  height:94px;
  min-height:94px;
  max-height:94px;
  padding:9px 11px 7px 16px;
  border-width:1px!important;
  border-radius:18px;
  background:
    radial-gradient(circle at 0 0,var(--ticket-accent-soft),transparent 34%),
    var(--ticket-card-bg);
  box-shadow:0 8px 22px rgba(15,35,65,.045);
}
.ticket::before { width:3px; border-radius:18px 0 0 18px; }
.ticket.is-open,
.ticket.has-prio-2,
.ticket.has-prio-3 { border-left-width:1px!important; }
.ticket.has-prio-3 { animation:none; }
.ticket:hover {
  transform:translateY(-1px);
  box-shadow:0 14px 30px rgba(15,35,65,.085);
}
.ticket-main {
  grid-template-rows:23px 22px;
  gap:4px;
  align-content:center;
}
.ticket-msg {
  min-height:23px;
  max-height:23px;
  gap:7px;
}
.ticket-msg .ticket-cat {
  min-height:22px;
  padding:3px 8px;
  font-size:9.5px;
}
.ticket-msg-text {
  color:var(--text);
  font-size:12.5px;
  font-weight:730;
  letter-spacing:-.008em;
}

.ticket-idline { gap:6px; }
.ticket-no-badge {
  min-height:21px;
  padding:0 7px;
  border-radius:8px;
  font-size:9.5px;
}
.ticket-sip-wrap {
  gap:3px;
  font-size:11px;
  font-weight:680;
}
.ticket-sipno {
  max-width:180px;
  font-size:11px;
  font-weight:760;
}
.ticket-target-mini {
  max-width:155px;
  padding:2px 7px;
  font-size:8px;
}
.ticket-route-wrap { gap:5px; }
.ticket-route-wrap .ticket-reply-count {
  min-height:20px;
  padding:2px 6px;
  font-size:8px;
}
.ticket-route-stamp {
  grid-template-columns:38px 12px 38px;
  gap:2px;
  min-width:90px;
  height:31px;
}
.ticket-route-office { width:38px; gap:1px; }
.ticket-route-code { font-size:13px; line-height:14px; }
.ticket-route-name { font-size:6.5px; line-height:7px; }
.ticket-route-arrow { font-size:11px; line-height:14px; }
.ticket-aside {
  min-width:0;
  padding-left:8px;
}
.ticket-aside::before { top:5px; bottom:5px; opacity:.3; }
.ticket-action-row { gap:5px; }
.ticket-more-btn,
.ticket-action-row .ticket-status {
  min-height:29px;
  height:29px;
}
.ticket-more-btn { width:29px; min-width:29px; border-radius:10px; }
.ticket-action-row .ticket-status {
  padding:0 9px;
  font-size:9.5px;
}
.ticket-foot {
  gap:10px;
  padding-top:4px;
  border-top-color:color-mix(in srgb,var(--ticket-card-border) 72%,transparent);
}
.ticket-context {
  min-height:14px;
  max-height:14px;
  gap:5px;
}
.ticket-context .ticket-author,
.ticket-context .ticket-task-note {
  font-size:9px;
  font-weight:650;
}
.ticket-context-dot { width:4px; height:4px; flex-basis:4px; }
.ticket-time {
  gap:5px;
  font-size:8.5px;
  font-weight:650;
}
.ticket-time .ticket-updated,
.ticket-time-sep { display:none; }
.ticket-age {
  padding:1px 6px;
  font-size:8px;
}

/* Bağlam editörü: başlık üstte, kumaş kartları ferah bir grid'de, aksiyonlar altta. */
#ticketModal .tk-scope-panel:has(.tk-scope-editor) {
  grid-template-columns:125px minmax(0,1fr);
  align-items:start;
}
#ticketModal .tk-scope-editor {
  margin-top:8px;
  padding:12px 13px;
  border-radius:14px;
  box-shadow:0 8px 20px rgba(39,23,75,.07);
}
#ticketModal .tk-scope-editor-head { margin-bottom:2px; }
#ticketModal .tk-scope-editor-head span { font-size:11px; }
#ticketModal .tk-scope-editor-head small { font-size:8.5px; }
#ticketModal .tk-scope-editor-actions {
  justify-content:flex-end;
  margin-top:11px;
  padding-top:10px;
  border-top:1px solid var(--border);
}
#ticketModal .tk-scope-editor-actions button {
  min-height:34px;
  padding:0 13px;
  border-radius:10px;
  font-size:10px;
}
#ticketModal .tk-scope-editor-actions .is-primary {
  box-shadow:0 7px 16px rgba(113,66,212,.18);
}

html[data-theme="dark"] .ticket {
  --ticket-card-bg:linear-gradient(180deg,#24262a,#202226);
  --ticket-card-border:rgba(255,255,255,.085);
  background:
    radial-gradient(circle at 0 0,var(--ticket-accent-soft),transparent 36%),
    var(--ticket-card-bg);
  box-shadow:0 9px 24px rgba(0,0,0,.17);
}
html[data-theme="dark"] .ticket:hover {
  background:
    radial-gradient(circle at 0 0,var(--ticket-accent-soft),transparent 40%),
    linear-gradient(180deg,#292b2f,#24262a);
  box-shadow:0 15px 32px rgba(0,0,0,.25);
}
html[data-theme="dark"] #ticketModal .tk-scope-editor {
  border-color:rgba(185,154,255,.22);
  background:#25272b;
}

@media (max-width:980px) {
  .ticket { grid-template-columns:minmax(0,1fr) 92px 98px; }
  .ticket-route-stamp { grid-template-columns:34px 10px 34px; min-width:80px; }
  .ticket-route-office { width:34px; }
}

@media (max-width:760px) {
  .ticket {
    grid-template-columns:minmax(0,1fr) 82px;
    grid-template-rows:auto auto 20px;
    height:auto;
    min-height:112px;
    max-height:none;
    padding:9px 10px 7px 15px;
  }
  .ticket-route-wrap { grid-column:2; grid-row:1; }
  .ticket-aside { grid-column:1/-1; grid-row:2; height:auto; padding:2px 0 0; }
  .ticket-aside::before { display:none; }
  .ticket-action-row { width:100%; justify-content:flex-end; }
  .ticket-foot { grid-row:3; }
  #ticketModal .tk-scope-panel:has(.tk-scope-editor) { grid-template-columns:1fr; }
  #ticketModal .tk-scope-choice-list { grid-template-columns:1fr; }
}

/* ── Kumaş kimliği: renk yoksa kilogram temel ayırt edici ── */
.ticket-fabric-meta {
  display:flex!important;
  align-items:center;
  gap:6px;
  min-width:0;
  margin-top:3px!important;
  overflow:visible!important;
  color:var(--muted);
  line-height:1.2;
}
.ticket-fabric-meta>span {
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.ticket-fabric-meta>b {
  flex:0 0 auto;
  padding:2px 6px;
  border:1px solid color-mix(in srgb,var(--accent) 24%,var(--border));
  border-radius:999px;
  color:var(--accent);
  background:color-mix(in srgb,var(--accent) 8%,var(--surface-solid,#fff));
  font:800 8.5px var(--font-numeric);
  letter-spacing:.015em;
}
#ticketModal .tk-scope-choice { min-height:52px; }
#ticketModal .tk-scope-choice strong { font-weight:780; }

/* ── Yeni ticket sağ rayı: profil ve dağıtım kartları ── */

html[data-theme="dark"] .ticket-fabric-meta>b {
  background:color-mix(in srgb,var(--accent) 12%,#202226);
}

@media (max-width:1180px) and (min-width:761px) {
  .tk-rail {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .tk-rail .ticket-cart-card { grid-column:1/-1; }
}

/* ── Ticket kartı v5 — eski satır kartı değil, yeni çalışma alanının minyatürü ── */
.ticket,
#page-tickets .ticket {
  --ticket-card-bg:var(--surface-solid,#fff);
  display:grid;
  grid-template-columns:minmax(0,1fr);
  grid-template-rows:27px minmax(0,1fr) 20px;
  gap:6px;
  height:112px;
  min-height:112px;
  max-height:112px;
  padding:10px 12px 8px;
  overflow:visible;
  border:1px solid color-mix(in srgb,var(--ticket-accent) 14%,var(--border))!important;
  border-radius:18px;
  background:
    radial-gradient(circle at 0 0,var(--ticket-accent-soft),transparent 33%),
    var(--ticket-card-bg);
  box-shadow:0 10px 28px rgba(15,35,65,.06);
}
.ticket::before {
  inset:0 14px auto;
  width:auto;
  height:3px;
  border-radius:0 0 999px 999px;
  background:linear-gradient(90deg,var(--ticket-accent),color-mix(in srgb,var(--ticket-accent) 28%,transparent));
}
.ticket:hover {
  transform:translateY(-2px);
  border-color:color-mix(in srgb,var(--ticket-accent) 34%,var(--border))!important;
  box-shadow:0 17px 36px rgba(15,35,65,.11);
}
.ticket-card-topbar {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  min-width:0;
}
.ticket-card-kicker {
  min-width:0;
  display:flex;
  align-items:center;
  gap:6px;
  overflow:hidden;
}
.ticket-card-kicker .ticket-no-badge {
  min-height:22px;
  flex:0 0 auto;
  padding:0 7px;
  border:0;
  border-radius:7px;
  color:var(--ticket-accent);
  background:var(--ticket-accent-soft);
  font-size:9px;
}
.ticket-card-kicker .ticket-cat {
  min-height:22px;
  max-width:220px;
  padding:3px 8px;
  border-radius:8px;
  font-size:9px;
}
.ticket-card-kicker .ticket-reply-count {
  min-height:20px;
  padding:2px 6px;
  border:0;
  background:color-mix(in srgb,var(--muted) 7%,transparent)!important;
  font-size:7.5px;
}
.ticket-card-topbar .ticket-aside {
  position:relative;
  min-width:0;
  width:auto;
  height:auto;
  padding:0;
  overflow:visible;
}
#page-tickets .ticket-card-topbar .ticket-aside {
  min-width:0;
  width:auto;
  height:auto;
  padding:0;
}
.ticket-card-topbar .ticket-aside::before { display:none; }
.ticket-card-topbar .ticket-action-row { gap:5px; }
#page-tickets .ticket-card-topbar .ticket-action-row { gap:5px; }
.ticket-card-topbar .ticket-more-btn {
  width:27px;
  min-width:27px;
  height:27px;
  min-height:27px;
  border-radius:9px;
  box-shadow:none;
}
.ticket-card-topbar .ticket-status {
  height:27px;
  min-height:27px;
  padding:0 9px;
  border-color:color-mix(in srgb,var(--ticket-accent) 20%,var(--border));
  color:var(--ticket-accent);
  background:var(--ticket-accent-soft);
  font-size:8.5px;
  font-weight:780;
}
.ticket-card-topbar .ticket-status-dot {
  width:5px;
  height:5px;
  box-shadow:0 0 0 2px color-mix(in srgb,currentColor 16%,transparent);
}
.ticket-card-core {
  min-width:0;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:10px;
}
.ticket-card-core .ticket-main {
  height:auto;
  display:grid;
  grid-template-rows:23px 20px;
  align-content:center;
  gap:3px;
}
.ticket-card-core .ticket-msg {
  min-height:23px;
  max-height:23px;
}
.ticket-card-core .ticket-msg-text {
  color:var(--text);
  font-size:12.5px;
  font-weight:760;
  letter-spacing:-.012em;
}
.ticket-card-core .ticket-idline { gap:6px; }
.ticket-card-core .ticket-sip-wrap {
  flex:0 1 auto;
  color:var(--muted);
  font-size:9.5px;
}
.ticket-card-core .ticket-sip-prefix { font-weight:650; }
.ticket-card-core .ticket-sipno {
  max-width:155px;
  color:var(--text);
  font-size:9.5px;
  font-weight:760;
}
.ticket-card-core .ticket-target-mini {
  max-width:185px;
  padding:2px 7px;
  font-size:7.5px;
}
.ticket-card-core .ticket-route-wrap {
  grid-column:auto;
  min-width:0;
  padding:4px 7px;
  border:1px solid color-mix(in srgb,var(--ticket-accent) 14%,var(--border));
  border-radius:12px;
  background:color-mix(in srgb,var(--ticket-accent) 4%,var(--surface-solid,#fff));
}
.ticket-card-core .ticket-route-stamp,
#page-tickets .ticket-card-core .ticket-route-stamp {
  grid-template-columns:31px 9px 31px;
  min-width:73px;
  height:25px;
  gap:1px;
}
.ticket-card-core .ticket-route-office,
#page-tickets .ticket-card-core .ticket-route-office { width:31px; }
.ticket-card-core .ticket-route-code,
#page-tickets .ticket-card-core .ticket-route-code {
  font-size:10px;
  line-height:11px;
}
.ticket-card-core .ticket-route-name,
#page-tickets .ticket-card-core .ticket-route-name {
  font-size:5.5px;
  line-height:6px;
}
.ticket-card-core .ticket-route-arrow,
#page-tickets .ticket-card-core .ticket-route-arrow {
  font-size:8px;
  line-height:11px;
}
.ticket .ticket-foot,
#page-tickets .ticket .ticket-foot {
  grid-column:auto;
  display:flex;
  align-items:center;
  gap:8px;
  padding-top:5px;
  border-top:1px solid color-mix(in srgb,var(--ticket-card-border) 65%,transparent);
}
.ticket .ticket-context,
#page-tickets .ticket .ticket-context {
  min-height:12px;
  max-height:12px;
}
.ticket .ticket-context .ticket-author,
.ticket .ticket-context .ticket-task-note,
#page-tickets .ticket .ticket-context .ticket-author,
#page-tickets .ticket .ticket-context .ticket-task-note {
  font-size:8px;
}
.ticket .ticket-time,
#page-tickets .ticket .ticket-time {
  gap:4px;
  font-size:7.5px;
}
.ticket .ticket-age,
#page-tickets .ticket .ticket-age { font-size:7px; }

html[data-theme="dark"] .ticket {
  --ticket-card-bg:#202226;
  border-color:color-mix(in srgb,var(--ticket-accent) 20%,rgba(255,255,255,.075))!important;
  background:
    radial-gradient(circle at 0 0,var(--ticket-accent-soft),transparent 34%),
    var(--ticket-card-bg);
  box-shadow:0 12px 30px rgba(0,0,0,.2);
}
html[data-theme="dark"] .ticket:hover {
  background:
    radial-gradient(circle at 0 0,var(--ticket-accent-soft),transparent 38%),
    #25272b;
  box-shadow:0 18px 40px rgba(0,0,0,.3);
}
html[data-theme="dark"] .ticket-card-core .ticket-route-wrap {
  border-color:rgba(255,255,255,.07);
  background:#25272b;
}

@media (max-width:760px) {
  .ticket,
  #page-tickets .ticket {
    grid-template-rows:27px minmax(0,1fr) 20px;
    height:112px;
    min-height:112px;
    max-height:112px;
  }
  .ticket-card-kicker .ticket-cat { max-width:120px; }
  .ticket-card-core { gap:6px; }
  .ticket-card-core .ticket-route-wrap { padding-inline:4px; }
}

/* ── Ticket Workspace · Finder yoğunluğu + konuşma/not entegrasyonu ─ */
#page-tickets,
#ticketModal {
  --ticket-workspace-line:color-mix(in srgb,var(--border) 82%,transparent);
  --ticket-workspace-blue:#087df1;
}
.ticket-workspace-controls {
  position:relative;
  z-index:12;
  display:block;
  margin:0 0 10px;
  padding:8px;
  border:1px solid var(--ticket-workspace-line);
  border-radius:16px;
  background:color-mix(in srgb,var(--surface-solid,#fff) 92%,transparent);
  box-shadow:0 8px 28px rgba(15,35,65,.055);
}
.ticket-workspace-toolbar {
  display:grid;
  grid-template-columns:auto minmax(260px,1fr) auto;
  align-items:center;
  gap:8px;
}
.ticket-workspace-controls .ticket-tabs {
  min-height:38px;
  padding:3px;
  border:1px solid var(--ticket-workspace-line);
  border-radius:11px;
  background:color-mix(in srgb,var(--muted) 5%,transparent);
}
.ticket-workspace-controls .ticket-tab {
  min-height:32px;
  padding:0 13px;
  border-radius:8px;
  font-size:10.5px;
}
.ticket-workspace-search {
  position:relative;
  min-width:0;
  display:flex;
  align-items:center;
}
.ticket-workspace-search>span {
  position:absolute;
  z-index:1;
  left:12px;
  width:12px;
  height:12px;
  border:1.8px solid var(--muted);
  border-radius:50%;
  pointer-events:none;
}
.ticket-workspace-search>span::after {
  content:"";
  position:absolute;
  right:-4px;
  bottom:-3px;
  width:5px;
  height:1.8px;
  border-radius:2px;
  background:var(--muted);
  transform:rotate(45deg);
  transform-origin:left center;
}
.ticket-workspace-search .search-input {
  width:100%;
  min-height:38px;
  padding:0 48px 0 34px;
  border:1px solid var(--ticket-workspace-line);
  border-radius:11px;
  background:var(--surface-solid,#fff);
  font-size:11px;
}
.ticket-workspace-search kbd {
  position:absolute;
  right:10px;
  padding:2px 5px;
  border:1px solid var(--ticket-workspace-line);
  border-radius:5px;
  color:var(--muted);
  background:color-mix(in srgb,var(--muted) 5%,transparent);
  font:600 8px/1.2 inherit;
  pointer-events:none;
}
.ticket-workspace-filter-toggle {
  min-height:38px;
  display:flex;
  align-items:center;
  gap:7px;
  padding:0 11px;
  border:1px solid var(--ticket-workspace-line);
  border-radius:11px;
  color:var(--text);
  background:var(--surface-solid,#fff);
  font:700 10px/1 inherit;
  cursor:pointer;
}
.ticket-workspace-filter-toggle>span {
  width:13px;
  height:11px;
  display:block;
  background:
    linear-gradient(var(--muted),var(--muted)) 0 1px/13px 1px no-repeat,
    linear-gradient(var(--muted),var(--muted)) 0 5px/13px 1px no-repeat,
    linear-gradient(var(--muted),var(--muted)) 0 9px/13px 1px no-repeat;
}
.ticket-workspace-filter-toggle>span::before,
.ticket-workspace-filter-toggle>span::after {
  content:"";
}
.ticket-workspace-filter-toggle b {
  min-width:16px;
  min-height:16px;
  display:grid;
  place-items:center;
  border-radius:50%;
  color:#fff;
  background:var(--ticket-workspace-blue);
  font-size:8px;
}
.ticket-workspace-filter-shelf {
  grid-template-columns:repeat(5,minmax(0,1fr)) auto!important;
  gap:6px!important;
  margin-top:7px;
  padding-top:7px;
  border-top:1px solid var(--ticket-workspace-line);
}
.ticket-workspace-filter-shelf[hidden] { display:none!important; }
.ticket-workspace-filter-shelf select,
.ticket-filter-reset {
  min-height:34px!important;
  height:34px;
  padding:0 9px!important;
  border:1px solid var(--ticket-workspace-line)!important;
  border-radius:9px!important;
  background-color:var(--surface-solid,#fff)!important;
  font-size:9.5px!important;
}
.ticket-filter-reset {
  color:var(--muted);
  font-weight:720;
  cursor:pointer;
}

.ticket-workspace {
  height:clamp(560px,calc(100dvh - 176px),820px);
  min-height:560px;
  overflow:hidden;
  border:1px solid var(--ticket-workspace-line);
  border-radius:18px;
  background:var(--surface-solid,#fff);
  box-shadow:0 18px 48px rgba(15,35,65,.08);
}
.ticket-workspace-body {
  height:100%;
  display:grid;
  grid-template-columns:218px minmax(350px,440px) minmax(420px,1fr);
  overflow:hidden;
}
.ticket-folder-pane,
.ticket-list-pane,
.ticket-workspace-inspector {
  min-width:0;
  min-height:0;
}
.ticket-folder-pane {
  display:flex;
  flex-direction:column;
  padding:12px 8px;
  overflow:hidden;
  border-right:1px solid var(--ticket-workspace-line);
  background:
    linear-gradient(180deg,color-mix(in srgb,var(--ticket-workspace-blue) 4%,var(--surface-solid,#fff)),transparent 42%),
    color-mix(in srgb,var(--muted) 4%,var(--surface-solid,#fff));
}
.ticket-pane-title {
  min-height:24px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:0 8px;
  color:var(--muted);
  font-size:8px;
  font-weight:820;
  letter-spacing:.09em;
  text-transform:uppercase;
}
.ticket-pane-title.is-categories { margin-top:12px; }
.ticket-pane-title>b {
  min-width:18px;
  display:grid;
  place-items:center;
  padding:2px 5px;
  border-radius:999px;
  background:color-mix(in srgb,var(--muted) 8%,transparent);
  font-size:7.5px;
}
.ticket-smart-folders,
.ticket-folder-tree {
  display:grid;
  gap:2px;
}
.ticket-folder-tree {
  min-height:0;
  overflow:auto;
  padding-right:2px;
}
.ticket-smart-folders>button,
.ticket-folder-row {
  width:100%;
  min-height:34px;
  display:grid;
  grid-template-columns:20px minmax(0,1fr) auto;
  align-items:center;
  gap:7px;
  padding:0 9px;
  border:0;
  border-radius:9px;
  color:var(--text);
  background:transparent;
  font:690 10.5px/1.2 inherit;
  text-align:left;
  cursor:pointer;
}
.ticket-smart-folders>button:hover,
.ticket-folder-row:hover,
.ticket-smart-folders>button.active,
.ticket-folder-row.active {
  background:color-mix(in srgb,var(--ticket-workspace-blue) 10%,transparent);
}
.ticket-smart-folders>button.active,
.ticket-folder-row.active { color:var(--ticket-workspace-blue); }
.ticket-smart-folders>button>b,
.ticket-folder-row>b,
.ticket-folder-children button>b {
  color:var(--muted);
  font-size:8px;
  font-weight:700;
}
.ticket-smart-icon {
  width:16px;
  height:16px;
  display:grid;
  place-items:center;
  color:var(--ticket-workspace-blue);
  font-size:13px;
}
.ticket-smart-icon.is-inbox {
  border:1.6px solid currentColor;
  border-radius:4px;
}
.ticket-smart-icon.is-inbox::before {
  content:"";
  width:7px;
  height:3px;
  margin-top:5px;
  border-top:1.5px solid currentColor;
}
.ticket-smart-icon.is-clock {
  border:1.5px solid currentColor;
  border-radius:50%;
}
.ticket-smart-icon.is-clock::before {
  content:"";
  width:1px;
  height:5px;
  border-radius:2px;
  background:currentColor;
  transform:translate(1px,-1px) rotate(-35deg);
}
.ticket-smart-icon.is-await {
  position:relative;
  border:1.5px solid currentColor;
  border-radius:50%;
}
.ticket-smart-icon.is-await::before {
  content:"";
  width:4px;
  height:4px;
  border:1.5px solid currentColor;
  border-radius:50%;
}
.ticket-smart-icon.is-archive {
  position:relative;
  border:1.5px solid currentColor;
  border-radius:3px;
}
.ticket-smart-icon.is-archive::before {
  content:"";
  width:100%;
  height:4px;
  position:absolute;
  top:0;
  left:0;
  border-bottom:1.5px solid currentColor;
}
.ticket-smart-icon.is-trash {
  position:relative;
  width:13px;
  height:14px;
  border:1.5px solid currentColor;
  border-top-width:3px;
  border-radius:0 0 4px 4px;
}
.ticket-smart-icon.is-trash::before {
  content:"";
  width:7px;
  position:absolute;
  top:-5px;
  left:50%;
  transform:translateX(-50%);
  border-top:1.5px solid currentColor;
}
.ticket-smart-folders>button.is-trash-folder .ticket-smart-icon { color:var(--muted); }
.ticket-smart-folders>button.is-trash-folder.active .ticket-smart-icon { color:var(--ticket-workspace-blue); }
/* Kaldırılan satırın sağ ucu TEK şerittir: kalan süre, sonra iki ikon.
   Yazılı düğmeler ("Geri Yükle" / "Kalıcı Sil") satırı iki kata çıkarıp mesaj
   metnini eziyordu; ikonlar sessiz durur, ne yaptıkları ipucunda yazar. */
.ticket-file-row:has(.ticket-file-trash) .ticket-file-side { width:auto; grid-template-columns:auto; }
.ticket-file-trash { display:flex; align-items:center; justify-content:flex-end; gap:8px; text-align:right; }
.ticket-file-trash>b { color:var(--muted); font-size:9px; font-weight:650; white-space:nowrap; }
.ticket-file-trash-actions { display:flex; gap:2px; }
.ticket-file-trash-actions>button {
  display:grid;
  place-items:center;
  width:26px;
  height:26px;
  padding:0;
  border:0;
  border-radius:7px;
  background:transparent;
  color:var(--muted);
  cursor:pointer;
  transition:background .14s ease, color .14s ease;
}
.ticket-file-trash-actions>button svg { width:15px; height:15px; stroke-width:1.7; }
.ticket-file-trash-actions>button:hover { color:var(--text); background:color-mix(in srgb,var(--muted) 14%,transparent); }
.ticket-file-trash-actions>button.is-danger:hover { color:#d70015; background:rgba(215,0,21,.12); }
.ticket-file-trash-actions>button:focus-visible { outline:2px solid var(--ticket-workspace-blue); outline-offset:1px; }
@media(hover:none) { .ticket-file-trash-actions>button { background:color-mix(in srgb,var(--muted) 10%,transparent); } }
.ticket-folder-row {
  grid-template-columns:10px 20px minmax(0,1fr) auto;
}
.ticket-folder-chevron {
  color:var(--muted);
  font-size:14px;
  font-style:normal;
  transform-origin:center;
  transition:transform .16s ease;
}
.ticket-folder-group.is-open .ticket-folder-chevron { transform:rotate(90deg); }
.ticket-folder-icon {
  position:relative;
  width:19px;
  height:13px;
  display:block;
  margin-top:2px;
  border:1px solid rgba(10,116,210,.35);
  border-radius:2px 3px 3px 3px;
  background:linear-gradient(180deg,#74c4ff 0%,#248fea 54%,#1576d0 100%);
  box-shadow:inset 0 1px rgba(255,255,255,.55),0 1px 2px rgba(0,80,170,.2);
}
.ticket-folder-icon::before {
  content:"";
  position:absolute;
  left:1px;
  top:-5px;
  width:9px;
  height:5px;
  border:1px solid rgba(10,116,210,.3);
  border-bottom:0;
  border-radius:3px 3px 0 0;
  background:linear-gradient(180deg,#9bd9ff,#58b4f7);
}
.ticket-folder-icon::after { content:""; position:absolute; right:2px; bottom:2px; left:2px; height:1px; border-radius:99px; background:rgba(255,255,255,.38); }
.ticket-folder-children {
  position:relative;
  display:grid;
  gap:1px;
  margin:1px 0 4px 29px;
  padding-left:10px;
}
.ticket-folder-children::before {
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:1px;
  background:var(--ticket-workspace-line);
}
.ticket-folder-children button {
  min-height:27px;
  display:grid;
  grid-template-columns:8px minmax(0,1fr) auto;
  align-items:center;
  gap:7px;
  padding:0 7px;
  border:0;
  border-radius:7px;
  color:var(--muted);
  background:transparent;
  font:650 9px/1 inherit;
  text-align:left;
  cursor:pointer;
}
.ticket-folder-children button:hover,
.ticket-folder-children button.active {
  color:var(--text);
  background:color-mix(in srgb,var(--muted) 7%,transparent);
}
.ticket-folder-children button>i {
  width:5px;
  height:5px;
  border-radius:50%;
  background:currentColor;
  opacity:.55;
}
.ticket-folder-empty {
  padding:12px 9px;
  color:var(--muted);
  font-size:9px;
}

.ticket-list-pane {
  --ticket-pane-type-main:14px;
  --ticket-pane-type-meta:10.5px;
  display:flex;
  flex-direction:column;
  border-right:1px solid var(--ticket-workspace-line);
  background:var(--surface-solid,#fff);
}
.ticket-list-pane>header {
  min-height:49px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:0 14px;
  border-bottom:1px solid var(--ticket-workspace-line);
}
.ticket-list-pane>header>div {
  min-width:0;
  display:flex;
  align-items:baseline;
  gap:7px;
}
.ticket-list-pane>header strong {
  overflow:hidden;
  color:var(--text);
  font-size:var(--ticket-pane-type-main);
  font-weight:790;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.ticket-list-pane>header span,
.ticket-list-pane>header small {
  color:var(--muted);
  font-size:var(--ticket-pane-type-meta);
  white-space:nowrap;
}
.ticket-file-list {
  min-height:0;
  flex:1;
  overflow-x:hidden;
  overflow-y:auto;
  /* Liste sınırında tekerlek/trackpad hareketini sayfaya devret. */
  overscroll-behavior-y:auto;
}
.ticket-file-row {
  position:relative;
  min-height:78px;
  display:grid;
  grid-template-columns:7px minmax(0,1fr) auto;
  align-items:center;
  gap:11px;
  padding:11px 13px 11px 10px;
  border-bottom:1px solid var(--ticket-workspace-line);
  outline:0;
  background:transparent;
  cursor:pointer;
  transition:background .12s ease;
}
.ticket-file-row:hover { background:color-mix(in srgb,var(--muted) 4%,transparent); }
.ticket-file-row.selected {
  color:#fff;
  background:linear-gradient(135deg,#1587f7,#0872dc);
}
.ticket-file-row:focus-visible { box-shadow:inset 0 0 0 2px var(--ticket-workspace-blue); }
.ticket-file-status {
  width:6px;
  height:6px;
  border:1px solid color-mix(in srgb,var(--ticket-row-accent) 70%,transparent);
  border-radius:50%;
  background:color-mix(in srgb,var(--ticket-row-accent) 24%,transparent);
}
.ticket-file-row.is-incoming .ticket-file-status {
  border-color:transparent;
  background:var(--ticket-row-accent);
  box-shadow:0 0 0 3px color-mix(in srgb,var(--ticket-row-accent) 13%,transparent);
}
.ticket-file-row.selected .ticket-file-status {
  border-color:rgba(255,255,255,.8);
  background:#fff;
  box-shadow:none;
}
.ticket-file-main {
  min-width:0;
  display:grid;
  gap:7px;
}
.ticket-file-title {
  min-width:0;
  display:flex;
  align-items:center;
  gap:9px;
}
.ticket-file-title strong {
  flex:0 0 auto;
  color:var(--ticket-row-accent);
  font:820 var(--ticket-pane-type-main)/1 inherit;
}
.ticket-file-title>.ticket-file-message {
  flex:1;
  min-width:0;
  overflow:hidden;
  color:var(--text);
  font-size:var(--ticket-pane-type-main);
  font-weight:740;
  line-height:1.25;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.ticket-file-message>span { display:inline-block; min-width:max-content; padding-right:22px; }
.ticket-file-message.is-overflow:hover>span { animation:ticket-file-marquee 3.15s cubic-bezier(.35,.05,.2,1) .12s infinite; }
@keyframes ticket-file-marquee { 0%,16% { transform:translateX(0); } 68%,86% { transform:translateX(calc(-1 * var(--ticket-marquee-shift))); } 100% { transform:translateX(0); } }
.ticket-file-meta {
  min-width:0;
  display:flex;
  align-items:center;
  gap:7px;
  overflow:hidden;
  color:var(--muted);
  font-size:var(--ticket-pane-type-meta);
  font-weight:650;
  white-space:nowrap;
}
.ticket-file-meta>span {
  min-width:0;
  flex:0 1 auto;
  max-width:165px;
  overflow:hidden;
  text-overflow:ellipsis;
}
.ticket-file-meta>span:first-child { flex:0 0 auto; }
.ticket-file-meta>span:nth-child(2) { display:flex; align-items:center; }
.ticket-file-meta>span+span::before {
  content:"·";
  flex:0 0 auto;
  margin-right:6px;
}
.ticket-file-category { font-weight:700; }
.ticket-file-side {
  width:78px;
  display:grid;
  grid-template-columns:28px minmax(0,1fr);
  align-items:center;
  gap:3px 5px;
  color:var(--muted);
  text-align:right;
}
.ticket-file-priority {
  grid-column:1/-1;
  color:#ff9f0a;
  font-size:var(--ticket-pane-type-meta);
  letter-spacing:-1px;
}

.ticket-file-state {
  min-width:0;
  display:grid;
  justify-items:end;
  align-content:center;
  gap:7px;
}
.ticket-file-state>b {
  padding:3px 6px;
  border-radius:5px;
  color:#187a48;
  background:rgba(34,197,94,.1);
  font-size:var(--ticket-pane-type-meta);
}
.ticket-file-state>b.is-progress { color:#ad6900; background:rgba(255,159,10,.12); }
.ticket-file-state>b.is-closed { color:var(--muted); background:color-mix(in srgb,var(--muted) 8%,transparent); }
.ticket-file-state>time { font-size:var(--ticket-pane-type-meta); }
.ticket-file-row.selected :is(.ticket-file-title strong,.ticket-file-title>span,.ticket-file-meta,.ticket-file-side,.ticket-file-priority,.ticket-file-state>b,.ticket-file-route,.ticket-file-route>i) {
  color:#fff;
}
.ticket-file-row.selected .ticket-file-state>b { background:rgba(255,255,255,.16); }
.ticket-file-row.selected .ticket-file-meta { opacity:.76; }
@media (prefers-reduced-motion:reduce) { .ticket-file-message.is-overflow:hover>span { animation:none; } }
.ticket-workspace-empty,
.ticket-workspace-inspector.is-empty {
  min-height:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  gap:6px;
  padding:28px;
  color:var(--muted);
  text-align:center;
}

.ticket-workspace-empty.is-calm { gap:10px; }
/* Masaüstünde boş klasörün ANLATIMI sağdaki geniş panelde durur; dar liste
   sütunu yalnız tek sakin cümle söyler. İki başlık + iki çizim aynı şeyi iki
   kez anlatıyordu (TASARIM-DILI.md §3.6). Mobilde sağ panel olmadığı için
   başlık geri gelir. */
@media (min-width:721px) {
  .ticket-workspace-empty.is-calm > strong { display:none; }
  .ticket-workspace-empty.is-calm > small { max-width:260px; color:var(--muted); font-size:12px; line-height:1.55; }
}
/* Mobilde tek sütun var: başlık klasörün kendi cümlesidir, çizimin altındaki
   ikinci başlık düşer — bir yüzeyde tek başlık. */
@media (max-width:720px) {
  html .ticket-workspace-empty.is-calm .ticket-empty-mobile-caption strong { display:none; }
  html .ticket-workspace-empty.is-calm .ticket-empty-mobile-caption span { margin-top:0; }
}
.ticket-workspace-inspector.is-calm-art { align-items:center; justify-content:center; gap:14px; padding:20px 12px 34px; text-align:center; }
.ticket-workspace-inspector.is-calm-art>img {
  display:block;
  width:min(400px,78%);
  height:auto;
  object-fit:contain;
}
.ticket-calm-caption, .ticket-empty-mobile-caption { max-width:420px; text-align:center; }
.ticket-calm-caption strong, .ticket-workspace-empty.is-calm .ticket-empty-mobile-caption strong { display:block; color:var(--text); font-size:17px; font-weight:650; }
.ticket-calm-caption span, .ticket-empty-mobile-caption span { display:block; margin-top:8px; color:var(--muted); font-size:12px; line-height:1.55; }
.ticket-empty-mobile-art { display:none; }
.ticket-empty-mobile-caption { display:none; }
.ticket-workspace-empty.is-calm strong { font-size:16px; }
.ticket-workspace-empty.is-calm small { max-width:320px; font-size:12px; }
.ticket-workspace-empty strong,
.ticket-workspace-inspector.is-empty strong { color:var(--text); font-size:var(--ticket-inspector-type-main,14px); }
.ticket-workspace-empty small,
.ticket-workspace-inspector.is-empty>span { font-size:var(--ticket-inspector-type-meta,10.5px); line-height:1.45; }

.ticket-workspace-inspector {
  --ticket-inspector-type-main:14px;
  --ticket-inspector-type-meta:10.5px;
  display:flex;
  flex-direction:column;
  overflow:hidden;
  background:
    radial-gradient(circle at 100% 0,color-mix(in srgb,var(--ticket-inspector-accent,var(--ticket-workspace-blue)) 7%,transparent),transparent 34%),
    var(--surface-solid,#fff);
}
.ticket-inspector-head {
  position:relative;
  z-index:6;
  /* Uzun akışta sütun esnemesi başlığı ezip başlığı çizginin altına taşırıyordu. */
  flex-shrink:0;
  min-height:58px;
  display:flex;
  align-items:center;
  gap:10px;
  padding:8px 12px 8px 15px;
  border-bottom:1px solid var(--ticket-workspace-line);
}
.ticket-inspector-head .ticket-inspector-title {
  min-width:0;
  flex:1;
  display:grid;
  gap:3px;
}
.ticket-inspector-head .ticket-inspector-title>span {
  overflow:hidden;
  color:var(--ticket-inspector-accent);
  font-size:var(--ticket-inspector-type-meta);
  font-weight:780;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.ticket-inspector-head .ticket-inspector-title>strong {
  overflow:hidden;
  color:var(--text);
  font-size:var(--ticket-inspector-type-main);
  font-weight:790;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.ticket-inspector-head .ticket-order-customer {
  margin-left:6px;
  color:var(--muted);
  font-family:inherit;
  font-size:var(--ticket-inspector-type-meta);
  font-weight:700;
  line-height:1.2;
}
.ticket-order-heading-link {
  display:block;
  max-width:100%;
  overflow:hidden;
  padding:0;
  border:0;
  color:inherit;
  background:transparent;
  font:inherit;
  text-align:left;
  text-overflow:ellipsis;
  white-space:nowrap;
  cursor:pointer;
}
.ticket-order-heading-link:hover,
.ticket-order-heading-link:focus-visible {
  color:var(--ticket-inspector-accent,var(--ticket-workspace-blue));
  outline:0;
  text-decoration:underline;
  text-underline-offset:2px;
}
/* Bağlı siparişler: başlığın altında birer sessiz hap (C, 2026-10-30). */
.ticket-order-chips {
  display:flex;
  flex-wrap:wrap;
  gap:5px;
  min-width:0;
  margin-top:3px;
}
.ticket-order-chips .ticket-order-chip {
  display:inline-flex;
  align-items:baseline;
  gap:6px;
  width:auto;
  max-width:100%;
  min-height:0;
  padding:3px 9px;
  border:1px solid var(--ticket-workspace-line, var(--line));
  border-radius:999px;
  color:var(--text);
  background:transparent;
  font:inherit;
  font-size:12px;
  font-weight:650;
  line-height:1.35;
  white-space:nowrap;
  cursor:pointer;
}
.ticket-order-chips .ticket-order-chip>span { overflow:hidden; text-overflow:ellipsis; }
.ticket-order-chips .ticket-order-chip code {
  color:var(--ticket-inspector-accent, var(--ticket-workspace-blue));
  font-family:inherit;
  font-size:11px;
  font-weight:700;
}
.ticket-order-chips .ticket-order-chip small { color:var(--muted); font-size:11px; font-weight:550; }
.ticket-order-chips .ticket-order-chip:hover,
.ticket-order-chips .ticket-order-chip:focus-visible {
  border-color:var(--ticket-inspector-accent, var(--ticket-workspace-blue));
  text-decoration:none;
  outline:0;
}
.ticket-order-chips .ticket-order-chip.is-empty,
.ticket-order-chips .ticket-order-chip.is-more { color:var(--muted); border-style:dashed; }
.ticket-order-chips:not(.is-all) .ticket-order-chip.is-extra,
.ticket-order-chips.is-all .ticket-order-chip.is-more { display:none; }
.ticket-file-order-link {
  display:inline-block;
  max-width:100%;
  overflow:hidden;
  padding:0;
  border:0;
  color:inherit;
  background:transparent;
  font:inherit;
  text-overflow:ellipsis;
  white-space:nowrap;
  cursor:pointer;
}
.ticket-file-order-link:hover,
.ticket-file-order-link:focus-visible {
  color:var(--ticket-row-accent);
  outline:0;
  text-decoration:underline;
  text-underline-offset:2px;
}
.ticket-inspector-actions {
  position:relative;
  z-index:3;
  display:flex;
  align-items:center;
  gap:4px;
}
.ticket-inspector-actions>button,
.ticket-inspector-back {
  width:29px;
  height:29px;
  display:grid;
  place-items:center;
  padding:0;
  border:1px solid var(--ticket-workspace-line);
  border-radius:8px;
  color:var(--text);
  background:var(--surface-solid,#fff);
  font:760 12px/1 inherit;
  cursor:pointer;
}

/* Ticketı AÇAN kişiye özel onay düğmesi: yeşil başparmak. Yalnız o kişide
   çizilir (bkz. ticketResolveButtonHTML); basınca ticket kaldırılanlara gider. */
.ticket-inspector-actions>button.ticket-resolve-btn {
  border-color:color-mix(in srgb,#30b85a 42%,var(--ticket-workspace-line));
  background:color-mix(in srgb,#30b85a 12%,var(--surface-solid,#fff));
  color:#1c8c45;
}
.ticket-inspector-actions>button.ticket-resolve-btn svg { width:16px; height:16px; stroke-width:1.8; }
.ticket-inspector-actions>button.ticket-resolve-btn:hover {
  border-color:color-mix(in srgb,#30b85a 62%,var(--ticket-workspace-line));
  background:color-mix(in srgb,#30b85a 20%,var(--surface-solid,#fff));
}
.ticket-inspector-actions>button.ticket-resolve-btn:active { transform:translateY(.5px); }
.ticket-inspector-actions>button.ticket-resolve-btn:focus-visible { outline:2px solid #30b85a; outline-offset:1px; }
html[data-theme="dark"] .ticket-inspector-actions>button.ticket-resolve-btn {
  border-color:color-mix(in srgb,#30b85a 46%,transparent);
  background:color-mix(in srgb,#30b85a 20%,transparent);
  color:#79d8a5;
}
html[data-theme="dark"] .ticket-inspector-actions>button.ticket-resolve-btn:hover {
  background:color-mix(in srgb,#30b85a 30%,transparent);
}
.ticket-inspector-actions .ticket-more-btn {
  width:29px;
  min-width:29px;
  height:29px;
  min-height:29px;
  border-radius:8px;
  box-shadow:none;
}
/* Gecikmeli ipucu balonu — TASARIM-DILI.md §3.2'nin ikinci tipi.
   Kural: `data-delayed-tip="Etiket"` yazan HER düğme bu balonu alır; bileşen
   artık belirli kaplara bağlı değildir (eskiden yalnız ticket başlığı ve
   bildirim başlıklarında çalışıyor, başka yerde sessizce hiçbir şey yapmıyordu
   — ör. "Önceliği değiştir" ipucu hiç açılmıyordu). Yeni bir başlık şeridi
   eklemek için bu seçiciye dokunmak GEREKMEZ.
   Balon düğmenin ALTINDA açılır; `overflow:hidden` bir kabın içindeki düğmede
   kırpılabilir — orada `data-shell-tip` kullan (gövdeye takılır, kırpılmaz). */
[data-delayed-tip] {
  position:relative;
}
[data-delayed-tip]::before,
[data-delayed-tip]::after {
  position:absolute;
  z-index:40;
  left:50%;
  pointer-events:none;
  opacity:0;
  transform:translate(-50%,-4px);
  transition:opacity .14s ease,transform .18s cubic-bezier(.2,.75,.25,1);
  transition-delay:0s;
}
[data-delayed-tip]::before {
  content:"";
  top:calc(100% + 6px);
  width:7px;
  height:7px;
  border-top:1px solid rgba(31,41,55,.12);
  border-left:1px solid rgba(31,41,55,.12);
  background:rgba(255,255,255,.96);
  transform:translate(-50%,-4px) rotate(45deg);
}
[data-delayed-tip]::after {
  content:attr(data-delayed-tip);
  top:calc(100% + 9px);
  width:max-content;
  max-width:min(210px,calc(100vw - 28px));
  overflow:hidden;
  padding:6px 9px;
  border:1px solid rgba(31,41,55,.12);
  border-radius:8px;
  color:#263142;
  background:rgba(255,255,255,.96);
  box-shadow:0 8px 22px rgba(15,23,42,.14),inset 0 1px 0 rgba(255,255,255,.9);
  font:680 10.5px/1.2 var(--font);
  letter-spacing:0;
  text-overflow:ellipsis;
  white-space:nowrap;
  backdrop-filter:blur(14px) saturate(1.25);
  -webkit-backdrop-filter:blur(14px) saturate(1.25);
}
[data-delayed-tip]:hover::before,
[data-delayed-tip]:hover::after,
[data-delayed-tip]:focus-visible::before,
[data-delayed-tip]:focus-visible::after {
  opacity:1;
  transform:translate(-50%,0);
  transition-delay:.55s;
}
[data-delayed-tip]:hover::before,
[data-delayed-tip]:focus-visible::before {
  transform:translate(-50%,0) rotate(45deg);
}
[data-delayed-tip]:focus-visible::before,
[data-delayed-tip]:focus-visible::after {
  transition-delay:.12s;
}
.ticket-inspector-actions .ticket-menu-wrap:last-child [data-delayed-tip]::before,
.ticket-inspector-actions .ticket-menu-wrap:last-child [data-delayed-tip]::after {
  right:0;
  left:auto;
}
.ticket-inspector-actions .ticket-menu-wrap:last-child [data-delayed-tip]::before {
  right:10px;
  transform:translateY(-4px) rotate(45deg);
}
.ticket-inspector-actions .ticket-menu-wrap:last-child [data-delayed-tip]::after {
  transform:translateY(-4px);
}
.ticket-inspector-actions .ticket-menu-wrap:last-child [data-delayed-tip]:is(:hover,:focus-visible)::before {
  transform:translateY(0) rotate(45deg);
}
.ticket-inspector-actions .ticket-menu-wrap:last-child [data-delayed-tip]:is(:hover,:focus-visible)::after {
  transform:translateY(0);
}
[data-delayed-tip][aria-expanded="true"]::before,
[data-delayed-tip][aria-expanded="true"]::after {
  visibility:hidden;
  opacity:0;
  transition-delay:0s;
}
html[data-theme="dark"] [data-delayed-tip]::before {
  border-color:rgba(255,255,255,.12);
  background:rgba(45,47,52,.97);
}
html[data-theme="dark"] [data-delayed-tip]::after {
  border-color:rgba(255,255,255,.12);
  color:#f5f7fa;
  background:rgba(45,47,52,.97);
  box-shadow:0 10px 24px rgba(0,0,0,.32),inset 0 1px 0 rgba(255,255,255,.07);
}
.ticket-inspector-back { display:none; font-size:20px; }
.ticket-inspector-scroll {
  min-height:0;
  flex:1;
  overflow-x:hidden;
  overflow-y:auto;
  /* İçerik kısa olduğunda ya da sona gelindiğinde sayfa kaydırmasını kilitleme. */
  overscroll-behavior-y:auto;
  padding:16px 16px 20px;
}

.ticket-inspector-meta {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:6px;
}
.ticket-inspector-meta>button {
  min-width:0;
  min-height:48px;
  display:grid;
  align-content:center;
  gap:4px;
  padding:8px 9px;
  border:1px solid var(--ticket-workspace-line);
  border-radius:10px;
  background:color-mix(in srgb,var(--muted) 3%,var(--surface-solid,#fff));
  text-align:left;
}
.ticket-inspector-meta>button { cursor:pointer; }
.ticket-inspector-meta span {
  color:var(--muted);
  font-size:var(--ticket-inspector-type-meta);
  font-weight:760;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.ticket-inspector-meta strong {
  overflow:hidden;
  color:var(--text);
  font-size:var(--ticket-inspector-type-meta);
  font-weight:760;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.ticket-inspector-meta strong.is-open { color:#18814b; }
.ticket-inspector-meta strong.is-progress { color:#bd7100; }
.ticket-inspector-meta strong.is-closed { color:var(--muted); }
.ticket-activity-head {
  display:flex;
  align-items:center;
  gap:10px;
  margin:16px 0 10px;
}
.ticket-activity-head>div {
  display:flex;
  align-items:baseline;
  gap:6px;
}
.ticket-activity-head span {
  color:var(--text);
  font-size:var(--ticket-inspector-type-main);
  font-weight:810;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.ticket-activity-head small { color:var(--muted); font-size:var(--ticket-inspector-type-meta); }
.ticket-activity-head>i {
  height:1px;
  flex:1;
  background:var(--ticket-workspace-line);
}
.ticket-activity-timeline {
  position:relative;
  display:grid;
}
.ticket-activity-item {
  position:relative;
  display:grid;
  grid-template-columns:19px minmax(0,1fr);
  gap:10px;
  padding:0 0 18px;
}
.ticket-activity-item:not(:last-child)::before {
  content:"";
  position:absolute;
  left:9px;
  top:16px;
  bottom:0;
  width:1px;
  background:var(--ticket-workspace-line);
}
.ticket-activity-node {
  position:relative;
  z-index:1;
  width:19px;
  height:19px;
  display:grid;
  place-items:center;
  border:1px solid var(--ticket-workspace-line);
  border-radius:50%;
  color:var(--ticket-inspector-accent);
  background:var(--surface-solid,#fff);
  font-size:6px;
}
.ticket-activity-copy {
  min-width:0;
  display:grid;
  gap:4px;
}
.ticket-activity-copy>div:first-child {
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:9px;
}
.ticket-activity-copy>div:first-child strong {
  color:var(--text);
  font-size:var(--ticket-inspector-type-main);
  font-weight:760;
}
.ticket-activity-copy time,
.ticket-activity-author {
  color:var(--muted);
  font-size:var(--ticket-inspector-type-meta);
}
.ticket-activity-message {
  width:fit-content;
  max-width:100%;
  padding:11px 14px;
  border:1px solid var(--ticket-workspace-line);
  border-radius:4px 11px 11px 11px;
  color:var(--text);
  background:color-mix(in srgb,var(--muted) 3%,var(--surface-solid,#fff));
  font-size:var(--ticket-inspector-type-main);
  line-height:1.55;
  /* Mesajdaki satır sonları korunur: çok siparişli fiyat ticketlarında kumaş
     listesi alt alta okunur kalsın. */
  white-space:pre-wrap;
}
.ticket-activity-item.is-mine .ticket-activity-message {
  border-color:color-mix(in srgb,var(--ticket-workspace-blue) 18%,var(--ticket-workspace-line));
  background:color-mix(in srgb,var(--ticket-workspace-blue) 7%,var(--surface-solid,#fff));
}
.ticket-activity-loading {
  display:flex;
  align-items:center;
  gap:7px;
  padding:8px 24px;
  color:var(--muted);
  font-size:var(--ticket-inspector-type-meta);
}
.ticket-activity-loading>i {
  width:9px;
  height:9px;
  border:1.5px solid color-mix(in srgb,var(--muted) 25%,transparent);
  border-top-color:var(--ticket-workspace-blue);
  border-radius:50%;
  animation:ticketSubmitSpin .8s linear infinite;
}
.ticket-inline-composer {
  position:relative;
  z-index:3;
  padding:9px 11px 10px;
  border-top:1px solid var(--ticket-workspace-line);
  background:color-mix(in srgb,var(--surface-solid,#fff) 94%,transparent);
  box-shadow:0 -8px 24px rgba(15,35,65,.035);
}
.ticket-inline-composer:not(.is-chat) textarea {
  width:100%;
  min-height:58px;
  max-height:120px;
  resize:vertical;
  padding:10px 11px;
  border:1px solid var(--ticket-workspace-line);
  border-radius:11px;
  outline:0;
  color:var(--text);
  background:var(--surface-solid,#fff);
  font:500 var(--ticket-inspector-type-main)/1.5 inherit;
}
.ticket-inline-composer:not(.is-chat) textarea:focus {
  border-color:color-mix(in srgb,var(--ticket-workspace-blue) 52%,var(--ticket-workspace-line));
  box-shadow:0 0 0 3px color-mix(in srgb,var(--ticket-workspace-blue) 9%,transparent);
}
.ticket-inline-composer:not(.is-chat)>div {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  margin-top:6px;
}

.ticket-inline-composer:not(.is-chat)>div>button {
  min-height:29px;
  display:flex;
  align-items:center;
  gap:7px;
  padding:0 11px;
  border:0;
  border-radius:8px;
  color:#fff;
  background:var(--ticket-workspace-blue);
  font:760 var(--ticket-inspector-type-meta)/1 inherit;
  cursor:pointer;
}

.ticket-inspector-empty-art {
  position:relative;
  width:66px;
  height:48px;
  margin-bottom:7px;
}
.ticket-inspector-empty-art>i {
  position:absolute;
  width:45px;
  height:31px;
  border:1px solid color-mix(in srgb,var(--ticket-workspace-blue) 24%,var(--ticket-workspace-line));
  border-radius:8px;
  background:color-mix(in srgb,var(--ticket-workspace-blue) 5%,var(--surface-solid,#fff));
  box-shadow:0 6px 16px rgba(15,35,65,.06);
}
.ticket-inspector-empty-art>i:nth-child(1) { left:0; top:12px; transform:rotate(-7deg); }
.ticket-inspector-empty-art>i:nth-child(2) { right:0; top:10px; transform:rotate(7deg); }
.ticket-inspector-empty-art>i:nth-child(3) { left:11px; top:2px; }

html[data-theme="dark"] .ticket-workspace-controls,
html[data-theme="dark"] .ticket-workspace,
html[data-theme="dark"] .ticket-list-pane,
html[data-theme="dark"] .ticket-workspace-inspector,
html[data-theme="dark"] .ticket-folder-pane {
  --ticket-workspace-line:rgba(255,255,255,.075);
  background-color:#1f2023;
}
html[data-theme="dark"] .ticket-folder-pane {
  background:
    linear-gradient(180deg,rgba(8,125,241,.08),transparent 42%),
    #1c1d20;
}
html[data-theme="dark"] :is(.ticket-workspace-search .search-input,.ticket-workspace-filter-toggle,.ticket-workspace-filter-shelf select,.ticket-filter-reset,.ticket-inspector-actions>button,.ticket-activity-node,.ticket-inline-composer textarea) {
  background-color:#25272b!important;
}
html[data-theme="dark"] .ticket-file-row:hover { background:rgba(255,255,255,.035); }
html[data-theme="dark"] .ticket-file-row.selected { background:linear-gradient(135deg,#167fe9,#0566c7); }
html[data-theme="dark"] .ticket-inspector-meta>button,
html[data-theme="dark"] .ticket-activity-message { background:#25272b; }
html[data-theme="dark"] .ticket-activity-item.is-mine .ticket-activity-message { background:rgba(8,125,241,.12); }
html[data-theme="dark"] .ticket-inline-composer { background:#1f2023; }

@media (max-width:1180px) {
  .ticket-workspace-body { grid-template-columns:190px minmax(320px,390px) minmax(360px,1fr); }
  .ticket-inspector-meta { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:900px) {
  .ticket-workspace-body { grid-template-columns:minmax(300px,42%) minmax(0,1fr); }
  .ticket-folder-pane { display:none; }
  .ticket-workspace-filter-shelf { grid-template-columns:repeat(2,minmax(0,1fr)) auto!important; }
}
@media (max-width:720px) {
  .ticket-workspace-toolbar { grid-template-columns:1fr auto; }
  .ticket-workspace-controls .ticket-tabs { grid-column:1; grid-row:1; }
  .ticket-workspace-search { grid-column:1/-1; grid-row:2; }
  .ticket-workspace-filter-toggle { grid-column:2; grid-row:1; }
  .ticket-workspace-search kbd { display:none; }
  .ticket-workspace-filter-shelf { grid-template-columns:1fr!important; max-height:220px; overflow:auto; }
  .ticket-workspace {
    height:calc(100dvh - 205px);
    min-height:520px;
    border-radius:14px;
  }
  .ticket-workspace-body { grid-template-columns:minmax(0,1fr); }
  .ticket-workspace .ticket-workspace-inspector { display:none; }
  .ticket-empty-mobile-art { display:block; width:min(280px,80%); height:auto; margin-top:18px; }
  .ticket-empty-mobile-caption { display:block; }
  .ticket-workspace.has-selection .ticket-list-pane { display:none; }
  .ticket-workspace.has-selection .ticket-workspace-inspector { display:flex; }
  .ticket-inspector-back { display:grid; }
  .ticket-list-pane { border-right:0; }
  .ticket-file-row { min-height:66px; }
  .ticket-inspector-scroll { padding:14px 13px 18px; }

}
/* The sidebar can leave less room than the viewport breakpoint suggests. */
#page-tickets { container-type:inline-size; }
@container (max-width:720px) {
  #page-tickets .ticket-workspace-toolbar { grid-template-columns:1fr auto; }
  #page-tickets .ticket-workspace-controls .ticket-tabs { grid-column:1; grid-row:1; }
  #page-tickets .ticket-workspace-search { grid-column:1/-1; grid-row:2; }
  #page-tickets .ticket-workspace-filter-toggle { grid-column:2; grid-row:1; }
  #page-tickets .ticket-workspace-search kbd { display:none; }
  #page-tickets .ticket-workspace-filter-shelf { grid-template-columns:1fr!important; max-height:220px; overflow:auto; }
  #page-tickets .ticket-workspace-body { grid-template-columns:minmax(0,1fr); }
  #page-tickets .ticket-folder-pane,
  #page-tickets .ticket-workspace .ticket-workspace-inspector { display:none; }
  #page-tickets .ticket-empty-mobile-art { display:block; width:min(280px,80%); height:auto; margin-top:18px; }
  #page-tickets .ticket-empty-mobile-caption { display:block; }
  #page-tickets .ticket-workspace.has-selection .ticket-list-pane { display:none; }
  #page-tickets .ticket-workspace.has-selection .ticket-workspace-inspector { display:flex; }
  #page-tickets .ticket-inspector-back { display:grid; }
  #page-tickets .ticket-list-pane { border-right:0; }
}
@media (hover:none) {
  [data-delayed-tip]::before,
  [data-delayed-tip]::after { display:none; }
}
@media (prefers-reduced-motion:reduce) {
  [data-delayed-tip]::before,
  [data-delayed-tip]::after { transition-property:opacity; }
}

/* Dashboard · Ticket çalışma alanının hızlı erişim sürümü */
.dashboard-ticket-hub-card { overflow:hidden; }

.dashboard-ticket-hub { --hub-line:color-mix(in srgb,var(--border) 82%,transparent); --hub-blue:#087df1;  display:grid;  overflow:hidden;   background:var(--surface-solid,#fff);  }
.dashboard-ticket-hub-list { min-width:0; min-height:0; }

.dashboard-ticket-hub-list { display:flex; flex-direction:column; border-right:1px solid var(--hub-line); background:var(--surface-solid,#fff); }.dashboard-ticket-hub-list>header {  display:flex; align-items:center; justify-content:space-between;   border-bottom:1px solid var(--hub-line); }.dashboard-ticket-hub-list>header>div { min-width:0; display:flex; align-items:baseline;  }.dashboard-ticket-hub-list>header strong { overflow:hidden; color:var(--text);  font-weight:800; text-overflow:ellipsis; white-space:nowrap; }.dashboard-ticket-hub-list>header span,.dashboard-ticket-hub-list>header small { color:var(--muted); font-size:7.5px; white-space:nowrap; }

.dashboard-ticket-hub-empty {  color:var(--muted);  text-align:center; }

html[data-theme="dark"] .dashboard-ticket-hub { --hub-line:rgba(255,255,255,.08); }

@media (max-width:620px) { .dashboard-ticket-hub { min-height:0; grid-template-columns:1fr; }    .dashboard-ticket-hub-list { border-right:0; } }

/* Dashboard ticket merkezi · tam alan ve uygulama ölçeğinde okunaklı tipografi */
#page-dashboard .dashboard-ticket-hub-card {
  padding:0;
  overflow:hidden;
}
.dashboard-ticket-hub-card #recentTickets,
.dashboard-ticket-hub-card #recentTickets>.empty-state {
  min-height:410px;
}
.dashboard-ticket-hub-card #recentTickets>.empty-state {
  display:grid;
  place-items:center;
}
.dashboard-ticket-hub {
  min-height:410px;
  grid-template-columns:210px minmax(360px,450px) minmax(380px,1fr);
  border:0;
  border-radius:inherit;
  box-shadow:none;
}
/* Liste artık klasörün tamamını gösteriyor: panelin yüksekliği sabitlenip
   gövdesi kendi içinde kaydırılır. Sabit yükseklik olmadan satırlar paneli
   büyütüyor ve dıştaki overflow:hidden yüzünden kaydırma çalışmıyordu. */
.dashboard-ticket-hub { height:520px; }
.dashboard-ticket-hub-list>div {
  min-height:0;
  flex:1;
  overflow-y:auto;
  /* Ana sayfada gömülü: liste sonuna gelince kaydırma SAYFAYA geçer.
     contain, imleci listede yakalayıp sayfayı kilitliyordu. */
  overscroll-behavior:auto;
}

@media (max-width:620px) {
  .dashboard-ticket-hub { height:auto; }
  .dashboard-ticket-hub-list>div { max-height:360px; }
}

.dashboard-ticket-hub-list>header {
  min-height:62px;
  gap:12px;
  padding:0 17px;
}
.dashboard-ticket-hub-list>header>div {
  gap:8px;
}
.dashboard-ticket-hub-list>header strong {
  font-size:14px;
}
.dashboard-ticket-hub-list>header span,
.dashboard-ticket-hub-list>header small {
  font-size:10.5px;
}

.dashboard-ticket-hub-empty {
  padding:36px 20px;
  font-size:13px;
}

@media (max-width:1120px) {
  .dashboard-ticket-hub {
    grid-template-columns:188px minmax(330px,.95fr) minmax(310px,1fr);
  }
  
}
@media (max-width:880px) {
  .dashboard-ticket-hub {
    grid-template-columns:190px minmax(0,1fr);
  }
}
@media (max-width:620px) {
  .dashboard-ticket-hub-card #recentTickets,
  .dashboard-ticket-hub-card #recentTickets>.empty-state {
    min-height:0;
  }

}

/* ── Tam Çalışma Alanı: ticket panelinin (inspector) büyük sürümü ── */
#ticketModal .ticket-workspace-inspector.is-full {
  --ticket-inspector-type-main:15.5px;
  --ticket-inspector-type-meta:11.5px;
  flex:1;
  min-width:0;
  min-height:0;
}
#ticketModal .ticket-workspace-inspector.is-full .ticket-inspector-head {
  min-height:66px;
  padding:12px 18px 12px 24px;
}
#ticketModal .ticket-workspace-inspector.is-full .ticket-inspector-scroll { padding:22px 26px 26px; }
#ticketModal .ticket-workspace-inspector.is-full .ticket-inspector-meta { gap:10px; }
#ticketModal .ticket-workspace-inspector.is-full .ticket-inspector-meta>div,
#ticketModal .ticket-workspace-inspector.is-full .ticket-inspector-meta>button {
  min-height:58px;
  padding:12px 14px;
  border-radius:12px;
}
#ticketModal .ticket-workspace-inspector.is-full .ticket-activity-item { padding-bottom:22px; }
#ticketModal .ticket-workspace-inspector.is-full .ticket-inline-composer:not(.is-chat) { padding:14px 20px 16px; }
#ticketModal .ticket-workspace-inspector.is-full .ticket-inline-composer:not(.is-chat) textarea { min-height:72px; max-height:160px; }

/* Panel içi bağlam (scope) kartı */
.ticket-inspector-scroll .tk-scope-panel {
  margin:12px 0 0;
  border:1px solid var(--ticket-workspace-line);
  border-radius:12px;
}

/* Kompozerdeki albüm fotoğraf butonu */
.ticket-composer-photo { margin-left:auto; }
.ticket-inline-composer:not(.is-chat) .tk-photo-btn { width:38px; min-height:29px; border-radius:8px; }
.ticket-inline-composer:not(.is-chat) .tk-photo-btn svg { width:18px; height:18px; }

/* Çalışma akışında fotoğraf önizlemesi */
.ticket-activity-photo.is-preview { display:grid; gap:6px; }
.ticket-activity-photo.is-preview img {
  display:block;
  max-width:min(300px,100%);
  border:1px solid var(--ticket-workspace-line);
  border-radius:10px;
  cursor:zoom-in;
}
.ticket-activity-photo.is-preview small { color:var(--muted); font-size:var(--ticket-inspector-type-meta); }

/* ── Ticket çalışma alanı v2: tekrarları azalt, başlık ve akışa alan aç ── */
:is(#page-tickets,#recentTickets) .ticket-file-row {
  grid-template-columns:7px minmax(0,1fr) 58px;
  min-height:72px;
  padding-right:14px;
}
:is(#page-tickets,#recentTickets) .ticket-file-side {
  width:58px;
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  justify-content:center;
  gap:6px;
}
:is(#page-tickets,#recentTickets) .ticket-file-priority {
  height:11px;
  font-size:10px;
  line-height:1;
}
:is(#page-tickets,#recentTickets) .ticket-file-state {
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:4px;
}
:is(#page-tickets,#recentTickets) .ticket-file-state>b {
  padding:0;
  color:#187a48;
  background:transparent;
  font-weight:760;
}
:is(#page-tickets,#recentTickets) .ticket-file-state>b.is-progress,
:is(#page-tickets,#recentTickets) .ticket-file-state>b.is-closed { background:transparent; }
:is(#page-tickets,#recentTickets) .ticket-file-state>time { color:var(--muted); }
:is(#page-tickets,#recentTickets) .ticket-file-row.selected .ticket-file-state>b { background:transparent; }
:is(#page-tickets,#recentTickets) .ticket-file-row.selected .ticket-file-state>time { color:rgba(255,255,255,.76); }

.ticket-inspector-meta.is-compact {
  display:flex;
  align-items:center;
  gap:7px;
}
.ticket-inspector-meta.is-compact>button {
  min-height:32px;
  width:auto;
  display:flex;
  align-items:center;
  gap:7px;
  padding:0 10px;
  border-radius:999px;
  background:transparent;
}
.ticket-inspector-meta.is-compact span {
  font-size:9px;
  letter-spacing:.04em;
}
.ticket-inspector-meta.is-compact strong {
  font-size:10px;
}
.ticket-inspector-scroll .tk-scope-panel.is-single-order {
  grid-template-columns:auto minmax(0,1fr);
  gap:10px;
  padding:8px 10px;
  background:color-mix(in srgb,#8b5cf6 3%,var(--surface-solid,#fff));
}
.ticket-inspector-scroll .tk-scope-panel.is-single-order .tk-scope-panel-label {
  padding-left:2px;
}
.ticket-inspector-scroll .tk-scope-panel.is-single-order .tk-scope-panel-label span {
  font-size:8px;
  letter-spacing:.08em;
}
.ticket-inspector-scroll .tk-scope-panel.is-single-order .tk-scope-order-route {
  grid-template-columns:minmax(0,1fr);
}
.ticket-inspector-scroll .tk-scope-panel.is-single-order .tk-scope-target {
  min-height:40px;
}
.ticket-activity-item.is-opening-event {
  padding-bottom:12px;
}
.ticket-activity-item.is-opening-event .ticket-activity-copy {
  gap:2px;
}
.ticket-activity-item.is-opening-event .ticket-activity-message.is-opening-message {
  margin-top:4px;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  color:var(--text);
  font-weight:620;
  line-height:1.5;
}

#ticketModal .ticket-workspace-inspector.is-full .ticket-inspector-meta.is-compact {
  gap:8px;
}
#ticketModal .ticket-workspace-inspector.is-full .ticket-inspector-meta.is-compact>button {
  min-height:36px;
  padding:0 12px;
  border-radius:999px;
}
html[data-theme="dark"] .ticket-inspector-scroll .tk-scope-panel.is-single-order {
  background:rgba(139,92,246,.055);
}

/* Tam ticket penceresinde bağlam, durum ve öncelikle aynı şeridi paylaşır.
   Kumaş adı seçim sırasında açılan listede tam olarak görüldüğünden burada
   alanı büyütmesine izin vermeyiz. */
#ticketModal .ticket-workspace-inspector.is-full .ticket-inspector-topline {
  display:flex;
  align-items:center;
  flex-wrap:nowrap;
  gap:8px;
}
#ticketModal .ticket-workspace-inspector.is-full .ticket-inspector-topline .ticket-inspector-meta {
  display:flex;
  flex:0 0 auto;
}
#ticketModal .ticket-workspace-inspector.is-full .ticket-inspector-topline .tk-scope-panel {
  display:flex;
  flex:0 1 330px;
  min-width:180px;
  margin:0;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
}
#ticketModal .ticket-workspace-inspector.is-full .ticket-inspector-topline .tk-scope-panel-label { display:none; }
#ticketModal .ticket-workspace-inspector.is-full .ticket-inspector-topline .tk-scope-orders,
#ticketModal .ticket-workspace-inspector.is-full .ticket-inspector-topline .tk-scope-order { min-width:0; width:100%; }
#ticketModal .ticket-workspace-inspector.is-full .ticket-inspector-topline .tk-scope-order-route { display:block; }
#ticketModal .ticket-workspace-inspector.is-full .ticket-inspector-topline .tk-scope-target {
  width:100%;
  max-width:none;
  min-height:36px;
  padding:0 13px;
  border-radius:999px;
}
#ticketModal .ticket-workspace-inspector.is-full .ticket-inspector-topline .tk-scope-target>span { min-width:0; }
#ticketModal .ticket-workspace-inspector.is-full .ticket-inspector-topline .tk-scope-target small { display:none; }

@media (max-width:720px) {
  #ticketModal .ticket-workspace-inspector.is-full .ticket-inspector-topline { flex-wrap:wrap; }
  #ticketModal .ticket-workspace-inspector.is-full .ticket-inspector-topline .tk-scope-panel { flex-basis:100%; }
}

/* Ticketlar sayfasındaki çalışma paneli de aynı üçlü bilgi şeridini kullanır. */
:is(#page-tickets,#ticketModal,#recentTickets,#page-new-ticket) .ticket-workspace-inspector .ticket-inspector-topline {
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:8px;
}
:is(#page-tickets,#ticketModal,#recentTickets,#page-new-ticket) .ticket-workspace-inspector .ticket-inspector-topline:not(:has(.tk-scope-editor-row)) {
  flex-wrap:nowrap;
}
:is(#page-tickets,#ticketModal,#recentTickets,#page-new-ticket) .ticket-workspace-inspector .ticket-inspector-topline .ticket-inspector-meta {
  display:flex;
  flex:0 1 auto;
  min-width:0;
}
:is(#page-tickets,#ticketModal,#recentTickets,#page-new-ticket) .ticket-workspace-inspector .ticket-inspector-topline .ticket-inspector-meta.is-compact>button,
:is(#page-tickets,#ticketModal,#recentTickets,#page-new-ticket) .ticket-workspace-inspector .ticket-inspector-topline .tk-scope-target {
  box-sizing:border-box;
  height:58px;
  min-height:58px;
  padding:0 14px;
  border:1px solid var(--ticket-workspace-line);
  border-radius:12px;
  background:color-mix(in srgb,var(--muted) 3%,var(--surface-solid,#fff));
}
:is(#page-tickets,#ticketModal,#recentTickets,#page-new-ticket) .ticket-workspace-inspector .ticket-inspector-topline .ticket-inspector-meta.is-compact>button {
  width:clamp(132px,18vw,190px);
  min-width:0;
}
:is(#page-tickets,#ticketModal,#recentTickets,#page-new-ticket) .ticket-workspace-inspector .ticket-inspector-topline .tk-scope-panel {
  display:flex;
  flex:1 1 240px;
  min-width:110px;
  margin:0;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
}
:is(#page-tickets,#ticketModal,#recentTickets,#page-new-ticket) .ticket-workspace-inspector .ticket-inspector-topline .tk-scope-panel-label { display:none; }
:is(#page-tickets,#ticketModal,#recentTickets,#page-new-ticket) .ticket-workspace-inspector .ticket-inspector-topline :is(.tk-scope-orders,.tk-scope-order) {
  min-width:0;
  width:100%;
}
:is(#page-tickets,#ticketModal,#recentTickets,#page-new-ticket) .ticket-workspace-inspector .ticket-inspector-topline .tk-scope-order-route { display:block; }
:is(#page-tickets,#ticketModal,#recentTickets,#page-new-ticket) .ticket-workspace-inspector .ticket-inspector-topline .tk-scope-target {
  width:100%;
  max-width:none;
}
:is(#page-tickets,#ticketModal,#recentTickets,#page-new-ticket) .ticket-workspace-inspector .ticket-inspector-topline .tk-scope-target>span { min-width:0; }
:is(#page-tickets,#ticketModal,#recentTickets,#page-new-ticket) .ticket-workspace-inspector .ticket-inspector-topline .tk-scope-target strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }

:is(#page-tickets,#ticketModal,#recentTickets,#page-new-ticket) .ticket-workspace-inspector .ticket-inspector-topline .ticket-meta-priority.is-priority-1,
:is(#page-tickets,#ticketModal,#recentTickets,#page-new-ticket) .ticket-workspace-inspector .ticket-inspector-topline .ticket-meta-priority.is-priority-2 {
  border-color:color-mix(in srgb,#e5484d 24%,var(--ticket-workspace-line));
  background:color-mix(in srgb,#e5484d 6%,var(--surface-solid,#fff));
}
:is(#page-tickets,#ticketModal,#recentTickets,#page-new-ticket) .ticket-workspace-inspector .ticket-inspector-topline .ticket-meta-priority:is(.is-priority-1,.is-priority-2)>strong {
  color:#d9484d;
}

:is(#page-tickets,#ticketModal,#recentTickets,#page-new-ticket) .ticket-workspace-inspector .tk-scope-editor-row {
  flex:1 0 100%;
  min-width:0;
}
:is(#page-tickets,#ticketModal,#recentTickets,#page-new-ticket) .ticket-workspace-inspector .tk-scope-editor-row .tk-scope-editor {
  margin:2px 0 0;
  padding:11px 12px 10px;
  border-color:color-mix(in srgb,#8b5cf6 25%,var(--ticket-workspace-line));
  border-radius:12px;
  background:color-mix(in srgb,#8b5cf6 3%,var(--surface-solid,#fff));
  box-shadow:none;
}
:is(#page-tickets,#ticketModal,#recentTickets,#page-new-ticket) .ticket-workspace-inspector .tk-scope-editor-head {
  margin:0;
  justify-content:space-between;
}
:is(#page-tickets,#ticketModal,#recentTickets,#page-new-ticket) .ticket-workspace-inspector .tk-scope-editor-row .tk-scope-choice-list {
  grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
  gap:6px;
  margin-top:8px;
}
:is(#page-tickets,#ticketModal,#recentTickets,#page-new-ticket) .ticket-workspace-inspector .tk-scope-editor-row .tk-scope-choice {
  min-height:42px;
  padding:7px 9px;
  border-radius:9px;
}
:is(#page-tickets,#ticketModal,#recentTickets,#page-new-ticket) .ticket-workspace-inspector .tk-scope-editor-row .tk-scope-editor-actions {
  margin-top:8px;
  padding-top:8px;
}

@media (max-width:720px) {
  :is(#page-tickets,#ticketModal,#recentTickets,#page-new-ticket) .ticket-workspace-inspector .ticket-inspector-topline { flex-wrap:wrap; }
  :is(#page-tickets,#ticketModal,#recentTickets,#page-new-ticket) .ticket-workspace-inspector .ticket-inspector-topline .tk-scope-panel { flex-basis:100%; }
}

@media (max-width:720px) {
  #page-tickets .ticket-file-row { grid-template-columns:7px minmax(0,1fr) 52px; }
  #page-tickets .ticket-file-side { width:52px; }
  .ticket-inspector-scroll .tk-scope-panel.is-single-order { grid-template-columns:1fr; }
}

/* Ticket yanıtını sipariş notuna taşıma penceresi: seçim formu değil,
   sipariş detayındaki Notlar alanının canlı maketi önde durur. */
.ticket-note-dialog { width:min(720px,94vw); max-height:90vh; padding:0; border:1px solid var(--border); border-radius:18px; background:var(--surface-solid,var(--surface)); color:var(--text); box-shadow:0 28px 90px rgba(0,0,0,.34); }
.ticket-note-dialog::backdrop { background:rgba(0,0,0,.62); backdrop-filter:blur(5px); }
.tn-form { display:flex; flex-direction:column; gap:16px; max-height:90vh; padding:22px; overflow:auto; }
.tn-head { display:flex; align-items:end; justify-content:space-between; gap:18px; }
.tn-head strong { font-size:18px; font-weight:800; letter-spacing:-.02em; }
.tn-head p { margin:5px 0 0; color:var(--muted); font-size:13px; line-height:1.5; }
.tn-preview-list { display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:12px; }
.tn-preview { overflow:hidden; border:1px solid color-mix(in srgb,var(--border) 85%,transparent); border-radius:14px; background:var(--surface-solid,var(--surface)); box-shadow:0 10px 24px rgba(0,0,0,.07); }
.tn-preview-title { display:flex; align-items:center; justify-content:space-between; gap:8px; padding:12px 14px; border-bottom:1px solid var(--border); background:color-mix(in srgb,var(--surface) 82%,var(--accent) 4%); }
.tn-preview-title strong { font-size:10px; font-weight:800; letter-spacing:.1em; color:var(--muted); }
.tn-preview-title span { font-size:10px; color:var(--muted); }
.tn-preview-order { display:flex; flex-direction:column; gap:2px; padding:12px 14px 4px; }
.tn-preview-order b { font-size:13px; font-weight:800; }.tn-preview-order span { overflow:hidden; color:var(--muted); font-size:11px; text-overflow:ellipsis; white-space:nowrap; }
.tn-preview-tabs { display:flex; gap:12px; padding:8px 14px; border-bottom:1px solid color-mix(in srgb,var(--border) 68%,transparent); }
.tn-preview-tabs span { color:var(--muted); font-size:11px; font-weight:650; }.tn-preview-tabs .is-active { color:var(--text); }
.tn-preview-entry { position:relative; padding:14px 14px 15px 18px; }.tn-preview-entry::before { content:""; position:absolute; top:14px; bottom:15px; left:8px; width:2px; border-radius:2px; background:var(--note-tone,var(--accent)); }
.tn-preview-entry header { display:flex; align-items:center; gap:7px; min-width:0; margin-bottom:7px; }.tn-preview-tag { display:inline-flex; align-items:center; gap:5px; color:var(--note-tone,var(--accent)); font-size:10px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }.tn-preview-tag i { width:5px; height:5px; border-radius:50%; background:currentColor; }.tn-preview-by,.tn-preview-entry time { color:var(--muted); font-size:10px; font-weight:600; white-space:nowrap; }.tn-preview-by::before { content:"·"; margin-right:6px; }.tn-preview-entry time { margin-left:auto; }
.tn-preview-entry p { margin:0; color:var(--text); font-size:13px; line-height:1.6; white-space:pre-wrap; }.tn-preview-scope { display:flex; flex-wrap:wrap; gap:5px; margin-top:10px; color:var(--muted); font-size:10px; font-weight:650; }.tn-preview-scope.is-empty { color:#cc7a22; }
.tn-preview footer { padding:9px 14px; border-top:1px solid color-mix(in srgb,var(--border) 68%,transparent); background:color-mix(in srgb,var(--surface) 88%,var(--accent) 3%); }.tn-preview footer span { color:var(--muted); font-size:10px; line-height:1.4; }
.tn-settings { padding:14px; border:1px solid var(--border); border-radius:14px; background:color-mix(in srgb,var(--surface) 92%,var(--accent) 3%); }.tn-settings-head { display:flex; align-items:baseline; justify-content:space-between; gap:10px; margin-bottom:11px; }.tn-settings-head b { font-size:12px; font-weight:800; }.tn-settings-head span { color:var(--muted); font-size:11px; }
.tn-label { display:flex; align-items:center; gap:9px; font-size:11px; font-weight:800; letter-spacing:.07em; text-transform:uppercase; color:var(--muted); }.tn-label select { flex:1; padding:8px 10px; border:1px solid var(--border); border-radius:9px; background:var(--surface-solid,var(--surface)); color:var(--text); font-size:13px; font-weight:600; letter-spacing:0; text-transform:none; }
.tn-orders { display:flex; flex-direction:column; gap:9px; margin-top:11px; }.tn-order { padding:10px 11px; border:1px solid var(--border); border-radius:11px; background:var(--surface-solid,var(--surface)); }.tn-order header { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:8px; }.tn-order header b { font-size:12px; font-weight:800; }.tn-all { display:inline-flex; align-items:center; gap:6px; font-size:12px; font-weight:650; letter-spacing:0; text-transform:none; color:var(--muted); cursor:pointer; }.tn-fabrics { display:flex; flex-direction:column; gap:4px; margin-top:7px; }.tn-fabrics[hidden] { display:none; }.tn-fabric { display:flex; align-items:center; gap:9px; padding:5px 7px; border-radius:8px; letter-spacing:0; text-transform:none; cursor:pointer; }.tn-fabric:hover { background:var(--accent-soft); }.tn-fabric span { display:flex; flex-direction:column; min-width:0; }.tn-fabric b { font-size:12px; font-weight:700; }.tn-fabric small,.tn-empty { color:var(--muted); font-size:11px; }.tn-empty { margin:7px 0 0; }
.tn-foot { display:flex; justify-content:flex-end; gap:9px; padding-top:2px; }
@media (max-width:560px) { .tn-form { padding:15px; }.tn-head { display:block; }.tn-preview-list { grid-template-columns:1fr; }.tn-head strong { font-size:16px; } }
.ticket-activity-actions .is-note:hover { color:#20b486; }

/* ── Test kullanıcısı (yönetici) ───────────────────────────────────────────
   Ofis penceresindeki panel ve mod açıkken ekranda duran şerit. Şerit bilerek
   dikkat çeker: bu kimlikle yazılan her şey gerçek veriye gider. */
.office-test-persona { margin-top:16px; padding-top:14px; border-top:1px solid var(--border); text-align:left; }
.office-test-head { display:flex; align-items:baseline; justify-content:space-between; gap:10px; }
.office-test-head b { font-size:12px; font-weight:750; color:var(--text); }
.office-test-head small { color:var(--muted); font-size:9.5px; font-weight:650; letter-spacing:.04em; text-transform:uppercase; }
.office-test-persona p { margin:6px 0 10px; color:var(--muted); font-size:11px; line-height:1.5; }
.office-test-persona p b { color:var(--text); font-weight:700; }
.office-test-btns { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.office-test-btns button {
  min-height:36px; padding:8px 10px; border:1px solid var(--border); border-radius:10px;
  background:var(--surface-solid,#fff); color:var(--text); font:650 11.5px inherit; cursor:pointer;
  transition:border-color .15s ease, background .15s ease, color .15s ease;
}
.office-test-btns button:hover { border-color:color-mix(in srgb,#c07f2a 45%,var(--border)); color:#c07f2a; }
.office-test-btns button.is-active { border-color:#c07f2a; color:#c07f2a; background:color-mix(in srgb,#c07f2a 10%,transparent); }
.office-test-exit {
  width:100%; min-height:34px; margin-top:8px; padding:7px 10px; border:0; border-radius:10px;
  background:transparent; color:var(--muted); font:650 11px inherit; cursor:pointer;
}
.office-test-exit:hover { color:var(--text); background:color-mix(in srgb,var(--muted) 10%,transparent); }

.test-persona-badge {
  position:fixed; left:50%; bottom:18px; z-index:1200; transform:translateX(-50%);
  display:inline-flex; align-items:center; gap:9px; padding:8px 13px;
  border:1px solid color-mix(in srgb,#c07f2a 45%,transparent); border-radius:999px;
  background:color-mix(in srgb,#c07f2a 16%,var(--surface-solid,#fff));
  color:#8a5a12; font:700 11px inherit; cursor:pointer;
  box-shadow:0 12px 30px -16px rgba(0,0,0,.45);
}
/* display:inline-flex, [hidden] özniteliğinin display:none'unu eşit özgüllükle
   eziyordu; "Çık" dendikten sonra şerit ekranda kalıyordu (2026-09-15). */
.test-persona-badge[hidden] { display:none; }
.test-persona-badge i { width:7px; height:7px; border-radius:50%; background:#c07f2a; }
.test-persona-badge b { padding-left:9px; border-left:1px solid color-mix(in srgb,#c07f2a 35%,transparent); font-weight:750; }
.test-persona-badge:hover { background:color-mix(in srgb,#c07f2a 24%,var(--surface-solid,#fff)); }
html[data-theme="dark"] .test-persona-badge { color:#f0c07a; background:color-mix(in srgb,#c07f2a 26%,#1c1c1e); }

/* ================= YALIN ARAÇLAR KATMANI (Fotoğraflar) ================= */
/* .photo-card { position:relative; isolation:isolate } kartların her birini
   yığın bağlamı yapıyor; komut kartı DOM'da önce geldiği için açılır katman
   kartların ALTINDA boyanıyordu. Komut kartını kendi yığın bağlamıyla ızgaranın
   üstüne alıyoruz. */

.lean-tools { position:relative; }
.lean-tools-btn {
  display:inline-flex; align-items:center; gap:8px;
  height:40px; padding:0 15px;
  border:1px solid var(--border); border-radius:13px;
  background:var(--surface-solid,#fff); color:var(--text);
  font-size:13px; font-weight:650; letter-spacing:.01em;
  cursor:pointer; white-space:nowrap;
  transition:border-color .16s ease, background .16s ease, transform .16s ease;
}
.lean-tools-btn svg { width:17px; height:17px; stroke-width:1.9; color:var(--muted); transition:color .16s ease; }
.lean-tools-btn:hover { border-color:color-mix(in srgb,var(--accent) 34%,var(--border)); transform:translateY(-1px); }
.lean-tools-btn:hover svg,
.lean-tools-btn.open svg { color:var(--accent); }
.lean-tools-btn.open {
  border-color:color-mix(in srgb,var(--accent) 45%,var(--border));
  background:color-mix(in srgb,var(--accent) 9%,var(--surface-solid,#fff));
}
.lean-tools-dot {
  width:7px; height:7px; border-radius:50%;
  background:var(--accent); box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent);
}
.lean-tools-dot[hidden] { display:none; }

.lean-pop {
  position:absolute; top:calc(100% + 10px); right:0; z-index:90;
  width:min(360px,calc(100vw - 32px));
  border:1px solid var(--border); border-radius:18px;
  background:var(--surface-solid,#fff);
  box-shadow:0 26px 60px rgba(15,23,42,.16), 0 2px 8px rgba(15,23,42,.06);
  overflow:hidden;
  animation:leanPopIn .16s ease;
}

.lean-pop[hidden] { display:none; }
@keyframes leanPopIn { from { opacity:0; transform:translateY(-6px); } to { opacity:1; transform:none; } }
.lean-pop-head {
  display:flex; align-items:center; justify-content:space-between; gap:12px;
  padding:13px 15px; border-bottom:1px solid var(--border);
}
.lean-pop-head span { font-size:13px; font-weight:650; color:var(--desk-ink,var(--text)); }
.lean-pop-head button {
  width:26px; height:26px; display:grid; place-items:center;
  border:0; border-radius:9px; background:transparent;
  color:var(--muted); font-size:18px; line-height:1; cursor:pointer;
}
.lean-pop-head button:hover { background:color-mix(in srgb,var(--text) 7%,transparent); color:var(--text); }
.lean-pop-body { display:grid; gap:12px; padding:14px 15px 15px; max-height:min(72vh,620px); overflow:auto; }
.lean-pop-primary { width:100%; justify-content:center; gap:8px; }
.lean-pop-primary svg { width:16px; height:16px; stroke-width:2.2; }

.lean-pop-group { display:grid; grid-template-columns:1fr 1fr; gap:9px; }

.lean-field { display:grid; gap:5px; min-width:0; }
.lean-field[hidden] { display:none; }
.lean-field > span { color:var(--muted); font-size:10.5px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
.lean-field select,
.lean-field input { width:100%; min-width:0; }
.lean-pop-link { justify-self:start; margin:-4px 0 0; padding:0; border:0; background:none; color:var(--accent); font:600 var(--type-meta,12px)/1.3 var(--font); cursor:pointer; }
.lean-pop-link:hover { text-decoration:underline; text-underline-offset:3px; }
.lean-pop-link[hidden] { display:none; }
.photo-storage-actions .lean-pop-link { margin:0; color:var(--desk-muted,var(--muted)); }
.photo-storage-actions .lean-pop-link:hover { color:var(--danger); }


/* field-clear-wrap sarmalayıcısı kutunun esneklik değerlerini satır içi stil
   olarak kopyalar; bu yüzden genişleme kutunun KENDİSİNE verilmelidir. */

html[data-theme="dark"] .lean-tools-btn,
html[data-theme="dark"] .lean-pop { background:#1d1d20; }
html[data-theme="dark"] .lean-pop { box-shadow:0 26px 60px rgba(0,0,0,.5); }

@media (max-width:700px) {
  
  .lean-tools-btn { width:100%; justify-content:center; }
  .lean-pop { right:auto; left:0; width:min(360px,calc(100vw - 28px)); }


}

/* ===== WHATSAPP KİŞİLERİ · YALIN GÖVDE =====
   Galerideki dille aynı: yeşil degradeler ve iç içe kutular yerine düz yüzey,
   tek vurgu rengi (avatar + seçili satır) ve etiketsiz başlıklar. */

/* field-clear-wrap sarmalayıcısı kutunun esneklik değerlerini satır içi
   kopyalıyor; genişleme kutunun KENDİSİNE verilmeli (yoksa kutu daralıp
   yazısı kabuğun dışına taşıyor — ekranda üst üste binmiş görünüyordu). */

/* Kişi listesi */

/* Profil: kutu yok, tek satır */

/* Akıllı hızlı atama: iç kutu ve degrade yok */

/* Seçili sipariş: etiket satırı yerine tek çizgi */

/* Fotoğraf seçici: yeşil kutu yerine düz alan */

/* Sipariş kartları */

/* .photo-wa-picker button { position:relative; height:75px; ... } kuralı
   fotoğraf küçük resimleri için yazılmış ama arama kutusuna otomatik eklenen
   .field-clear düğmesini de yakalıyordu: düğme 75px'e şişip sarmalayıcıyı
   büyütüyor, kutunun yazısı kabuğun dışına taşıyordu. Temizle düğmesini kendi
   tanımına geri döndürüyoruz. */

/* ===== TAKVİM YAN PANELİ · KISA SATIR + AÇILIR LİSTE ===== */
/* Satır yalnız sipariş no + kalan gün taşıyor; amaç kaydırmadan 12-15 termini
   birden görebilmek. Kalan gün rozeti sipariş nosundan KÜÇÜK kalmalı. */
.termin-upcoming-row.is-compact {
  /* Ofis kodu sipariş numarasının HEMEN yanında durur (numaranın bir parçası
     gibi okunur); kalan gün rozeti satırın sağ ucuna yaslanır. Aradaki boşluğu
     esneyen üçüncü sütun verir. */
  grid-template-columns:minmax(0,auto) auto minmax(0,1fr);
  align-items:center; column-gap:7px;
  /* Satırlar panelin sol kenarına yakın başlar; çoklu terminlerin Roma rakamı
     ile birlikte sipariş numarası tek bakışta okunur. */
  margin-bottom:3px; padding:6px 13px;
  border-radius:8px;
}
#page-dashboard .termin-upcoming-row.is-compact { margin-bottom:3px; padding:6px 13px; border-radius:8px; }
.termin-upcoming-row.is-compact .termin-up-sip { font-size:12px; font-weight:650; line-height:1.25; }
/* Ofis kodu (IST/BRS): sipariş nosundan sonra, ince ve sessiz — satırı okurken
   gözü kalan gün rozetine bırakır. */
.termin-upcoming-row.is-compact .termin-up-office {
  color:var(--muted); font-size:10px; font-weight:400; letter-spacing:.06em;
  white-space:nowrap; opacity:.85;
}
.termin-upcoming-row.is-compact .termin-badge {
  justify-self:end;
  padding:1px 7px; border-radius:7px;
  font-size:10px; font-weight:650; line-height:1.5;
}

/* Açılır bölüm başlığı */
.termin-section-head.is-toggle {
  width:100%; display:flex; align-items:center; gap:8px;
  margin-bottom:0; padding:6px 2px;
  border:0; background:transparent; color:inherit;
  text-align:left; cursor:pointer;
  border-radius:8px;
}
.termin-section-head.is-toggle:hover { background:rgba(127,127,127,.06); }
.termin-section-head.is-toggle .termin-upcoming-title { flex:1 1 auto; min-width:0; margin-bottom:0; }
.termin-section-chevron {
  flex:0 0 auto; width:15px; height:15px; display:grid; place-items:center;
  color:var(--muted); transition:transform .16s ease;
}
.termin-section-chevron svg { width:13px; height:13px; stroke-width:2.2; }
.termin-section-head.is-toggle[aria-expanded="true"] .termin-section-chevron { transform:rotate(90deg); }
.termin-accordion-body {
  max-height:min(58vh,520px); overflow-y:auto;
  margin:6px -5px 0 0; padding-right:5px;
}
.termin-accordion-body::-webkit-scrollbar { width:7px; }
.termin-accordion-body::-webkit-scrollbar-thumb { background:rgba(127,127,127,.28); border-radius:6px; }
.termin-accordion:not(.is-open) { padding-bottom:0; }
.termin-accordion-body .termin-upcoming-empty { padding:6px 2px; }

/* ===== NOT KİLİDİ KODU (4 hane) ===== */
.note-pin-cells { --pin-size:40px; position:relative; display:inline-grid; grid-template-columns:repeat(4,var(--pin-size)); gap:8px; }
.note-pin-cells.is-large { --pin-size:48px; gap:10px; }
.note-pin-cells input { position:absolute; inset:0; z-index:1; width:100%; height:100%; margin:0; padding:0; border:0; outline:0; opacity:0; color:transparent; background:transparent; caret-color:transparent; font-size:16px; cursor:text; }
.note-pin-cells span { position:relative; height:calc(var(--pin-size) + 6px); border:1px solid var(--border); border-radius:12px; background:var(--surface-raised,var(--surface)); transition:border-color .15s ease, box-shadow .15s ease, background .15s ease; }
.note-pin-cells span::after { content:""; position:absolute; left:50%; top:50%; width:9px; height:9px; margin:-4.5px 0 0 -4.5px; border-radius:50%; background:var(--text); transform:scale(0); transition:transform .14s cubic-bezier(.3,1.6,.5,1); }
.note-pin-cells span.is-filled::after { transform:scale(1); }
.note-pin-cells span.is-active { border-color:var(--accent); box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 14%,transparent); }
.note-pin-cells.is-checking span { opacity:.6; }
.note-pin-cells.is-ok span { border-color:#16a34a; background:rgba(22,163,74,.08); }
.note-pin-cells.is-ok span::after { background:#16a34a; }
.note-pin-cells.is-wrong { animation:notePinShake .36s ease; }
.note-pin-cells.is-wrong span { border-color:#dc2626; }
@keyframes notePinShake { 20%,60% { transform:translateX(-6px); } 40%,80% { transform:translateX(6px); } }
.note-pin-pop {
  position:fixed; z-index:10050; display:flex; flex-direction:column; align-items:center; gap:12px;
  padding:16px 16px 10px; border:1px solid var(--border); border-radius:18px;
  background:var(--surface-solid,var(--surface)); color:var(--text);
  box-shadow:0 22px 50px rgba(15,23,42,.18), 0 2px 6px rgba(15,23,42,.06);
  opacity:0; transform:translateY(-4px) scale(.98); transition:opacity .15s ease, transform .15s ease;
}
.note-pin-pop.show { opacity:1; transform:none; }
.note-pin-lock { width:30px; height:30px; display:grid; place-items:center; border-radius:10px; color:var(--accent); background:var(--accent-soft); }
.note-pin-lock svg { width:16px; height:16px; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.note-pin-forgot { border:0; background:transparent; color:var(--muted); font:600 11px inherit; padding:4px 8px; border-radius:7px; cursor:pointer; }
.note-pin-forgot:hover { color:var(--accent); background:var(--accent-soft); }
.note-pin-pop.is-waiting .note-pin-cells { opacity:.45; }
.note-pin-pop.is-waiting .note-pin-forgot::before { content:attr(data-wait); }
.note-pin-pop.is-waiting .note-pin-lock { color:#dc2626; background:rgba(220,38,38,.1); }
html[data-theme=dark] .note-pin-pop { box-shadow:0 22px 50px rgba(0,0,0,.45); }
@media (prefers-reduced-motion: reduce) { .note-pin-cells.is-wrong { animation:none; } .note-pin-pop { transition:none; } }

/* ===== ••• MENÜ KISAYOLLARI ===== */
.order-modal-menu-item.has-shortcuts { grid-template-columns:31px minmax(0,1fr) 18px; }
.ticket-action-menu>button.has-shortcuts { grid-template-columns:25px minmax(0,1fr) 18px; }
.ticket-action-menu>button.has-shortcuts>.menu-shortcut-caret { grid-column:3; grid-row:1/-1; }
/* Liste başlığı (ör. "SİP 439"): hangi kaydın listesi olduğunu söyler. */
.menu-shortcut-head {
  padding:5px 9px 7px;
  margin-bottom:3px;
  border-bottom:1px solid var(--border);
  color:var(--muted);
  font:700 9.5px var(--font);
  letter-spacing:.09em;
  text-transform:uppercase;
}
.menu-shortcut-caret { width:18px; height:22px; display:grid; place-items:center; border-radius:6px; color:var(--muted); opacity:.55; transition:opacity .15s, background .15s, color .15s; }
.menu-shortcut-caret svg { width:13px; height:13px; stroke-width:2.2; }
[data-shortcuts]:hover .menu-shortcut-caret, [data-shortcuts].is-shortcut-open .menu-shortcut-caret { opacity:1; color:var(--text); background:color-mix(in srgb,currentColor 8%,transparent); }
.order-modal-menu-item.is-shortcut-open { background:color-mix(in srgb,currentColor 7%,transparent); }
.menu-shortcut-pop {
  position:fixed; z-index:10040; min-width:196px; max-width:260px; max-height:min(340px,calc(100vh - 16px)); overflow-y:auto;
  display:grid; gap:2px; padding:5px; border:1px solid var(--border); border-radius:13px;
  background:var(--surface-solid,var(--surface)); color:var(--text);
  box-shadow:0 18px 44px rgba(15,23,42,.18), 0 2px 6px rgba(15,23,42,.06);
  opacity:0; transform:translateX(-4px); transition:opacity .13s ease, transform .13s ease;
}
.menu-shortcut-pop.show { opacity:1; transform:none; }
.menu-shortcut-pop[hidden] { display:none; }
.menu-shortcut-pop.is-ticket { max-width:min(340px,calc(100vw - 16px)); }
.menu-shortcut-item {
  min-height:34px; display:grid; grid-template-columns:22px minmax(0,1fr) auto; align-items:center; gap:8px;
  padding:6px 9px 6px 7px; border:0; border-radius:9px; background:transparent; color:var(--text);
  font:650 11.5px inherit; text-align:left; cursor:pointer;
}
.menu-shortcut-item:hover, .menu-shortcut-item:focus-visible { outline:0; background:color-mix(in srgb,var(--accent) 9%,transparent); }
.menu-shortcut-item:disabled { cursor:default; opacity:.5; background:transparent; }
.menu-shortcut-icon { width:22px; height:22px; display:grid; place-items:center; border-radius:7px; color:var(--accent); background:var(--accent-soft); }
.menu-shortcut-icon svg { width:14px; height:14px; stroke-width:1.9; stroke-linecap:round; stroke-linejoin:round; }
.menu-shortcut-item.has-category-icon .menu-shortcut-icon { color:var(--shortcut-color); background:color-mix(in srgb,var(--shortcut-color) 13%,transparent); }
.menu-shortcut-item.is-termin .menu-shortcut-icon { color:#b7791f; background:rgba(229,184,79,.16); }
.menu-shortcut-item.is-kalite .menu-shortcut-icon { color:#dc2626; background:rgba(220,38,38,.1); }
.menu-shortcut-item.is-danger { color:#d9352d; }
.menu-shortcut-item.is-danger .menu-shortcut-icon { color:#d9352d; background:rgba(255,69,58,.1); }
.menu-shortcut-item.is-danger:hover { background:rgba(255,69,58,.09); }
.menu-shortcut-dot { justify-self:center; width:10px; height:10px; border-radius:50%; background:var(--dot); box-shadow:0 0 0 3px color-mix(in srgb,var(--dot) 18%,transparent); }
.menu-shortcut-copy { min-width:0; display:grid; gap:2px; }
.menu-shortcut-label { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.menu-shortcut-shared-label { color:var(--muted); font-size:10px; font-weight:400; opacity:.75; }
.menu-shortcut-description { display:-webkit-box; overflow:hidden; -webkit-box-orient:vertical; -webkit-line-clamp:2; color:var(--muted); font-size:10.5px; font-weight:450; line-height:1.3; }
.menu-shortcut-item:has(.menu-shortcut-description) { min-height:49px; }
.menu-shortcut-meta { color:var(--muted); font-size:11px; }
html[data-theme=dark] .menu-shortcut-pop { box-shadow:0 18px 44px rgba(0,0,0,.45); }
@media (prefers-reduced-motion: reduce) { .menu-shortcut-pop { transition:none; } }
/* Header araması: tamamlanan siparişleri genişleten satır — ipucu satırıyla aynı sakin dil. */
.tk-search-more { display:block; width:100%; margin:2px 0 4px; padding:8px 10px; border:0; border-radius:8px; background:transparent; color:var(--accent); font:600 12px var(--font); text-align:left; cursor:pointer; }
.tk-search-more:hover { background:color-mix(in srgb,var(--accent) 9%,transparent); }

/* Hesap istekleri: kullanıcı tablosunun 8 sütunluk genişliklerini ve min-width'ini
   miras alınca Onayla/Reddet sağdan taşıp görünmüyordu. Kendi 4 sütunlu düzeni. */
.admin-users-table.admin-access-table { min-width:0; width:100%; table-layout:auto; }
.admin-users-table.admin-access-table th:nth-child(n) { width:auto; }
.admin-users-table.admin-access-table th:nth-child(1) { width:42%; }
.admin-access-table td:last-child { white-space:nowrap; }
.admin-users-table .admin-access-table .admin-inline-actions, .admin-access-table td.admin-inline-actions { display:table-cell; text-align:right; }
.admin-access-table td.admin-inline-actions .btn { margin-left:8px; }
.admin-access-office { min-width:110px; padding:6px 28px 6px 10px; border:1px solid var(--border); border-radius:8px; background:var(--surface, transparent); color:var(--text); font:inherit; font-size:13px; }
@media (max-width:720px) {
  .admin-access-table thead { display:none; }
  .admin-access-table tr { display:grid; grid-template-columns:1fr auto; gap:8px 12px; padding:12px 0; }
  .admin-access-table td { padding:0 12px; border:0; }
  .admin-access-table td:first-child, .admin-access-table td:last-child { grid-column:1 / -1; }
  .admin-access-table td.admin-inline-actions { display:block; text-align:left; }
  .admin-access-table td.admin-inline-actions .btn { margin:0 8px 0 0; }
}

/* ===== FOTOĞRAFLAR › WHATSAPP KİŞİLERİ (2026-10-11, TASARIM-DILI.md §3.32) =====
   Eski yeşil gradyanlı, iç içe kutulu gövdenin yerine Rehber müşteri kartındaki
   WhatsApp bölümünün (.cwa) dili: tek kâğıt, 1px ayraç, satır = kimlik + başlık
   + tek sağ değer. Sipariş künyesi satırda değil, ortak sipariş kartında. */
.wak { display:grid; gap:var(--space-3); min-width:0; }
.wak-toolbar { display:flex; align-items:center; gap:var(--space-2); min-width:0; }
.wak label.wak-search { display:flex; align-items:center; gap:var(--space-2); flex:1 1 auto; min-width:0; height:38px; margin:0; padding:0 var(--space-3); border:1px solid transparent; border-radius:10px; background:var(--desk-soft); color:var(--desk-muted); font-size:var(--type-control); font-weight:500; letter-spacing:0; text-transform:none; transition:background .15s ease, border-color .15s ease, box-shadow .15s ease; }
.wak label.wak-search:focus-within { border-color:var(--accent); background:var(--desk-paper); box-shadow:0 0 0 3px var(--accent-soft); }
.wak label.wak-search svg { width:15px; height:15px; flex:0 0 auto; stroke-width:1.9; }
.wak label.wak-search input[type="search"] { appearance:none; -webkit-appearance:none; flex:1 1 auto; width:100%; min-width:0; height:100%; margin:0; padding:0; border:0; outline:0; box-shadow:none; background:none; color:var(--desk-ink); font:500 var(--type-control) var(--font); }
.wak label.wak-search input[type="search"]::placeholder { color:var(--desk-muted); font-weight:400; }
.wak label.wak-search input[type="search"]::-webkit-search-cancel-button { -webkit-appearance:none; appearance:none; }
.wak-toolbar > .wak-search { max-width:420px; }
.wak-count { margin-right:auto; color:var(--desk-muted); font-size:var(--type-meta); font-variant-numeric:tabular-nums; white-space:nowrap; }

.wak-layout { display:grid; grid-template-columns:280px minmax(0,1fr); min-width:0; border:1px solid var(--desk-line); border-radius:16px; background:var(--desk-paper); box-shadow:var(--shadow, none); overflow:hidden; }
.wak-people { display:grid; align-content:start; gap:2px; max-height:min(720px, calc(100dvh - 230px)); overflow:auto; padding:var(--space-2); border-right:1px solid var(--desk-line); }
.wak-person { display:grid; grid-template-columns:36px minmax(0,1fr) auto; align-items:center; gap:var(--space-3); width:100%; min-height:52px; padding:8px; border:0; border-radius:12px; background:none; color:inherit; font:inherit; text-align:left; cursor:pointer; transition:background .13s ease; }
.wak-person:hover { background:var(--desk-soft); }
.wak-person.is-on { background:color-mix(in srgb, var(--accent) 9%, transparent); }
.wak-person:focus-visible { outline:2px solid var(--accent); outline-offset:-2px; }
.wak-avatar { display:grid; place-items:center; width:36px; height:36px; border-radius:50%; background:color-mix(in srgb, var(--accent) 14%, transparent); color:var(--accent); font-size:var(--type-meta); font-weight:700; letter-spacing:.02em; }
.wak-avatar.is-lg { width:44px; height:44px; font-size:var(--type-control); }
.wak-person-copy { display:grid; gap:2px; min-width:0; }
.wak-person-copy strong { overflow:hidden; color:var(--desk-ink); font-size:var(--type-control); font-weight:600; text-overflow:ellipsis; white-space:nowrap; }
.wak-person-copy small { overflow:hidden; color:var(--desk-muted); font-size:var(--type-meta); font-variant-numeric:tabular-nums; text-overflow:ellipsis; white-space:nowrap; }
.wak-person-count { min-width:22px; height:20px; padding:0 7px; border-radius:999px; background:var(--desk-soft); color:var(--desk-muted); font-size:var(--type-caption); font-weight:650; line-height:20px; text-align:center; font-variant-numeric:tabular-nums; }
.wak-person.is-on .wak-person-count { background:var(--desk-paper); color:var(--accent); }

.wak-detail { display:grid; align-content:start; min-width:0; padding:var(--space-4) var(--space-5) var(--space-5); }
.wak-head { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:var(--space-3); padding-bottom:var(--space-4); border-bottom:1px solid var(--desk-line); }
.wak-head-copy { display:grid; gap:2px; min-width:0; }
.wak-head-copy h3 { margin:0; overflow:hidden; color:var(--desk-ink); font-size:var(--type-section); font-weight:680; letter-spacing:-.02em; text-overflow:ellipsis; white-space:nowrap; }
.wak-head-copy small { overflow:hidden; color:var(--desk-muted); font-size:var(--type-meta); font-variant-numeric:tabular-nums; text-overflow:ellipsis; white-space:nowrap; }
.wak-head-meta { color:var(--desk-muted); font-size:var(--type-meta); font-variant-numeric:tabular-nums; white-space:nowrap; }

.wak-grid { display:grid; grid-template-columns:minmax(0,.95fr) minmax(0,1.25fr); min-width:0; }
.wak-col { display:grid; align-content:start; gap:var(--space-2); min-width:0; padding-top:var(--space-4); }
.wak-col:first-child { padding-right:var(--space-4); border-right:1px solid var(--desk-line); }
.wak-col + .wak-col { padding-left:var(--space-4); }
.wak-col-head { display:flex; align-items:baseline; gap:var(--space-2); min-height:24px; }
.wak-col-head strong { color:var(--desk-ink); font-size:var(--type-control); font-weight:650; font-variant-numeric:tabular-nums; white-space:nowrap; }
.wak-col-head small { overflow:hidden; color:var(--desk-muted); font-size:var(--type-meta); font-variant-numeric:tabular-nums; text-overflow:ellipsis; white-space:nowrap; }
.wak-col-head-split { margin-top:var(--space-2); padding-top:var(--space-3); border-top:1px solid var(--desk-line); }
.wak label.wak-search.is-inline { flex:0 0 auto; height:36px; }

.wak-orders { display:grid; align-content:start; gap:2px; max-height:420px; overflow:auto; margin:0 calc(var(--space-2) * -1); padding:0 var(--space-2); }
.wak-order { display:grid; grid-template-columns:8px minmax(0,1fr) auto; align-items:center; gap:var(--space-3); width:100%; min-height:48px; padding:6px var(--space-2); border:0; border-radius:10px; background:none; color:inherit; font:inherit; text-align:left; cursor:pointer; transition:background .13s ease; }
.wak-order:hover { background:var(--desk-soft); }
.wak-order.is-on { background:color-mix(in srgb, var(--accent) 9%, transparent); }
.wak-order:focus-visible { outline:2px solid var(--accent); outline-offset:-2px; }
.wak-stage { width:8px; height:8px; border-radius:50%; background:var(--desk-muted); }
.wak-stage.is-orme { background:var(--accent); }
.wak-stage.is-boyahane { background:var(--success); }
.wak-stage.is-sevkiyat { background:var(--warning); }
.wak-stage.is-tamamlandi { background:color-mix(in srgb, var(--desk-muted) 60%, transparent); }
.wak-order-id { display:grid; gap:1px; min-width:0; }
.wak-order-id strong { overflow:hidden; color:var(--desk-ink); font-size:var(--type-control); font-weight:600; font-variant-numeric:tabular-nums; text-overflow:ellipsis; white-space:nowrap; }
.wak-order-id small { overflow:hidden; color:var(--desk-muted); font-size:var(--type-meta); text-overflow:ellipsis; white-space:nowrap; }
.wak-order-count { color:var(--desk-ink); font-size:var(--type-meta); font-weight:600; font-variant-numeric:tabular-nums; white-space:nowrap; }
.wak-order-count.is-zero { color:var(--desk-muted); font-weight:500; }
.wak-order.is-on .wak-order-count:not(.is-zero) { color:var(--accent); }
.wak-divider-label { margin:var(--space-2) var(--space-2) 2px; padding-top:var(--space-2); border-top:1px solid var(--desk-line); color:var(--desk-muted); font-size:var(--type-caption); font-weight:650; letter-spacing:.08em; text-transform:uppercase; }

.wak-linked { display:flex; flex-wrap:wrap; gap:var(--space-2); }
.wak-linked-thumb { width:64px; height:64px; padding:0; overflow:hidden; border:0; border-radius:10px; background:var(--desk-soft); cursor:zoom-in; }
.wak-linked-thumb img { width:100%; height:100%; display:block; object-fit:cover; transition:transform .2s cubic-bezier(.2,.75,.25,1); }
.wak-linked-thumb:hover img { transform:scale(1.04); }
.wak-linked-thumb:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }

.wak-photos { display:grid; grid-template-columns:repeat(auto-fill, minmax(96px, 1fr)); gap:var(--space-3) var(--space-2); margin-top:var(--space-1); }
.wak-photo { display:grid; gap:3px; min-width:0; padding:0; border:0; background:none; color:inherit; font:inherit; text-align:left; cursor:pointer; }
.wak-photo-img { position:relative; display:block; aspect-ratio:1; overflow:hidden; border-radius:10px; background:var(--desk-soft); }
.wak-photo-img img { width:100%; height:100%; display:block; object-fit:cover; transition:transform .2s cubic-bezier(.2,.75,.25,1); }
.wak-photo-img b { position:absolute; right:6px; bottom:6px; padding:3px 9px; border-radius:999px; background:var(--accent); color:var(--on-accent, white); font-size:var(--type-caption); font-weight:650; opacity:0; transform:translateY(4px); transition:opacity .15s ease, transform .15s ease; }
.wak-photo:hover .wak-photo-img b, .wak-photo:focus-visible .wak-photo-img b { opacity:1; transform:none; }
.wak-photo:hover .wak-photo-img img { transform:scale(1.03); }
.wak-photo.is-linked .wak-photo-img { box-shadow:inset 0 0 0 2px var(--accent); }
.wak-photo.is-linked .wak-photo-img b { opacity:1; transform:none; background:var(--desk-paper); color:var(--accent); }
.wak-photo:focus-visible { outline:2px solid var(--accent); outline-offset:2px; border-radius:10px; }
.wak-photo-cap { overflow:hidden; color:var(--desk-ink); font-size:var(--type-meta); font-weight:550; text-overflow:ellipsis; white-space:nowrap; }
.wak-photo small { color:var(--desk-muted); font-size:var(--type-caption); }

.wak-empty { margin:0; padding:var(--space-3) 0; color:var(--desk-muted); font-size:var(--type-meta); }
.wak-empty.is-center { padding:var(--space-6) var(--space-4); text-align:center; }
.wak-empty.is-page { padding:var(--space-5); border:1px solid var(--desk-line); border-radius:16px; background:var(--desk-paper); text-align:center; }

@media (max-width:1180px) {
  .wak-grid { grid-template-columns:1fr; }
  .wak-col:first-child { padding-right:0; border-right:0; }
  .wak-col + .wak-col { padding-left:0; margin-top:var(--space-4); border-top:1px solid var(--desk-line); }
}
@media (max-width:760px) {
  .wak-layout { grid-template-columns:1fr; }
  .wak-people { max-height:220px; border-right:0; border-bottom:1px solid var(--desk-line); }
  .wak-detail { padding:var(--space-4) 14px; }
  .wak-head { grid-template-columns:auto minmax(0,1fr); }
  .wak-head-meta { grid-column:2; }
  .wak-toolbar > .wak-search { max-width:none; }
  .wak label.wak-search input[type="search"] { font-size:16px; }
  .wak-photos { grid-template-columns:repeat(3, minmax(0, 1fr)); }
}
@media (prefers-reduced-motion: reduce) {
  .wak-person, .wak-order, .wak label.wak-search, .wak-photo-img img, .wak-photo-img b, .wak-linked-thumb img { transition:none; }
}

/* ===== FOTOĞRAFLAR › GALERİ (2026-10-11, TASARIM-DILI.md §3.33) =====
   Arama kartı ve "Fotoğraf gönderilecek WhatsApp hattı" paneli kalktı; tek
   araç şeridi. Kart kapak fotoğrafıyla dolar (yan bant yok), künye altında
   üç sakin satır, eylemler fotoğrafın köşesinde üzerine gelince belirir. */
.pg-toolbar { position:relative; z-index:60; display:flex; align-items:center; gap:var(--space-2); min-width:0; }
.pg-toolbar label.pg-search { display:flex; align-items:center; gap:var(--space-2); flex:1 1 auto; min-width:0; max-width:520px; height:38px; margin:0; padding:0 var(--space-3); border:1px solid transparent; border-radius:10px; background:var(--desk-soft); color:var(--desk-muted); font-size:var(--type-control); font-weight:500; letter-spacing:0; text-transform:none; transition:background .15s ease, border-color .15s ease, box-shadow .15s ease; }
.pg-toolbar label.pg-search:focus-within { border-color:var(--accent); background:var(--desk-paper); box-shadow:0 0 0 3px var(--accent-soft); }
.pg-toolbar label.pg-search svg { width:15px; height:15px; flex:0 0 auto; stroke-width:1.9; }
.pg-toolbar label.pg-search input[type="search"] { appearance:none; -webkit-appearance:none; flex:1 1 auto; width:100%; min-width:0; height:100%; margin:0; padding:0; border:0; outline:0; box-shadow:none; background:none; color:var(--desk-ink); font:500 var(--type-control) var(--font); }
.pg-toolbar label.pg-search input[type="search"]::placeholder { color:var(--desk-muted); font-weight:400; }
.pg-toolbar label.pg-search input[type="search"]::-webkit-search-cancel-button { -webkit-appearance:none; appearance:none; }
.pg-line { display:inline-flex; align-items:center; gap:var(--space-2); height:38px; margin-left:auto; padding:0 var(--space-3) 0 6px; border:1px solid var(--desk-line); border-radius:10px; background:var(--desk-paper); color:var(--desk-ink); font:600 var(--type-meta) var(--font); font-variant-numeric:tabular-nums; white-space:nowrap; cursor:pointer; transition:border-color .15s ease, background .15s ease; }
.pg-line > i { display:grid; place-items:center; width:26px; height:26px; border-radius:8px; background:color-mix(in srgb, var(--success) 14%, transparent); color:var(--success); font-size:10px; font-style:normal; font-weight:750; letter-spacing:.02em; }
.pg-line > svg { width:14px; height:14px; color:var(--desk-muted); stroke-width:1.8; }
.pg-line:hover { border-color:color-mix(in srgb, var(--accent) 35%, var(--desk-line)); }
.pg-line:hover > svg { color:var(--accent); }
.pg-line:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
.pg-toolbar .pg-line ~ .pg-select, .pg-toolbar .pg-select:first-of-type { flex:0 0 auto; }
.pg-toolbar .pg-line[style*="none"] + .pg-select { margin-left:auto; }
.pg-toolbar .pg-select { display:inline-flex; align-items:center; gap:6px; height:38px; }
.pg-toolbar .pg-select svg { width:15px; height:15px; stroke-width:1.9; }
.pg-toolbar .pg-select.active { border-color:var(--accent); background:var(--accent-soft); color:var(--accent); }
.pg-toolbar .lean-tools-btn { height:38px; border-radius:10px; }

.pg-grid { display:grid; grid-template-columns:repeat(auto-fill, minmax(200px, 1fr)); gap:var(--space-5) var(--space-4); }
/* Sayfalı galeri: kalan kartlar aşağı inildikçe kendiliğinden gelir; düğme yedek. */
.pg-more { grid-column:1 / -1; justify-self:center; display:inline-flex; align-items:center; gap:8px; height:34px; padding:0 16px; border:1px solid var(--desk-line,var(--border)); border-radius:999px; background:var(--desk-paper,var(--surface-solid)); color:var(--text); font:inherit; font-size:var(--type-control,13px); font-weight:600; cursor:pointer; }
.pg-more span { color:var(--desk-muted,var(--muted)); font-weight:500; font-variant-numeric:tabular-nums; }
.pg-more:hover { border-color:var(--accent); color:var(--accent); }
.pg-card { position:relative; display:grid; align-content:start; gap:var(--space-2); min-width:0; border-radius:16px; content-visibility:auto; contain-intrinsic-size:auto 280px; }
.pg-media { position:relative; }
.pg-thumb { position:relative; display:block; width:100%; aspect-ratio:1; padding:0; overflow:hidden; border:0; border-radius:14px; background:var(--desk-soft); cursor:zoom-in; }
.pg-thumb img { width:100%; height:100%; display:block; object-fit:cover; transition:transform .25s cubic-bezier(.2,.75,.25,1); }
.pg-card:hover .pg-thumb img { transform:scale(1.025); }
.pg-thumb:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
.pg-tag { position:absolute; left:8px; bottom:8px; padding:3px 9px; border-radius:999px; background:color-mix(in srgb, var(--desk-paper) 88%, transparent); color:var(--desk-ink); font-size:var(--type-caption); font-weight:650; box-shadow:0 1px 4px rgba(15,23,42,.12); backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px); }
.pg-check { position:absolute; top:8px; left:8px; display:none; place-items:center; width:24px; height:24px; border:2px solid white; border-radius:50%; background:rgba(15,23,42,.28); color:white; box-shadow:0 1px 4px rgba(15,23,42,.25); }
.pg-check svg { width:14px; height:14px; stroke-width:2.6; opacity:0; }
.pg-grid.is-calendar-selecting .pg-check { display:grid; }
.pg-grid.is-calendar-selecting .pg-thumb { cursor:pointer; }
.pg-card.is-calendar-selected .pg-check { border-color:var(--accent); background:var(--accent); }
.pg-card.is-calendar-selected .pg-check svg { opacity:1; }
.pg-card.is-calendar-selected .pg-thumb { box-shadow:0 0 0 2px var(--accent); }
.pg-actions { position:absolute; top:8px; right:8px; display:flex; gap:6px; opacity:0; transform:translateY(-2px); transition:opacity .15s ease, transform .15s ease; }
.pg-card:hover .pg-actions, .pg-card:focus-within .pg-actions, .pg-card.has-action-menu .pg-actions { opacity:1; transform:none; }
.pg-act { display:grid; place-items:center; width:30px; height:30px; padding:0; border:0; border-radius:9px; background:color-mix(in srgb, var(--desk-paper) 90%, transparent); color:var(--desk-ink); box-shadow:0 1px 4px rgba(15,23,42,.14); backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px); cursor:pointer; }
.pg-act svg { width:15px; height:15px; stroke-width:1.9; }
.pg-act:hover, .pg-act[aria-expanded="true"] { background:var(--desk-paper); color:var(--accent); }
.pg-act:focus-visible { outline:2px solid var(--accent); outline-offset:1px; opacity:1; }
.pg-meta { display:grid; gap:2px; min-width:0; padding:0 2px; }
.pg-meta-top { display:flex; align-items:baseline; justify-content:space-between; gap:var(--space-2); min-width:0; }
.pg-meta-top strong { overflow:hidden; color:var(--desk-ink); font-size:var(--type-control); font-weight:650; text-overflow:ellipsis; white-space:nowrap; }
.pg-meta-top time { flex:0 0 auto; color:var(--desk-muted); font-size:var(--type-caption); font-variant-numeric:tabular-nums; white-space:nowrap; }
.pg-caption { margin:0; overflow:hidden; color:var(--desk-ink); font-size:var(--type-meta); text-overflow:ellipsis; white-space:nowrap; }
.pg-caption.is-empty { color:var(--desk-muted); font-style:italic; }
.pg-foot { overflow:hidden; color:var(--desk-muted); font-size:var(--type-caption); text-overflow:ellipsis; white-space:nowrap; }
.pg-links { display:flex; flex-wrap:wrap; gap:4px; margin-top:4px; }
.pg-chip { height:22px; padding:0 8px; border:1px solid var(--desk-line); border-radius:999px; background:none; color:var(--desk-ink); font:600 var(--type-caption) var(--font); font-variant-numeric:tabular-nums; cursor:pointer; }
.pg-chip.is-ticket { color:var(--desk-muted); }
.pg-chip:hover { border-color:var(--accent); color:var(--accent); }
.pg-card.is-photo-focus .pg-thumb { box-shadow:0 0 0 3px var(--accent); }

@media (max-width:760px) {
  .pg-toolbar { flex-wrap:wrap; }
  .pg-toolbar label.pg-search { flex:1 1 100%; max-width:none; }
  .pg-toolbar label.pg-search input[type="search"] { font-size:16px; }
  .pg-line { margin-left:0; }
  .pg-grid { grid-template-columns:repeat(2, minmax(0, 1fr)); gap:var(--space-4) var(--space-3); }
  .pg-actions { opacity:1; transform:none; }
}
@media (hover:none) { .pg-actions { opacity:1; transform:none; } }
@media (prefers-reduced-motion: reduce) {
  .pg-thumb img, .pg-actions, .pg-line, .pg-toolbar label.pg-search { transition:none; }
}

/* ═══ Fason iş raporu (2026-10-16, TASARIM-DILI.md §3.36) ═══
   × : işin sağ üst köşesinde, yalnız üzerine gelince/odakta beliren sessiz
   yuvarlak ikon düğme (dokunmatikte hep görünür). İz: tek satır, sessiz;
   cezalı raporda "Raporlandı" tehlike renginde. */
.fason-report-x { position:absolute; z-index:2; display:grid; place-items:center; width:22px; height:22px; padding:0; border:1px solid var(--border); border-radius:999px; background:var(--surface-solid); color:var(--muted); cursor:pointer; opacity:0; transform:scale(.9); transition:opacity .14s ease, transform .14s ease, color .14s ease, border-color .14s ease; }
.fason-report-x svg { width:10px; height:10px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; }
.fason-report-x:hover { color:var(--danger); border-color:color-mix(in srgb,var(--danger) 45%,var(--border)); }
.fason-report-x:focus-visible { opacity:1; transform:none; outline:2px solid var(--accent); outline-offset:2px; }
.fason-report-x.is-card { top:-7px; right:-7px; }
.fason-report-x.is-event { top:8px; right:8px; }
:is(.wc-job-wrap, .production-event):hover > .fason-report-x { opacity:1; transform:none; }
@media (hover:none) { .fason-report-x { opacity:1; transform:none; } }
@media (prefers-reduced-motion:reduce) { .fason-report-x { transition:none; } }
.fason-report-tag { display:inline-flex; align-items:baseline; gap:4px; max-width:100%; overflow:hidden; color:var(--muted); font:500 11px/1.35 var(--font); white-space:nowrap; text-overflow:ellipsis; }
.fason-report-tag b { color:var(--text); font-weight:650; }
.fason-report-tag.is-penalty b { color:var(--danger); }
.fason-report-undo { margin-left:6px; padding:0; border:0; background:none; color:var(--accent); font:600 11px/1.35 var(--font); cursor:pointer; }
.fason-report-undo:hover { text-decoration:underline; }
.fason-report-undo:focus-visible { outline:2px solid var(--accent); outline-offset:2px; border-radius:4px; }
/* Geçmiş › Boşa düşenler satırında rozetin yanındaki geri alma (2026-11-02). */
.row-closure-undo { margin-left:6px; padding:0; border:0; background:none; color:var(--accent); font:600 11px/1.35 var(--font); cursor:pointer; white-space:nowrap; }
.row-closure-undo:hover { text-decoration:underline; }
.row-closure-undo:focus-visible { outline:2px solid var(--accent); outline-offset:2px; border-radius:4px; }
.production-event { position:relative; }
.production-event-report { margin-top:3px; }
.production-event-report:empty { display:none; }
.msg-fason-report-card { display:grid; gap:4px; min-width:220px; max-width:320px; }
.msg-fason-report-label { display:flex; justify-content:space-between; gap:8px; color:var(--muted); font:700 10.5px/1.3 var(--font); letter-spacing:.06em; text-transform:uppercase; }
.msg-fason-report-label em { font-style:normal; font-weight:600; letter-spacing:0; text-transform:none; }
.msg-fason-report-card.is-penalty .msg-fason-report-label em { color:var(--danger); }
.msg-fason-report-card strong { font:650 14px/1.3 var(--font); }
.msg-fason-report-line { color:var(--text); font:500 12.5px/1.4 var(--font); font-variant-numeric:tabular-nums; }
.msg-fason-report-card p { margin:2px 0 0; color:var(--text); font:500 12.5px/1.45 var(--font); white-space:pre-line; }
.msg-fason-report-actions { display:flex; gap:6px; margin-top:6px; }

:root { --tone-bday:#db2777; --tone-mention:#8b5cf6; --tone-watch:#d97706; }
/* ── Doğum günleri (2026-10-20) ─────────────────────────────────────────
   Takvim: tatil/özel gün çipinin kardeşi, gül renginde; kişinin kendi günü dolu.
   Formlar: gün + ay iki seçici (yıl sorulmaz). Kutlama: tek seferlik pencere. */
.cal-bday { display:flex; align-items:center; gap:3px; flex:0 0 auto; max-width:100%; padding:1.5px 5px; border-radius:5px; background:#fce7f3; color:#be185d; font-size:9px; font-weight:650; line-height:1.3; overflow:hidden; white-space:nowrap; }
.cal-bday > span { min-width:0; overflow:hidden; text-overflow:ellipsis; }
.cal-bday.is-self { background:#db2777; color:#fff; }
.cal-bday-ico { flex:0 0 auto; width:10px; height:10px; stroke-width:2; }
html[data-theme="dark"] .cal-bday { background:rgba(236,72,153,.18); color:#f9a8d4; }
html[data-theme="dark"] .cal-bday.is-self { background:#ec4899; color:#fff; }
.termin-day-holiday.bday { display:flex; align-items:center; gap:5px; color:#be185d; }
.termin-day-holiday.bday .cal-bday-ico { width:12px; height:12px; }
.termin-day-holiday.bday.is-self { font-weight:750; }
html[data-theme="dark"] .termin-day-holiday.bday { color:#f9a8d4; }
.cal-legend .lg-bday { background:#db2777; }

/* Giriş formundaki seçiciler: yerel (Safari) çizim sol boşluğu yok sayıp ikonun
   ÜSTÜNE yazıyordu ("İs▣anbul"). Seçiciyi kendimiz çiziyoruz. */
.login-input-wrap select.login-input { -webkit-appearance:none; appearance:none; padding-right:36px; cursor:pointer; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2386868b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m7 10 5 5 5-5'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 12px center; background-size:16px 16px; }
.login-input-wrap.is-plain select.login-input { padding-left:14px; }
.login-bday { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.4fr); gap:8px; }
.login-label-note { margin-left:6px; color:var(--muted,#86868b); font-size:11px; font-weight:500; letter-spacing:0; text-transform:none; }
.pp-bday, .settings-bday { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.6fr); gap:8px; }
.pp-bday select { width:100%; min-height:34px; margin:0; }

/* Kutlama penceresi */
.bday-celebrate { position:fixed; inset:0; z-index:4000; display:grid; place-items:center; padding:16px; background:rgba(0,0,0,.42); backdrop-filter:blur(6px); animation:bday-fade .22s ease both; }
.bday-celebrate.is-leaving { animation:bday-fade-out .2s ease both; }
.bday-card { position:relative; z-index:1; width:min(360px,100%); padding:28px 24px 22px; border:1px solid var(--border); border-radius:18px; background:var(--surface-solid,#fff); color:var(--text); text-align:center; box-shadow:0 24px 60px -18px rgba(0,0,0,.5); animation:bday-pop .42s cubic-bezier(.2,.9,.3,1.2) both; }
.bday-mark { display:inline-grid; place-items:center; width:56px; height:56px; margin-bottom:12px; border-radius:50%; background:#fce7f3; color:#db2777; }
.bday-mark svg { width:28px; height:28px; stroke-width:1.6; }
html[data-theme="dark"] .bday-mark { background:rgba(236,72,153,.18); color:#f9a8d4; }
.bday-card h2 { margin:0 0 6px; font-size:22px; font-weight:750; letter-spacing:-.02em; }
.bday-card p { margin:0 0 18px; color:var(--muted); font-size:13.5px; line-height:1.5; }
.bday-btn { min-width:140px; min-height:38px; padding:0 18px; border:0; border-radius:10px; background:#db2777; color:#fff; font:650 13.5px/1 var(--font); cursor:pointer; }
.bday-btn:focus-visible { outline:2px solid #db2777; outline-offset:3px; }
.bday-confetti { position:absolute; inset:0; overflow:hidden; pointer-events:none; }
.bday-confetti i { position:absolute; top:-12px; left:var(--x); width:7px; height:11px; border-radius:2px; background:var(--c); transform:rotate(var(--r)); animation:bday-fall 2.6s cubic-bezier(.25,.6,.45,1) var(--d) both; }
@keyframes bday-fall { to { transform:translateY(105vh) rotate(calc(var(--r) + 540deg)); opacity:.2; } }
@keyframes bday-pop { from { opacity:0; transform:scale(.92) translateY(8px); } to { opacity:1; transform:none; } }
@keyframes bday-fade { from { opacity:0; } to { opacity:1; } }
@keyframes bday-fade-out { to { opacity:0; } }
@media (prefers-reduced-motion:reduce) { .bday-celebrate, .bday-card, .bday-confetti i { animation:none; } }
.termin-bday-cheer { margin-left:auto; flex:0 0 auto; padding:2px 9px; border:1px solid color-mix(in srgb,#db2777 35%,transparent); border-radius:999px; background:transparent; color:inherit; font-family:var(--font); font-size:11px; font-weight:650; cursor:pointer; }
.termin-bday-cheer:hover { background:color-mix(in srgb,#db2777 10%,transparent); }
.termin-bday-cheer:focus-visible { outline:2px solid #db2777; outline-offset:2px; }
.msg-bday { display:inline-flex; margin-left:5px; color:#db2777; vertical-align:-1px; }
.msg-bday svg { width:12px; height:12px; stroke-width:2; }
html[data-theme="dark"] .msg-bday { color:#f9a8d4; }

/* ═══ SİPARİŞ › KUMAŞ FOTOĞRAFLARI (2026-11-03, TASARIM-DILI.md §3.52) ═══ */
.pg-tag { max-width:calc(100% - 16px); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; box-sizing:border-box; }
/* Etiket kartın düğmesinin dışında durur: düz etiket tıklamayı fotoğrafa bırakır,
   bağlı etiket (is-link) siparişin detayını açar. */
span.pg-tag { pointer-events:none; }
.pg-tag.is-link { border:0; font-family:inherit; line-height:inherit; cursor:pointer; transition:background .15s,color .15s; }
.pg-tag.is-link:hover { background:var(--desk-paper); color:var(--accent); text-decoration:underline; text-underline-offset:2px; }
.pg-tag.is-link:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
.sc-tab-count { margin-left:6px; padding:0 6px; border-radius:999px; background:var(--desk-soft,var(--surface)); color:var(--desk-muted,var(--muted)); font-size:var(--type-caption,11px); font-weight:650; font-variant-numeric:tabular-nums; }
.sc-tab.active .sc-tab-count { color:var(--accent); background:var(--accent-soft); }
/* Fotoğraf sütunu (8.) için diğer yüzdeler orantılı daralır; toplam %100. */
#orderModal .planning-fabric-table.has-photo-col thead th:nth-child(1) { width:27%; }
#orderModal .planning-fabric-table.has-photo-col thead th:nth-child(2) { width:14%; }
#orderModal .planning-fabric-table.has-photo-col thead th:nth-child(3) { width:9%; }
#orderModal .planning-fabric-table.has-photo-col thead th:nth-child(4) { width:10%; }
#orderModal .planning-fabric-table.has-photo-col thead th:nth-child(5) { width:7%; }
#orderModal .planning-fabric-table.has-photo-col thead th:nth-child(6) { width:13%; }
#orderModal .planning-fabric-table.has-photo-col thead th:nth-child(7) { width:9%; text-align:center; }
#orderModal .planning-fabric-table.has-photo-col thead th:nth-child(8) { width:11%; text-align:right; }
/* Dar, ortalı sütun: dolu yığın ile boş "+" kutusu aynı 40px yuvayı kaplar. */
.planning-photo-head { white-space:nowrap; }
.planning-photo-cell { white-space:nowrap; text-align:center; padding-top:4px; padding-bottom:4px; }
/* Uzun renk kodu (510013-03-B) fotoğraf kutusuna yapışmasın: hücreler arası en az 16px. */
#orderModal .planning-fabric-table.has-photo-col .planning-photo-cell,
#orderModal .planning-fabric-table.has-photo-col .planning-photo-head { padding-left:16px; padding-right:12px; }
.pf-stack { display:inline-flex; align-items:center; padding:2px; border:0; border-radius:10px; background:transparent; cursor:zoom-in; vertical-align:middle; }
.pf-stack:hover { background:var(--desk-soft,var(--surface)); }
.pf-stack:focus-visible { outline:2px solid var(--accent); outline-offset:1px; }
.pf-stack img { width:40px; height:40px; object-fit:cover; border-radius:9px; border:2px solid var(--desk-paper,var(--surface-solid)); box-shadow:0 1px 3px color-mix(in srgb,var(--text) 22%,transparent); background:var(--desk-soft,var(--surface)); transition:transform .18s cubic-bezier(.2,.75,.25,1); }
.pf-stack:hover img:first-child { transform:scale(1.05); }
.pf-stack img + img { margin-left:-22px; }
.pf-stack em { margin-left:6px; color:var(--desk-muted,var(--muted)); font-style:normal; font-size:var(--type-meta,12px); font-weight:600; font-variant-numeric:tabular-nums; }
.pf-empty { width:44px; height:44px; display:inline-grid; place-items:center; padding:0; border:1.5px dashed color-mix(in srgb,var(--desk-muted,var(--muted)) 45%,transparent); border-radius:10px; background:transparent; color:color-mix(in srgb,var(--desk-muted,var(--muted)) 80%,transparent); cursor:pointer; vertical-align:middle; transition:border-color .15s,color .15s,background .15s; }
.pf-empty svg { width:16px; height:16px; stroke-width:2; }
.pf-empty:hover { border-color:var(--accent); color:var(--accent); background:var(--accent-soft); }
.pf-empty:focus-visible { outline:2px solid var(--accent); outline-offset:1px; }

.ofp { display:grid; gap:0; }
.ofp-group { padding:14px 0; border-top:1px solid var(--desk-line,var(--border)); }
.ofp-group:first-child { border-top:0; padding-top:4px; }
.ofp-group.is-flash { animation:ofpFlash 1.4s ease-out; border-radius:10px; }
@keyframes ofpFlash { 0%,30% { background:var(--accent-soft); } 100% { background:transparent; } }
.ofp-head { display:flex; align-items:center; gap:10px; min-height:30px; }
.ofp-name { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:var(--text); font-size:var(--type-control,13px); font-weight:650; }
.ofp-group.is-wa .ofp-name { color:var(--desk-muted,var(--muted)); font-weight:600; }
.ofp-count { color:var(--desk-muted,var(--muted)); font-size:var(--type-meta,12px); white-space:nowrap; }
.ofp-group.is-empty .ofp-count { opacity:.7; }
.ofp-filter { display:inline-flex; align-items:center; gap:4px; height:24px; padding:0 6px 0 10px; border:0; border-radius:999px; background:var(--accent-soft); color:var(--accent); font:inherit; font-size:var(--type-meta,12px); font-weight:600; cursor:pointer; }
.ofp-filter svg { width:13px; height:13px; stroke-width:2.2; }
.ofp-add { margin-left:auto; display:inline-flex; align-items:center; gap:5px; min-height:28px; padding:0 10px; border:0; border-radius:8px; background:transparent; color:var(--desk-muted,var(--muted)); font:inherit; font-size:var(--type-meta,12px); font-weight:600; cursor:pointer; white-space:nowrap; }
.ofp-add svg { width:14px; height:14px; stroke-width:2.2; }
.ofp-add:hover, .ofp-add.is-open { color:var(--accent); background:var(--accent-soft); }
.ofp-strip { display:grid; grid-auto-flow:column; grid-auto-columns:156px; gap:10px; overflow-x:auto; padding:10px 0 2px; scrollbar-width:thin; }
.ofp-tile { position:relative; display:block; aspect-ratio:4/3; padding:0; overflow:hidden; border:0; border-radius:10px; background:var(--desk-soft,var(--surface)); cursor:zoom-in; }
.ofp-tile img { width:100%; height:100%; display:block; object-fit:cover; transition:transform .25s cubic-bezier(.2,.75,.25,1); }
.ofp-tile:hover img { transform:scale(1.03); }
.ofp-tile:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
.ofp-tile.is-rpt { outline:1.5px dashed color-mix(in srgb,var(--desk-muted,var(--muted)) 70%,transparent); outline-offset:-1.5px; }
.ofp-tile.is-rpt img { filter:saturate(.8); }
.ofp-when, .ofp-src, .ofp-label { position:absolute; max-width:calc(100% - 12px); box-sizing:border-box; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; border-radius:6px; font-size:var(--type-caption,11px); font-weight:650; backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px); }
.ofp-when { top:6px; left:6px; padding:1px 6px; color:var(--desk-paper,var(--surface-solid)); background:color-mix(in srgb,var(--text) 52%,transparent); font-weight:600; }
.ofp-src { top:6px; left:6px; padding:2px 7px; color:var(--text); background:color-mix(in srgb,var(--desk-paper,var(--surface-solid)) 88%,transparent); }
.ofp-label { left:6px; bottom:6px; padding:3px 8px; color:var(--desk-paper,var(--surface-solid)); background:color-mix(in srgb,var(--text) 62%,transparent); }
.ofp-acts { position:absolute; top:6px; right:6px; display:flex; gap:4px; opacity:0; transition:opacity .15s; }
.ofp-tile:hover .ofp-acts, .ofp-tile:focus-within .ofp-acts { opacity:1; }
.ofp-act { width:26px; height:26px; display:grid; place-items:center; padding:0; border:0; border-radius:7px; color:var(--text); background:color-mix(in srgb,var(--desk-paper,var(--surface-solid)) 90%,transparent); cursor:pointer; }
.ofp-act svg { width:14px; height:14px; stroke-width:2; }
.ofp-act:hover { color:var(--accent); }
/* Kumaşı seçilmemiş fotoğraf (WhatsApp'tan sipariş no'yla gelen): görünür "Kumaş seç" hapı. */
.ofp-pickfab { position:absolute; left:6px; bottom:6px; padding:3px 9px; border:0; border-radius:6px; font:inherit; font-size:var(--type-caption,11px); font-weight:650; color:var(--on-accent,var(--desk-paper,var(--surface-solid))); background:var(--accent); cursor:pointer; }
.ofp-pickfab:hover { filter:brightness(1.08); }
.ofp-pickfab:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
/* Galeri seçicisi geçici bir paneldir: başlık + sağ üstte Kapat, vurgulu sol kenar. */
.ofp-picker { margin-top:10px; padding:12px 12px 12px 14px; border-radius:12px; background:var(--desk-soft,var(--surface)); box-shadow:inset 3px 0 0 var(--accent); animation:ofpPickerIn .18s ease-out; }
@keyframes ofpPickerIn { from { opacity:0; transform:translateY(-4px); } to { opacity:1; transform:none; } }
.ofp-picker-head { display:flex; align-items:center; gap:12px; margin-bottom:10px; }
.ofp-picker-title { min-width:0; display:flex; align-items:baseline; gap:8px; }
.ofp-picker-title b { color:var(--text); font-size:var(--type-control,13px); font-weight:650; white-space:nowrap; }
.ofp-picker-title span { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:var(--desk-muted,var(--muted)); font-size:var(--type-meta,12px); }
.ofp-picker-close { margin-left:auto; flex:none; display:inline-flex; align-items:center; gap:5px; height:28px; padding:0 10px 0 8px; border:1px solid var(--desk-line,var(--border)); border-radius:8px; background:var(--desk-paper,var(--surface-solid)); color:var(--text); font:inherit; font-size:var(--type-meta,12px); font-weight:600; cursor:pointer; }
.ofp-picker-close svg { width:14px; height:14px; stroke-width:2.2; }
.ofp-picker-close:hover { border-color:var(--accent); color:var(--accent); }
.ofp-picker-close:focus-visible { outline:2px solid var(--accent); outline-offset:1px; }
.ofp-picker .ofp-none { margin:0; }
.ofp-picker-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(84px,1fr)); gap:8px; }
.ofp-pick { position:relative; aspect-ratio:1; padding:0; overflow:hidden; border:0; border-radius:8px; background:var(--desk-paper,var(--surface-solid)); cursor:pointer; }
.ofp-pick img { width:100%; height:100%; object-fit:cover; display:block; }
.ofp-pick span { position:absolute; left:4px; bottom:4px; padding:0 5px; border-radius:5px; color:var(--desk-paper,var(--surface-solid)); background:color-mix(in srgb,var(--text) 52%,transparent); font-size:var(--type-caption,11px); }
.ofp-pick:hover, .ofp-pick:focus-visible { box-shadow:0 0 0 2px var(--accent); outline:0; }
.ofp-pick i { position:absolute; top:4px; right:4px; width:22px; height:22px; display:grid; place-items:center; border-radius:999px; color:#fff; background:var(--accent); opacity:0; transform:scale(.8); transition:opacity .15s,transform .15s; }
.ofp-pick i svg { width:13px; height:13px; stroke-width:2.6; }
.ofp-pick:hover i, .ofp-pick:focus-visible i { opacity:1; transform:none; }
@media (hover:none) { .ofp-pick i { opacity:1; transform:none; } }
.ofp-none { margin:8px 0; color:var(--desk-muted,var(--muted)); font-size:var(--type-control,13px); }
@media (hover:none) { .ofp-acts { opacity:1; } }
/* Renk şeritleri (2026-11-03, seçim A): çok renkli kumaşta Tüm renkler + renk
   başına bir satır; ad · kutucuklar · Ekle. Seçici şeridin altında, "Atanacak" haplarıyla. */
.ofp-lanes { display:grid; margin-top:6px; }
.ofp-lane { display:grid; grid-template-columns:minmax(0,170px) minmax(0,1fr) auto; align-items:center; gap:14px; min-height:60px; padding:6px 0; border-top:1px solid var(--desk-line,var(--border)); }
.ofp-lane.is-flash { animation:ofpFlash 1.4s ease-out; border-radius:10px; }
.ofp-lane-name { min-width:0; display:flex; align-items:center; gap:8px; color:var(--text); font-size:var(--type-control,13px); font-weight:600; }
.ofp-lane-name span { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.ofp-lane-name small { flex:none; color:var(--desk-muted,var(--muted)); font-size:var(--type-caption,11px); font-weight:500; }
.ofp-lane.is-all .ofp-lane-name, .ofp-lane.is-stale .ofp-lane-name { color:var(--desk-muted,var(--muted)); }
.ofp-lane-strip { min-width:0; display:flex; align-items:center; gap:8px; overflow-x:auto; padding:2px 0; scrollbar-width:thin; }
.ofp-lane-strip .ofp-tile { flex:none; width:96px; }
.ofp-lane-strip .ofp-when { top:4px; left:4px; padding:0 5px; }
.ofp-lane-strip .ofp-acts { top:4px; right:4px; gap:3px; }
.ofp-lane-strip .ofp-act { width:24px; height:24px; }
.ofp-lane-none { color:var(--desk-muted,var(--muted)); font-size:var(--type-meta,12px); opacity:.8; }
.ofp-lane .ofp-add { margin-left:0; }
.ofp-lane + .ofp-picker { margin:2px 0 8px; }
.ofp-dot { flex:none; width:10px; height:10px; border-radius:50%; box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--text) 18%,transparent); }
.ofp-dot.is-all { background:conic-gradient(var(--desk-muted,var(--muted)) 0 33%,color-mix(in srgb,var(--desk-muted,var(--muted)) 55%,transparent) 0 66%,color-mix(in srgb,var(--desk-muted,var(--muted)) 25%,transparent) 0); }
.ofp-dot.is-unknown { background:transparent; box-shadow:inset 0 0 0 1.5px var(--desk-muted,var(--muted)); }
.ofp-picker-head { flex-wrap:wrap; }
.ofp-target { min-width:0; display:flex; align-items:center; flex-wrap:wrap; gap:6px; }
.ofp-target > span { color:var(--desk-muted,var(--muted)); font-size:var(--type-meta,12px); margin-right:2px; }
.ofp-chip { display:inline-flex; align-items:center; gap:6px; height:26px; padding:0 10px; border:1px solid var(--desk-line,var(--border)); border-radius:999px; background:transparent; color:var(--desk-muted,var(--muted)); font:inherit; font-size:var(--type-meta,12px); font-weight:600; cursor:pointer; white-space:nowrap; }
.ofp-chip:hover { color:var(--text); }
.ofp-chip.is-on { border-color:color-mix(in srgb,var(--accent) 55%,transparent); background:var(--accent-soft); color:var(--accent); }
.ofp-chip:focus-visible { outline:2px solid var(--accent); outline-offset:1px; }
/* Kutucuk kalemi: renk seçim kutusu (gövdeye takılır, sabit konum). */
.ofp-menu { position:fixed; z-index:1200; width:240px; display:grid; gap:1px; padding:6px; border:1px solid var(--desk-line,var(--border)); border-radius:12px; background:var(--desk-paper,var(--surface-solid)); box-shadow:0 18px 44px rgba(0,0,0,.22); animation:ofpPickerIn .14s ease-out; }
.ofp-menu.is-busy { opacity:.7; pointer-events:none; }
.ofp-menu-title { padding:4px 8px 6px; color:var(--desk-muted,var(--muted)); font-size:var(--type-meta,12px); font-weight:600; }
.ofp-menu-item { width:100%; min-height:34px; display:flex; align-items:center; gap:10px; padding:0 8px; border:0; border-radius:8px; background:transparent; color:var(--text); font:inherit; font-size:var(--type-control,13px); text-align:left; cursor:pointer; }
.ofp-menu-item span { flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.ofp-menu-item .pla-check { flex:none; }
.ofp-menu-item:hover, .ofp-menu-item:focus-visible { background:var(--desk-soft,var(--surface)); outline:0; }
.ofp-menu-item.is-danger { color:var(--danger); }
.ofp-menu-sep { height:1px; margin:4px 6px; background:var(--desk-line,var(--border)); }
/* Tabloda "Tüm renkler" fotoğrafı her renk satırında: kesik çerçeve. */
.pf-stack img.is-all { border-style:dashed; border-color:color-mix(in srgb,var(--desk-muted,var(--muted)) 70%,transparent); opacity:.85; }
.pf-cell-row { display:inline-flex; align-items:center; gap:4px; }
.pf-empty.is-mini { width:26px; height:26px; border-radius:7px; }
.pf-empty.is-mini svg { width:13px; height:13px; }
@media (max-width:640px) {
  .ofp-lane { grid-template-columns:minmax(0,1fr) auto; gap:6px 10px; }
  .ofp-lane-strip { grid-column:1 / -1; grid-row:2; }
}
/* Galeri kapak etiketi: kumaşa atanmış fotoğrafta üstte küçük sipariş no. */
.pg-tag.has-sip { display:grid; gap:0; padding:4px 10px 5px; border-radius:10px; text-align:left; line-height:1.25; }
.pg-tag-sip { color:var(--desk-muted,var(--muted)); font-size:10px; font-weight:600; font-variant-numeric:tabular-nums; letter-spacing:.01em; }
.pg-tag-name { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }

#photoLinkModal .photo-link-panel.is-step .pla-search { display:none; }
.pla-step { display:grid; gap:2px; }
.pla-crumb { display:flex; align-items:center; gap:8px; padding:0 4px 6px; font-size:var(--type-control,13px); }
.pla-crumb b { font-weight:650; font-variant-numeric:tabular-nums; }
.pla-crumb span { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:var(--desk-muted,var(--muted)); }
.pla-back { width:28px; height:28px; display:grid; place-items:center; padding:0; border:0; border-radius:8px; color:var(--desk-muted,var(--muted)); background:transparent; cursor:pointer; }
.pla-back svg { width:16px; height:16px; stroke-width:2.2; }
.pla-back:hover { color:var(--text); background:var(--desk-soft,var(--surface)); }
.pla-fabs { display:grid; }
.pla-fab { padding:4px 0; }
.pla-fab + .pla-fab { border-top:1px solid var(--desk-line,var(--border)); }
.pla-fab-row { width:100%; display:grid; grid-template-columns:18px minmax(0,1fr) auto; align-items:center; gap:12px; min-height:40px; padding:0 8px; border:0; border-radius:8px; background:transparent; color:var(--text); font:inherit; text-align:left; cursor:pointer; }
.pla-fab-row b { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:var(--type-control,13px); font-weight:650; }
.pla-fab-row small { color:var(--desk-muted,var(--muted)); font-size:var(--type-meta,12px); white-space:nowrap; }
.pla-fab-row:hover, .pla-fab-row:focus-visible { background:var(--desk-soft,var(--surface)); outline:0; }
.pla-check { width:18px; height:18px; box-sizing:border-box; display:grid; place-items:center; border:1.5px solid var(--desk-line,var(--border)); border-radius:5px; color:var(--desk-paper,var(--surface-solid)); }
.pla-check svg { width:12px; height:12px; stroke-width:3; }
.pla-check.is-on, .pla-check.is-part { border-color:var(--accent); background:var(--accent); }
.pla-colors { display:flex; flex-wrap:wrap; gap:6px; padding:2px 8px 8px 38px; }
.pla-color { height:28px; padding:0 12px; border:1px solid var(--desk-line,var(--border)); border-radius:999px; background:transparent; color:var(--desk-muted,var(--muted)); font:inherit; font-size:var(--type-meta,12px); font-weight:600; cursor:pointer; }
.pla-color:hover { color:var(--text); }
.pla-color:focus-visible { outline:2px solid var(--accent); outline-offset:1px; }
.pla-color.is-on { border-color:color-mix(in srgb,var(--accent) 55%,transparent); background:var(--accent-soft); color:var(--accent); }
.pla-step-foot { display:flex; justify-content:flex-end; gap:8px; padding-top:12px; }
.pla-save { min-height:32px; max-width:100%; padding:0 14px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; border:0; border-radius:8px; background:var(--accent); color:var(--desk-paper,var(--surface-solid)); font:inherit; font-size:var(--type-control,13px); font-weight:650; cursor:pointer; }
.pla-save:disabled { opacity:.6; cursor:progress; }
.pla-save:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }

.pv-stage .pv-tag { position:absolute; left:50%; bottom:18px; transform:translateX(-50%); z-index:3; display:flex; align-items:center; gap:10px; max-width:calc(100% - 120px); padding:7px 14px; border:1px solid var(--pv-line); border-radius:999px; background:var(--pv-glass); backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px); color:var(--pv-ink,inherit); font-size:var(--type-control,13px); white-space:nowrap; pointer-events:none; }
.pv-stage .pv-tag b, .pv-stage .pv-tag span { overflow:hidden; text-overflow:ellipsis; }
.pv-stage .pv-tag i { width:1px; height:14px; flex:none; background:currentColor; opacity:.25; }
.pv-stage .pv-tag .pv-tag-muted { opacity:.65; }
.pv-stage .pv-tag[hidden] { display:none; }
.pv-stage .pv-tag.is-link { pointer-events:auto; cursor:pointer; transition:border-color .15s,background .15s; }
.pv-stage .pv-tag.is-link:hover { border-color:color-mix(in srgb,currentColor 45%,transparent); }
.pv-stage .pv-tag.is-link:hover b { text-decoration:underline; text-underline-offset:3px; }
.pv-stage .pv-tag.is-link:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }

/* ═══ Fotoğraflar › Raflar (2026-11-03, TASARIM-DILI.md §3.53) ═══════════
   Solda ray (Gelen kutusu · Tümü · Sipariş/Ticket/Not rafları · son
   siparişler), sağda seçili görünüm. Amaç renkleri: sipariş = vurgu,
   ticket = tehlike, not = uyarı; atanmamış kesik çerçeve. */
#page-photos { --pg-k-ord:var(--accent); --pg-k-tic:var(--danger); --pg-k-not:var(--warning); }
.pg-body { display:grid; grid-template-columns:212px minmax(0, 1fr); gap:var(--space-5); align-items:start; }
.pg-main { display:grid; gap:16px; min-width:0; }
.pg-rail { position:sticky; top:calc(var(--shell-top, 64px) + 12px); display:flex; flex-direction:column; gap:2px; min-width:0; }
.pg-rail-item { display:flex; align-items:center; gap:10px; height:36px; padding:0 10px; border:0; border-radius:9px; background:none; color:var(--desk-muted); font:500 var(--type-control) var(--font); text-align:left; cursor:pointer; }
.pg-rail-item > svg { width:16px; height:16px; flex:0 0 auto; stroke-width:1.8; }
.pg-rail-item:hover { background:var(--desk-soft); color:var(--desk-ink); }
.pg-rail-item.is-active { background:var(--accent-soft); color:var(--desk-ink); font-weight:650; }
.pg-rail-item:focus-visible, .pg-rail-pin:focus-visible { outline:2px solid var(--accent); outline-offset:1px; }
.pg-rail-name { flex:1 1 auto; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.pg-rail-count { color:var(--desk-muted); font-size:var(--type-caption); font-weight:500; font-variant-numeric:tabular-nums; }
.pg-rail-badge { min-width:22px; padding:1px 7px; border-radius:999px; background:var(--accent); color:white; font-size:var(--type-caption); font-weight:700; text-align:center; font-variant-numeric:tabular-nums; }
.pg-rail-label { padding:14px 10px 4px; color:var(--desk-muted); font-size:10.5px; font-weight:650; letter-spacing:.07em; text-transform:uppercase; }
.pg-rail-pin { display:grid; grid-template-columns:20px auto minmax(0, 1fr) auto; align-items:center; gap:8px; height:32px; padding:0 10px; border:0; border-radius:8px; background:none; color:var(--desk-muted); font:500 var(--type-meta) var(--font); text-align:left; cursor:pointer; }
.pg-rail-pin img { width:20px; height:20px; border-radius:5px; object-fit:cover; background:var(--desk-soft); }
.pg-rail-pin b { color:var(--desk-ink); font-weight:650; font-variant-numeric:tabular-nums; }
.pg-rail-pin span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.pg-rail-pin em { color:var(--desk-muted); font-size:var(--type-caption); font-style:normal; font-variant-numeric:tabular-nums; }
.pg-rail-pin:hover, .pg-rail-pin.is-active { background:var(--desk-soft); }
.pg-dot { display:inline-block; width:8px; height:8px; flex:0 0 auto; border-radius:50%; margin:0 4px; }
.pg-dot.is-ord { background:var(--pg-k-ord); }
.pg-dot.is-tic { background:var(--pg-k-tic); }
.pg-dot.is-not { background:var(--pg-k-not); }
.pg-shelf-head { display:flex; align-items:baseline; flex-wrap:wrap; gap:4px 10px; }
.pg-shelf-head b { color:var(--desk-ink); font-size:16px; font-weight:700; letter-spacing:-.01em; }
.pg-shelf-head span { color:var(--desk-muted); font-size:var(--type-meta); }
.pg-head-link { margin-left:auto; padding:0; border:0; background:none; color:var(--accent); font:600 var(--type-meta) var(--font); cursor:pointer; }
.pg-head-link:hover { text-decoration:underline; }
.pg-empty { display:grid; justify-items:center; gap:4px; padding:56px 16px; text-align:center; }
.pg-empty b { color:var(--desk-ink); font-size:var(--type-control); font-weight:650; }
.pg-empty span { color:var(--desk-muted); font-size:var(--type-meta); }

/* Kart ızgarası: gün başlığı + amaç çizgisi */
.pg-day { grid-column:1 / -1; display:flex; align-items:baseline; gap:10px; padding-top:4px; }
.pg-day:not(:first-child) { padding-top:12px; }
.pg-day b { color:var(--desk-ink); font-size:var(--type-control); font-weight:650; }
.pg-day span { color:var(--desk-muted); font-size:var(--type-caption); font-variant-numeric:tabular-nums; }
.pg-kindbar { position:absolute; left:0; right:0; bottom:0; height:3px; pointer-events:none; }
.pg-card.is-inbox .pg-thumb { box-shadow:inset 0 0 0 1.5px var(--desk-line); outline:1.5px dashed color-mix(in srgb, var(--desk-muted) 55%, transparent); outline-offset:-1.5px; }
.pg-card.is-inbox.is-calendar-selected .pg-thumb { outline:0; box-shadow:0 0 0 2px var(--accent); }
.pg-caption.is-note { color:var(--desk-ink); }
.pg-caption.is-note::before { content:""; display:inline-block; width:6px; height:6px; margin-right:6px; border-radius:50%; background:var(--pg-k-not); vertical-align:2px; }

/* Gelen kutusu: gönderi satırları */
.pgi { display:grid; }
.pgi .pg-shelf-head { padding-bottom:12px; border-bottom:1px solid var(--desk-line); }
.pgi-row { display:grid; grid-template-columns:34px minmax(0, 1fr) 300px; gap:14px; align-items:start; padding:16px 0; border-bottom:1px solid var(--desk-line); }
.pgi-av { display:grid; place-items:center; width:34px; height:34px; border-radius:50%; background:var(--desk-soft); color:var(--desk-ink); font-size:var(--type-meta); font-weight:700; }
.pgi-msg { display:grid; gap:8px; min-width:0; }
.pgi-who { display:flex; align-items:baseline; gap:8px; min-width:0; }
.pgi-who b { overflow:hidden; color:var(--desk-ink); font-size:var(--type-control); font-weight:650; text-overflow:ellipsis; white-space:nowrap; }
.pgi-who time { flex:0 0 auto; color:var(--desk-muted); font-size:var(--type-caption); font-variant-numeric:tabular-nums; }
.pgi-cap { margin:0; color:var(--desk-ink); font-size:var(--type-meta); line-height:1.45; overflow-wrap:anywhere; }
.pgi-cap mark { padding:0 3px; border-radius:4px; color:inherit; }
.pgi-cap mark.is-ord { background:color-mix(in srgb, var(--pg-k-ord) 16%, transparent); }
.pgi-cap mark.is-tic { background:color-mix(in srgb, var(--pg-k-tic) 16%, transparent); }
.pgi-cap-empty { color:var(--desk-muted); font-style:italic; }
.pgi-strip { display:flex; flex-wrap:wrap; gap:6px; }
/* Bağlanmayan fotoğrafın geri sayımı (2026-11-03): küçük resmin ve kartın altında, son gün kırmızı. */
.pgi-cell { display:grid; gap:3px; justify-items:start; width:76px; }
.pg-expiry { display:inline-flex; align-items:center; gap:3px; max-width:100%; overflow:hidden; color:var(--desk-muted); font-size:var(--type-caption); font-variant-numeric:tabular-nums; text-overflow:ellipsis; white-space:nowrap; }
.pg-expiry svg { flex:0 0 auto; width:12px; height:12px; stroke-width:1.8; }
.pg-expiry.is-urgent { color:var(--danger); font-weight:600; }
.pgi-thumb { position:relative; width:76px; aspect-ratio:1; padding:0; overflow:hidden; border:0; border-radius:9px; background:var(--desk-soft); cursor:zoom-in; }
.pgi-thumb img { width:100%; height:100%; display:block; object-fit:cover; }
.pgi-thumb:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
.pgi-strip.is-selecting .pgi-thumb { cursor:pointer; }
.pgi-strip.is-selecting .pg-check { display:grid; top:5px; left:5px; width:20px; height:20px; }
.pgi-thumb.is-selected { box-shadow:0 0 0 2px var(--accent); }
.pgi-thumb.is-selected .pg-check { border-color:var(--accent); background:var(--accent); }
.pgi-thumb.is-selected .pg-check svg { opacity:1; }
.pgi-thumb.is-photo-focus { box-shadow:0 0 0 3px var(--accent); }
.pgi-side { display:grid; gap:8px; }
.pgi-sug { display:grid; gap:2px; padding:9px 12px; border:1px solid var(--desk-line); border-radius:10px; }
.pgi-sug small { color:var(--desk-muted); font-size:var(--type-caption); }
.pgi-sug b { overflow:hidden; color:var(--desk-ink); font-size:var(--type-meta); font-weight:650; text-overflow:ellipsis; white-space:nowrap; }
.pgi-sug.is-ticket { border-left:3px solid var(--pg-k-tic); }
.pgi-sug.is-order { border-left:3px solid var(--pg-k-ord); }
.pgi-sug.is-note { border-left:3px solid var(--pg-k-not); }
.pgi-sug.is-weak b, .pgi-sug.is-none b { color:var(--desk-muted); font-weight:500; }
.pgi-acts { display:flex; align-items:center; gap:6px; }
.pgi-go { flex:1 1 auto; justify-content:center; }
.pgi-kind { display:grid; place-items:center; width:30px; height:30px; flex:0 0 auto; padding:0; border:1px solid var(--desk-line); border-radius:8px; background:var(--desk-paper); color:var(--desk-muted); cursor:pointer; }
.pgi-kind svg { width:15px; height:15px; stroke-width:1.8; }
.pgi-kind:hover { background:var(--desk-soft); color:var(--desk-ink); }
.pgi-kind.is-order:hover { color:var(--pg-k-ord); }
.pgi-kind.is-ticket:hover { color:var(--pg-k-tic); }
.pgi-kind.is-note:hover { color:var(--pg-k-not); }
.pgi-kind:focus-visible { outline:2px solid var(--accent); outline-offset:1px; }
.pgi .pg-more { margin-top:16px; }

/* Sipariş yığınları + çekmece */
.pgs { display:grid; gap:var(--space-5); align-items:start; }
.pgs.has-drawer { grid-template-columns:minmax(0, 1fr) 360px; }
.pgs-main { display:grid; gap:16px; min-width:0; }
.pgs-grid { display:grid; grid-template-columns:repeat(auto-fill, minmax(190px, 1fr)); gap:var(--space-5) var(--space-4); }
.pgs-stack { display:grid; gap:10px; min-width:0; padding:0; border:0; background:none; color:inherit; font:inherit; text-align:left; cursor:pointer; }
.pgs-cover { position:relative; display:grid; grid-template-columns:2fr 1fr; grid-template-rows:1fr 1fr; gap:3px; aspect-ratio:1; overflow:hidden; border-radius:14px; background:var(--desk-soft); }
.pgs-cover img { width:100%; height:100%; display:block; object-fit:cover; }
.pgs-cover img:first-child { grid-row:span 2; }
.pgs-cover.is-1 { grid-template-columns:1fr; grid-template-rows:1fr; }
.pgs-cover.is-1 img:first-child { grid-row:auto; }
.pgs-cover.is-2 img:nth-child(2) { grid-row:span 2; }
.pgs-more { position:absolute; right:0; bottom:0; display:grid; place-items:center; width:calc(33.33% - 2px); height:calc(50% - 1.5px); background:rgba(15,23,42,.55); color:white; font-size:var(--type-control); font-weight:700; font-variant-numeric:tabular-nums; }
.pgs-stack:hover .pgs-cover { box-shadow:0 0 0 1px var(--desk-line); }
.pgs-stack.is-open .pgs-cover { outline:2px solid var(--accent); outline-offset:3px; }
.pgs-stack:focus-visible .pgs-cover { outline:2px solid var(--accent); outline-offset:3px; }
.pgs-info { display:grid; gap:2px; min-width:0; padding:0 2px; }
.pgs-info small { overflow:hidden; color:var(--desk-muted); font-size:var(--type-caption); text-overflow:ellipsis; white-space:nowrap; font-variant-numeric:tabular-nums; }
.pgs-info b { overflow:hidden; color:var(--desk-ink); font-size:var(--type-meta); font-weight:650; text-overflow:ellipsis; white-space:nowrap; }
.pgs-counts { display:flex; align-items:center; gap:10px; color:var(--desk-muted); font-size:var(--type-caption); font-variant-numeric:tabular-nums; }
.pgs-counts span { display:inline-flex; align-items:center; }
.pgs-counts .pg-dot { width:7px; height:7px; margin:0 5px 0 0; }
.pgs-counts time { margin-left:auto; }
.pgs-drawer { position:sticky; top:calc(var(--shell-top, 64px) + 12px); display:grid; gap:18px; max-height:calc(100vh - var(--shell-top, 64px) - 32px); overflow:auto; padding:18px; border:1px solid var(--desk-line); border-radius:14px; background:var(--desk-paper); scrollbar-width:thin; }
.pgs-dh { display:flex; align-items:flex-start; gap:10px; }
.pgs-dh > div { display:grid; gap:2px; flex:1 1 auto; min-width:0; }
.pgs-dh small { color:var(--desk-muted); font-size:var(--type-caption); font-variant-numeric:tabular-nums; }
.pgs-dh b { color:var(--desk-ink); font-size:15px; font-weight:700; }
.pgs-x { display:grid; place-items:center; width:28px; height:28px; flex:0 0 auto; padding:0; border:0; border-radius:8px; background:none; color:var(--desk-muted); font-size:18px; line-height:1; cursor:pointer; }
.pgs-x:hover { background:var(--desk-soft); color:var(--desk-ink); }
.pgs-sec { display:grid; gap:8px; }
.pgs-sec-h { display:flex; align-items:center; gap:2px; color:var(--desk-ink); font-size:var(--type-meta); font-weight:650; }
.pgs-sec-h .pg-dot { margin:0 6px 0 0; }
.pgs-sec-h em { margin-left:6px; color:var(--desk-muted); font-style:normal; font-weight:500; font-variant-numeric:tabular-nums; }
.pgs-sec-h button { margin-left:auto; padding:0; border:0; background:none; color:var(--accent); font:600 var(--type-caption) var(--font); cursor:pointer; }
.pgs-lane { display:grid; gap:6px; }
.pgs-lane > span { color:var(--desk-muted); font-size:var(--type-caption); }
.pgs-thumbs { display:grid; grid-template-columns:repeat(4, minmax(0, 1fr)); gap:6px; }
.pgs-thumb { aspect-ratio:1; padding:0; overflow:hidden; border:0; border-radius:8px; background:var(--desk-soft); cursor:zoom-in; }
.pgs-thumb img { width:100%; height:100%; display:block; object-fit:cover; }
.pgs-thumb:focus-visible { outline:2px solid var(--accent); outline-offset:1px; }
.pgs-row { display:grid; grid-template-columns:40px minmax(0, 1fr) auto; align-items:center; gap:10px; padding:7px; border:1px solid var(--desk-line); border-radius:10px; background:none; color:inherit; font:inherit; text-align:left; cursor:pointer; }
.pgs-row:hover { background:var(--desk-soft); }
.pgs-row img { width:40px; height:40px; border-radius:7px; object-fit:cover; background:var(--desk-soft); }
.pgs-row > span { display:grid; gap:1px; min-width:0; }
.pgs-row b { overflow:hidden; color:var(--desk-ink); font-size:var(--type-meta); font-weight:600; text-overflow:ellipsis; white-space:nowrap; }
.pgs-row small { overflow:hidden; color:var(--desk-muted); font-size:var(--type-caption); text-overflow:ellipsis; white-space:nowrap; }
.pgs-row em { padding:2px 8px; border-radius:999px; font-size:var(--type-caption); font-style:normal; font-weight:600; }
.pgs-row em:empty { display:none; }
.pgs-row em.is-open { background:color-mix(in srgb, var(--pg-k-tic) 13%, transparent); color:var(--pg-k-tic); }
.pgs-row em.is-closed { background:var(--desk-soft); color:var(--desk-muted); }

/* Not penceresi */
.pg-note-overlay { align-items:center; justify-content:center; }
.pg-note { display:grid; gap:12px; width:min(440px, calc(100vw - 32px)); padding:18px; border:1px solid var(--desk-line); border-radius:16px; background:var(--desk-paper); box-shadow:0 24px 60px rgba(15,23,42,.28); }
.pg-note-head { display:flex; align-items:center; gap:12px; }
.pg-note-head > div:nth-child(2) { flex:1 1 auto; min-width:0; }
.pg-note-head h2 { margin:0; color:var(--desk-ink); font-size:15px; font-weight:700; }
.pg-note-head p { margin:2px 0 0; color:var(--desk-muted); font-size:var(--type-caption); }
.pg-note-thumbs { display:flex; }
.pg-note-thumbs img { width:40px; height:40px; margin-left:-12px; border:2px solid var(--desk-paper); border-radius:9px; object-fit:cover; background:var(--desk-soft); }
.pg-note-thumbs img:first-child { margin-left:0; }
.pg-note-x { display:grid; place-items:center; width:28px; height:28px; padding:0; border:0; border-radius:8px; background:none; color:var(--desk-muted); font-size:18px; cursor:pointer; }
.pg-note-x:hover { background:var(--desk-soft); color:var(--desk-ink); }
.pg-note textarea { width:100%; min-height:84px; padding:10px 12px; border:1px solid var(--desk-line); border-radius:10px; background:var(--desk-soft); color:var(--desk-ink); font:500 var(--type-control) var(--font); resize:vertical; }
.pg-note textarea:focus, .pg-note-sip input:focus { outline:0; border-color:var(--accent); box-shadow:0 0 0 3px var(--accent-soft); }
.pg-note-sip { display:flex; align-items:center; gap:10px; margin:0; color:var(--desk-muted); font-size:var(--type-meta); font-weight:500; letter-spacing:0; text-transform:none; }
.pg-note-sip input { flex:1 1 auto; height:34px; padding:0 10px; border:1px solid var(--desk-line); border-radius:9px; background:var(--desk-paper); color:var(--desk-ink); font:500 var(--type-control) var(--font); }
.pg-note-foot { display:flex; justify-content:flex-end; gap:8px; }
.pg-caption-edit textarea { min-height:132px; }
.pg-caption-reset { margin-right:auto; padding:0; border:0; background:none; font:inherit; font-size:var(--type-small,12px); color:var(--muted); cursor:pointer; }
.pg-caption-reset:hover { color:var(--accent); text-decoration:underline; }

@media (max-width:1100px) {
  .pgs.has-drawer { grid-template-columns:minmax(0, 1fr); }
  .pgs-drawer { position:static; max-height:none; order:-1; }
  .pgi-row { grid-template-columns:34px minmax(0, 1fr); }
  .pgi-side { grid-column:2; }
}
@media (max-width:760px) {
  .pg-body { grid-template-columns:minmax(0, 1fr); gap:var(--space-3); }
  .pg-rail { position:static; flex-direction:row; gap:6px; overflow-x:auto; scrollbar-width:none; }
  .pg-rail::-webkit-scrollbar { display:none; }
  .pg-rail-item { flex:0 0 auto; height:32px; border:1px solid var(--desk-line); border-radius:999px; }
  .pg-rail-item.is-active { border-color:color-mix(in srgb, var(--accent) 45%, transparent); }
  .pg-rail-label, .pg-rail-pin { display:none; }
  .pgs-grid { grid-template-columns:repeat(2, minmax(0, 1fr)); gap:var(--space-4) var(--space-3); }
  .pgi-row { grid-template-columns:minmax(0, 1fr); }
  .pgi-av { display:none; }
  .pgi-side { grid-column:1; }
  .pgi-thumb { width:64px; }
}

/* ── assets/styles/entity-profiles.css ── */
/* ── Müşteri / örgücü / boyahane profil sayfası ────────────────── */
.entity-profile-app{max-width:1500px;margin:0 auto}.entity-profile{display:grid;gap:16px;--entity-accent:#0a84ff}

.entity-orders-section {border:1px solid var(--border);border-radius:22px;background:var(--surface-solid,#fff);box-shadow:var(--shadow)}.entity-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:18px}.entity-section-head>div>span,.entity-orders-heading>div:first-child>span{color:var(--entity-accent);font-size:8.5px;font-weight:850;letter-spacing:.09em;text-transform:uppercase}.entity-section-head h2 {margin:3px 0 0;color:var(--text);font-size:18px;font-weight:800;letter-spacing:-.025em}.entity-section-head>small{color:var(--muted);font-size:9px;font-weight:700}

.entity-turnover-periods{display:inline-flex;padding:3px;border:1px solid var(--border);border-radius:10px;background:rgba(127,127,127,.04)}.entity-turnover-periods button{min-height:27px;padding:4px 9px;border:0;border-radius:7px;background:transparent;color:var(--muted);font:750 8.5px inherit;cursor:pointer;transition:background .16s,color .16s,box-shadow .16s}.entity-turnover-periods button:hover{color:var(--text)}.entity-turnover-periods button.active{background:var(--entity-accent);color:#fff;box-shadow:0 4px 10px color-mix(in srgb,var(--entity-accent) 20%,transparent)}
.entity-orders-section{padding:24px}.entity-orders-heading{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap;margin-bottom:var(--space-3)}.entity-orders-controls{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-2);flex-wrap:wrap}.entity-orders-controls input,.entity-orders-controls select{width:auto;height:34px;min-height:34px;margin:0;border:1px solid var(--desk-line);border-radius:8px;background-color:var(--desk-paper);color:var(--desk-ink);font:600 var(--type-meta) var(--font);box-shadow:none}.entity-orders-controls input{width:190px;padding:0 11px}.entity-orders-controls select{padding:0 28px 0 10px;cursor:pointer}.entity-orders-controls :is(input,select):focus{outline:0;border-color:var(--accent)}
.entity-profile-loading{min-height:430px;display:grid;place-items:center;align-content:center;gap:9px;border:1px solid var(--border);border-radius:26px;background:var(--surface-solid,#fff);box-shadow:var(--shadow);text-align:center}.entity-profile-loading strong{color:var(--text);font-size:16px}.entity-profile-loading span{color:var(--muted);font-size:10px}@keyframes entityProfilePulse{50%{transform:translateY(-4px);box-shadow:0 16px 35px rgba(10,132,255,.22)}}
.tk-search-item.entity-search-item .dash-cust-avatar{border-radius:10px}.tk-search-item.entity-search-item.is-knitter .dash-cust-avatar{background:linear-gradient(145deg,#8b5cf6,#5b21b6)}.tk-search-item.entity-search-item.is-dyer .dash-cust-avatar{background:linear-gradient(145deg,#22c55e,#15803d)}.entity-search-role{padding:2px 6px;border-radius:999px;background:rgba(127,127,127,.09);color:var(--muted);font-size:8px;font-weight:850;text-transform:uppercase}.entity-search-loading{display:flex;align-items:center;gap:9px;padding:15px;color:var(--muted);font-size:10px;font-weight:700}.entity-search-loading i{width:8px;height:8px;border-radius:50%;background:var(--accent);animation:entityProfilePulse 1.2s infinite}
.fason-detail-profile-link{flex:0 0 auto;align-self:center;min-height:30px;padding:5px 9px;border:1px solid color-mix(in srgb,var(--accent) 24%,var(--border));border-radius:9px;background:var(--surface-solid,#fff);color:var(--accent);font:800 9px inherit;cursor:pointer}.fason-detail-profile-link:hover{border-color:var(--accent);background:var(--accent-soft)}

@media(max-width:820px){.entity-orders-controls{width:100%;justify-content:flex-start}.entity-orders-controls input{flex:1 1 160px;width:auto}}
@media(max-width:560px){.entity-profile{gap:10px}.entity-orders-section {padding:16px;border-radius:18px}.entity-orders-controls input{font-size:16px}}

/* Fason yetkinlikleri: yalnız gerçek firma hareketinden türetilir; sipariş kartındaki
   varsayılan firma veya bir proses etiketi veri yokken burada gösterilmez. */
.entity-capability-section{padding:22px;border:1px solid color-mix(in srgb,var(--entity-accent) 24%,var(--border));border-radius:22px;background:linear-gradient(135deg,color-mix(in srgb,var(--entity-accent) 6%,var(--surface-solid,#fff)),var(--surface-solid,#fff) 44%);box-shadow:var(--shadow)}.entity-capability-section .entity-section-head{align-items:flex-start}.entity-capability-section .entity-section-head>small{max-width:380px;line-height:1.5;text-align:right}.entity-capability-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(205px,1fr));gap:9px}.entity-capability-fabric{min-width:0;display:grid;gap:11px;padding:14px;border:1px solid color-mix(in srgb,var(--entity-accent) 19%,var(--border));border-radius:15px;background:color-mix(in srgb,var(--surface-solid,#fff) 93%,var(--entity-accent))}.entity-capability-fabric>div:first-child{min-width:0;display:grid;gap:4px}.entity-capability-fabric strong{overflow:hidden;color:var(--text);font-size:12px;font-weight:850;text-overflow:ellipsis;white-space:nowrap}.entity-capability-fabric small{color:var(--muted);font-size:8.5px;font-weight:700}.entity-capability-fabric>b{display:grid;gap:3px;color:var(--entity-accent);font:850 17px var(--font-numeric);letter-spacing:-.035em}.entity-capability-fabric>b em{color:var(--muted);font:700 7px inherit;font-style:normal;letter-spacing:0}.entity-capability-fabric>b.is-muted{color:var(--muted);font-size:12px}.entity-count-chips{display:flex;flex-wrap:wrap;gap:4px}.entity-count-chips span{padding:4px 6px;border-radius:7px;background:color-mix(in srgb,var(--entity-accent) 10%,transparent);color:color-mix(in srgb,var(--entity-accent) 82%,var(--text));font:800 8px var(--font-numeric)}.entity-capability-empty{padding:20px;border:1px dashed color-mix(in srgb,var(--entity-accent) 28%,var(--border));border-radius:14px;color:var(--muted);font-size:9px;text-align:center}.entity-process-row{display:grid;grid-template-columns:minmax(145px,.55fr) minmax(0,1fr);align-items:center;gap:12px;margin-top:14px;padding-top:13px;border-top:1px solid color-mix(in srgb,var(--entity-accent) 17%,var(--border))}.entity-process-row>span{color:var(--muted);font-size:8px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.entity-process-row>div{display:flex;flex-wrap:wrap;gap:6px}.entity-process{display:inline-flex;align-items:center;gap:6px;padding:5px 8px;border:1px solid color-mix(in srgb,var(--process-color) 36%,var(--border));border-radius:999px;background:color-mix(in srgb,var(--process-color) 10%,transparent);color:var(--process-color);font:850 8px inherit}.entity-process small{color:var(--muted);font-size:7px;font-weight:750}.entity-process-dyeing{--process-color:#7c3aed}@media(max-width:700px){.entity-capability-section .entity-section-head>small{text-align:left}.entity-process-row{grid-template-columns:1fr;gap:8px}}@media(max-width:560px){.entity-capability-section{padding:16px;border-radius:18px}.entity-capability-grid{gap:7px}.entity-capability-fabric{padding:11px}.entity-capability-fabric>b{font-size:14px}}
@media(max-width:560px){.entity-turnover-periods{width:100%;display:grid;grid-template-columns:repeat(4,1fr)}.entity-turnover-periods button{padding-inline:5px}.entity-section-head:has(.entity-turnover-periods){align-items:flex-start;flex-direction:column}}

/* Boyahane profili: ekip tarafından doldurulan, bulutta kalıcı yetkinlik formu. */
.entity-dyer-capability-editor{display:grid;gap:15px;margin:0 0 17px;padding:18px;border:1px solid color-mix(in srgb,var(--entity-accent) 26%,var(--border));border-radius:18px;background:color-mix(in srgb,var(--surface-solid,#fff) 94%,var(--entity-accent));box-shadow:inset 0 1px 0 rgba(255,255,255,.34)}
.entity-dyer-capability-editor>header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.entity-dyer-capability-editor>header h3{margin:4px 0 3px;color:var(--text);font-size:17px;font-weight:850;letter-spacing:-.025em}.entity-dyer-capability-editor>header small{flex:0 0 auto;padding:6px 9px;border-radius:999px;background:color-mix(in srgb,#16a34a 11%,transparent);color:#15803d;font-size:8px;font-weight:800;white-space:nowrap}.entity-dyer-capability-editor>header small[data-status=saving]{background:color-mix(in srgb,#0a84ff 11%,transparent);color:#0877db}.entity-dyer-capability-editor>header small[data-status=error]{background:color-mix(in srgb,#f59e0b 13%,transparent);color:#b76b00}
.entity-dyer-fixed-capabilities{display:grid;grid-template-columns:repeat(7,minmax(84px,1fr));gap:7px}.entity-dyer-fixed-capabilities button{min-height:47px;display:flex;align-items:center;justify-content:center;gap:7px;padding:8px;border:1px solid var(--border);border-radius:12px;background:var(--surface-solid,#fff);color:var(--muted);font:800 10px inherit;cursor:pointer;transition:border-color .16s,background .16s,color .16s,box-shadow .16s,transform .16s}.entity-dyer-fixed-capabilities button:hover{border-color:color-mix(in srgb,var(--entity-accent) 42%,var(--border));color:var(--text);transform:translateY(-1px)}.entity-dyer-fixed-capabilities button:focus-visible{outline:2px solid var(--entity-accent);outline-offset:2px}.entity-dyer-fixed-capabilities button i{width:20px;height:20px;display:grid;place-items:center;border-radius:7px;background:color-mix(in srgb,var(--muted) 10%,transparent);font-size:12px;font-style:normal}.entity-dyer-fixed-capabilities button.active{border-color:color-mix(in srgb,var(--entity-accent) 54%,var(--border));background:color-mix(in srgb,var(--entity-accent) 11%,var(--surface-solid,#fff));color:color-mix(in srgb,var(--entity-accent) 84%,var(--text));box-shadow:0 7px 17px color-mix(in srgb,var(--entity-accent) 10%,transparent)}.entity-dyer-fixed-capabilities button.active i{background:var(--entity-accent);color:#fff}
.entity-dyer-custom-capabilities{display:grid;grid-template-columns:minmax(0,1fr) minmax(270px,.7fr);align-items:end;gap:15px;padding-top:14px;border-top:1px solid color-mix(in srgb,var(--entity-accent) 16%,var(--border))}.entity-dyer-custom-list{min-height:39px;display:flex;align-items:center;gap:7px;flex-wrap:wrap}.entity-dyer-custom-capabilities form{display:grid;gap:6px}.entity-dyer-custom-capabilities form>label{color:var(--muted);font-size:8px;font-weight:800;letter-spacing:.035em;text-transform:uppercase}.entity-dyer-custom-capabilities form>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px}.entity-dyer-custom-capabilities input{width:100%;min-width:0;height:39px;padding:8px 11px;border:1px solid var(--border);border-radius:11px;background:var(--surface-solid,#fff);color:var(--text);font:650 10px inherit;outline:0}.entity-dyer-custom-capabilities input:focus{border-color:var(--entity-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--entity-accent) 11%,transparent)}.entity-dyer-custom-capabilities form button{min-width:72px;padding:8px 14px;border:0;border-radius:11px;background:var(--entity-accent);color:#fff;font:850 10px inherit;cursor:pointer;box-shadow:0 7px 16px color-mix(in srgb,var(--entity-accent) 20%,transparent)}.entity-dyer-custom-capabilities form button:hover{filter:brightness(1.05)}
@media(max-width:1100px){.entity-dyer-fixed-capabilities{grid-template-columns:repeat(4,minmax(90px,1fr))}}@media(max-width:700px){.entity-dyer-capability-editor>header{flex-direction:column;gap:9px}.entity-dyer-custom-capabilities{grid-template-columns:1fr}.entity-dyer-fixed-capabilities{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:430px){.entity-dyer-fixed-capabilities{grid-template-columns:1fr}.entity-dyer-fixed-capabilities button{justify-content:flex-start;padding-inline:13px}}

/* ── Fasoncular merkezi: ana sıralama + ayrı örgücü/boyahane sayfaları ── */
.fason-page-app{max-width:1500px;margin:0 auto}.fason-page-shell{min-width:0;display:grid;gap:17px}
.fason-page-tabs{width:max-content;display:flex;gap:4px;padding:4px;border:1px solid var(--border);border-radius:10px;background:var(--surface-solid,#fff);box-shadow:none}.fason-page-tabs button{min-height:34px;display:flex;align-items:center;gap:7px;padding:7px 16px;border:0;border-radius:8px;background:transparent;color:var(--muted);font:600 13px inherit;cursor:pointer}.fason-page-tabs button:hover{background:rgba(127,127,127,.06);color:var(--text)}.fason-page-tabs button.active{background:color-mix(in srgb,var(--accent) 12%,var(--surface-solid,#fff));color:var(--accent);box-shadow:none}
.fason-page-loading{min-height:260px;display:grid;place-content:center;justify-items:center;gap:12px;border:1px solid var(--border);border-radius:16px;background:var(--surface-solid,#fff);box-shadow:var(--shadow);text-align:center}.fason-page-loading>span{width:10px;height:10px;border-radius:50%;background:var(--muted);opacity:.5;animation:entityProfilePulse 1.5s ease-in-out infinite}.fason-page-loading strong{color:var(--muted);font-size:13px;font-weight:600}

/* Kumaş filtresi yalnız hareketlerde gerçekten doğrulanan yetkinlikleri sunar. */

@media(max-width:560px){.fason-page-tabs{width:100%}.fason-page-tabs button{min-width:0;flex:1;justify-content:center;padding-inline:7px}}

/* Örme yetkinliği kanıt zinciri */
.entity-capability-fabric.is-interactive{position:relative;cursor:pointer;outline:0;text-align:left;transition:border-color .16s,box-shadow .16s,transform .16s,background .16s}.entity-capability-fabric.is-interactive:hover,.entity-capability-fabric.is-interactive:focus-visible{border-color:color-mix(in srgb,var(--entity-accent) 54%,var(--border));box-shadow:0 11px 26px color-mix(in srgb,var(--entity-accent) 12%,transparent);transform:translateY(-1px)}.entity-capability-fabric.is-interactive:focus-visible{box-shadow:0 0 0 3px color-mix(in srgb,var(--entity-accent) 16%,transparent),0 11px 26px color-mix(in srgb,var(--entity-accent) 12%,transparent)}.entity-capability-fabric.is-selected{border-color:var(--entity-accent);background:color-mix(in srgb,var(--entity-accent) 10%,var(--surface-solid,#fff));box-shadow:0 12px 28px color-mix(in srgb,var(--entity-accent) 14%,transparent)}.entity-capability-proof-link{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:9px;border-top:1px solid color-mix(in srgb,var(--entity-accent) 18%,var(--border));color:var(--entity-accent);font-size:8.5px;font-weight:850}.entity-capability-proof-link b{font-size:13px;line-height:1}
.entity-capability-evidence{margin-top:14px;overflow:hidden;border:1px solid color-mix(in srgb,var(--entity-accent) 38%,var(--border));border-radius:18px;background:color-mix(in srgb,var(--surface-solid,#fff) 95%,var(--entity-accent));box-shadow:0 16px 38px color-mix(in srgb,var(--entity-accent) 10%,transparent)}.entity-capability-evidence>header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:19px 20px 16px;border-bottom:1px solid color-mix(in srgb,var(--entity-accent) 16%,var(--border));background:linear-gradient(125deg,color-mix(in srgb,var(--entity-accent) 10%,transparent),transparent 58%)}.entity-capability-evidence>header>div{min-width:0}.entity-capability-evidence>header span{color:var(--entity-accent);font-size:7.5px;font-weight:900;letter-spacing:.1em}.entity-capability-evidence>header h3{margin:4px 0 3px;color:var(--text);font-size:22px;font-weight:850;letter-spacing:-.035em}.entity-capability-evidence>header p{margin:0;color:var(--muted);font-size:9px;font-weight:700}.entity-capability-evidence>header>button{width:31px;height:31px;flex:0 0 31px;display:grid;place-items:center;padding:0;border:1px solid var(--border);border-radius:10px;background:var(--surface-solid,#fff);color:var(--muted);font:500 20px/1 inherit;cursor:pointer}.entity-capability-evidence>header>button:hover{border-color:var(--entity-accent);color:var(--entity-accent)}
.entity-evidence-legend{display:flex;align-items:center;gap:7px;flex-wrap:wrap;padding:11px 20px;border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--bg) 42%,transparent)}.entity-evidence-legend>span,.entity-evidence-order>header>span{padding:4px 7px;border-radius:999px;font-size:7.5px;font-weight:850;white-space:nowrap}.entity-evidence-legend .is-direct,.entity-evidence-order>header>span.is-direct{background:color-mix(in srgb,#16a34a 13%,transparent);color:#168447}.entity-evidence-legend .is-linked,.entity-evidence-order>header>span.is-linked{background:color-mix(in srgb,#7c3aed 12%,transparent);color:#7c3aed}.entity-evidence-legend p{margin:0 0 0 auto;color:var(--muted);font-size:8px;font-weight:650}
.entity-evidence-list{max-height:640px;display:grid;gap:9px;overflow:auto;padding:13px}.entity-evidence-order{min-width:0;padding:13px;border:1px solid var(--border);border-radius:14px;background:var(--surface-solid,#fff)}.entity-evidence-order>header{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.entity-evidence-order>header>button{padding:0;border:0;background:transparent;color:var(--entity-accent);font:850 10px var(--font-numeric);cursor:pointer}.entity-evidence-order>header>button:hover{text-decoration:underline}.entity-evidence-order>header>b{margin-left:auto;color:var(--text);font:800 9px var(--font-numeric)}.entity-evidence-order>p{margin:8px 0 10px;color:var(--muted);font-size:8.5px;font-weight:650;line-height:1.45}.entity-evidence-movements{display:grid;gap:5px}.entity-evidence-movement{width:100%;min-width:0;display:grid;grid-template-columns:10px minmax(0,1fr) 12px;align-items:start;gap:9px;padding:9px 10px;border:1px solid color-mix(in srgb,var(--entity-accent) 13%,var(--border));border-radius:10px;background:color-mix(in srgb,var(--bg) 40%,var(--surface-solid,#fff));color:inherit;text-align:left;cursor:pointer}.entity-evidence-movement:hover{border-color:color-mix(in srgb,var(--entity-accent) 46%,var(--border));background:color-mix(in srgb,var(--entity-accent) 6%,var(--surface-solid,#fff))}.entity-evidence-movement>i{width:8px;height:8px;margin-top:3px;border:2px solid var(--surface-solid,#fff);border-radius:50%;background:var(--muted);box-shadow:0 0 0 1px color-mix(in srgb,var(--muted) 40%,transparent)}.entity-evidence-movement.is-source>i{background:var(--entity-accent);box-shadow:0 0 0 1px color-mix(in srgb,var(--entity-accent) 48%,transparent)}.entity-evidence-movement>span{min-width:0;display:grid;grid-template-columns:auto 1fr;align-items:baseline;gap:3px 8px}.entity-evidence-movement strong{color:var(--text);font-size:8.5px;font-weight:850}.entity-evidence-movement small{color:var(--muted);font:700 7.5px var(--font-numeric)}.entity-evidence-movement em{grid-column:1/-1;overflow:hidden;color:var(--muted);font-size:7.5px;font-style:normal;font-weight:650;line-height:1.4;text-overflow:ellipsis;white-space:nowrap}.entity-evidence-movement>b{color:var(--entity-accent);font-size:15px;line-height:1}
@media(max-width:700px){.entity-evidence-legend p{width:100%;margin-left:0}.entity-evidence-list{max-height:560px}.entity-capability-evidence>header{padding:16px}.entity-evidence-legend{padding-inline:16px}}
@media(max-width:560px){.entity-capability-grid{grid-template-columns:1fr}.entity-capability-evidence>header h3{font-size:19px}.entity-evidence-order{padding:11px}.entity-evidence-order>header>b{width:100%;margin-left:0}.entity-evidence-movement>span{grid-template-columns:1fr}.entity-evidence-movement small,.entity-evidence-movement em{grid-column:1}.entity-evidence-movement em{white-space:normal}}

/* ── Fasoncular sayfası şerit ölçüleri (TASARIM-DILI.md §3.1) ──────────
   Seçili dolgu global; burada yalnız yuvarlatma ve punto. */
.fason-ctrl-row .analysis-periods {border-radius:10px;background:var(--surface-solid,#fff)}
.fason-ctrl-row .analysis-period-btn {border-radius:8px;font:600 12px inherit}

html[data-theme="dark"] .fason-page-tabs button.active{color:var(--accent-bright);background:color-mix(in srgb,var(--accent-bright) 16%,transparent);box-shadow:none}

/* Rehber iletişim (2026-09-22): adres + ad · ünvan · telefon. Yeni dil:
   ince ayraç, kutu içinde kutu yok, punto 16/13/11. */

.entity-contact-phone{flex:0 0 auto;color:var(--accent);font-size:13px;font-weight:600;text-decoration:none;font-variant-numeric:tabular-nums}
.entity-contact-phone:hover{text-decoration:underline;text-underline-offset:3px}
.entity-contact-phone.is-missing{color:var(--muted);font-weight:500}

.entity-contact-edit-row{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) minmax(0,1fr) 30px;gap:8px;align-items:center;margin-bottom:8px}
.entity-contact-remove{width:30px;height:30px;display:grid;place-items:center;padding:0;border:0;border-radius:8px;background:transparent;color:var(--muted);cursor:pointer}
.entity-contact-remove:hover{background:color-mix(in srgb,var(--danger) 12%,transparent);color:var(--danger)}
.entity-contact-remove svg{width:14px;height:14px}

@media(max-width:820px){.entity-contact-edit-row{grid-template-columns:1fr 1fr 30px}.entity-contact-edit-row input[data-field="phone"]{grid-column:1/3}}

/* ═══ REHBER ORTAK KART (2026-09-23) — TASARIM-DILI.md §3.13 ═══════════════
   Müşteri Listesi, Örgücü/Boyahane dizini ve tam profil AYNI iskeleti kullanır:
   solda liste (rh-index), sağda kart (rh-card): başlık → ölçü şeridi →
   "Üretimde" satırı → İletişim → tipe özel bölümler. Kutu içinde kutu yok;
   bölümler 1px ayraçla ayrılır. Bu dosya açılışta ertelenmiş yüklenir, bu yüzden
   Müşteriler sayfası da buradan beslenir. */
.rh-shell{min-width:0;display:grid;gap:var(--space-4)}
.rh-toolbar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);flex-wrap:wrap}
.rh-toolbar-summary{margin:0;color:var(--desk-muted);font-size:var(--type-meta);font-weight:500;white-space:nowrap}
.rh-toolbar-summary b{color:var(--desk-ink);font-weight:650}
.rh-toolbar-summary i{display:inline-block;width:1px;height:12px;margin:0 var(--space-2);vertical-align:-1px;background:var(--desk-line)}

.rh-layout{display:grid;grid-template-columns:320px minmax(0,1fr);align-items:start;gap:var(--space-4)}
.rh-layout.is-list-only{grid-template-columns:minmax(0,560px)}

/* Liste */
.rh-index{position:sticky;top:calc(var(--shell-top,64px) + var(--space-4));max-height:calc(100vh - var(--shell-top,64px) - 32px);min-width:0;display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--desk-line);border-radius:16px;background:var(--desk-paper)}
.rh-search{position:relative;display:flex;align-items:center;margin:var(--space-3) var(--space-3) 0;text-transform:none;letter-spacing:0}
.rh-search-icon{position:absolute;left:12px;width:11px;height:11px;border:1.6px solid var(--desk-muted);border-radius:50%;pointer-events:none}
.rh-search-icon::after{content:"";position:absolute;right:-4px;bottom:-4px;width:5px;height:1.6px;background:var(--desk-muted);transform:rotate(45deg)}
.rh-index .rh-search input{width:100%;height:38px;margin:0;padding:0 32px 0 34px;border:1px solid var(--desk-line);border-radius:10px;background:var(--desk-soft);color:var(--desk-ink);font:500 var(--type-control) var(--font);box-shadow:none}
.rh-index .rh-search input:focus{outline:0;border-color:var(--accent);background:var(--desk-paper)}
.rh-search-clear{position:absolute;right:6px;width:26px;height:26px;display:grid;place-items:center;padding:0;border:0;border-radius:8px;background:none;color:var(--desk-muted);font-size:16px;cursor:pointer}
.rh-search-clear:hover{background:var(--desk-soft);color:var(--desk-ink)}
.rh-index-filters{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3) var(--space-3);border-bottom:1px solid var(--desk-line)}
.rh-index-filters select{min-width:0;flex:1 1 0;height:32px;margin:0;padding:0 26px 0 10px;border:1px solid var(--desk-line);border-radius:8px;background-color:var(--desk-paper);color:var(--desk-ink);font:600 var(--type-meta) var(--font)}
.rh-seg{flex:0 0 auto;display:flex;padding:2px;border:1px solid var(--desk-line);border-radius:10px;background:var(--desk-soft)}
.rh-seg button{height:26px;padding:0 10px;border:0;border-radius:8px;background:none;color:var(--desk-muted);font:600 var(--type-meta) var(--font);cursor:pointer}
.rh-seg button:hover{color:var(--desk-ink)}
.rh-seg button.active{background:var(--desk-paper);color:var(--desk-ink);box-shadow:0 1px 2px rgba(0,0,0,.08)}
.rh-index-list{min-height:120px;overflow:auto;padding:6px}
.rh-index-item{width:100%;display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:var(--space-3);padding:8px 10px;border:0;border-radius:10px;background:none;color:inherit;text-align:left;cursor:pointer}
.rh-index-item + .rh-index-item{margin-top:2px}
.rh-index-item:hover{background:var(--desk-soft)}
.rh-index-item.active{background:var(--accent-soft)}
.rh-index-item:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
.rh-avatar{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:var(--desk-soft);color:var(--desk-muted);font-size:var(--type-caption);font-weight:700;letter-spacing:.02em}
.rh-index-item.active .rh-avatar{background:var(--desk-paper);color:var(--accent)}
.rh-index-copy{min-width:0;display:grid;gap:2px}
.rh-index-copy strong{overflow:hidden;color:var(--desk-ink);font-size:var(--type-control);font-weight:650;text-overflow:ellipsis;white-space:nowrap}
.rh-index-copy small{overflow:hidden;color:var(--desk-muted);font-size:var(--type-caption);font-weight:500;text-overflow:ellipsis;white-space:nowrap}
.rh-index-open{min-width:32px;display:grid;justify-items:center;gap:0;color:var(--desk-muted)}
.rh-index-open b{font-size:var(--type-control);font-weight:650}
.rh-index-open small{font-size:10px;font-weight:500}
.rh-index-open.has-open b{color:var(--accent)}
.rh-index-empty{display:grid;justify-items:start;gap:var(--space-2);padding:var(--space-4) var(--space-3);color:var(--desk-muted);font-size:var(--type-control)}
.rh-index-empty strong{color:var(--desk-ink);font-weight:650}

/* Kart */
.rh-detail{min-width:0}
.rh-page{display:grid;gap:var(--space-4);max-width:1180px;margin:0 auto}
.rh-card{min-width:0;padding:var(--space-5);border:1px solid var(--desk-line);border-radius:16px;background:var(--desk-paper);box-shadow:none}
.rh-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4)}
.rh-head-main{min-width:0;display:grid;justify-items:start;gap:var(--space-1)}
.rh-back{display:inline-flex;align-items:center;gap:4px;margin:0 0 var(--space-2);padding:0;border:0;background:none;color:var(--desk-muted);font:600 var(--type-meta) var(--font);cursor:pointer}
.rh-back span{font-size:16px;line-height:1}
.rh-back:hover{color:var(--accent)}
.rh-kind{color:var(--desk-muted);font-size:var(--type-caption);font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.rh-name{max-width:100%;margin:0;overflow:hidden;color:var(--desk-ink);font-size:24px;font-weight:700;line-height:1.2;letter-spacing:-.028em;text-overflow:ellipsis;white-space:nowrap}
.rh-meta{display:flex;flex-wrap:wrap;gap:0;color:var(--desk-muted);font-size:var(--type-meta);font-weight:500}
.rh-meta span:not(:last-child)::after{content:"·";margin:0 var(--space-2);opacity:.7}
.rh-head-actions{flex:0 0 auto;display:flex;align-items:center;gap:var(--space-2)}

.rh-strip{display:grid;grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;margin-top:var(--space-5);overflow:hidden;border:1px solid var(--desk-line);border-radius:14px}
.rh-strip-cell{min-width:0;display:grid;gap:2px;padding:var(--space-3) var(--space-4)}
.rh-strip-cell + .rh-strip-cell{border-left:1px solid var(--desk-line)}
.rh-strip-cell > span{display:flex;align-items:center;gap:6px;color:var(--desk-muted);font-size:var(--type-caption);font-weight:600}
.rh-strip-cell strong{overflow:hidden;color:var(--desk-ink);font-size:20px;font-weight:700;letter-spacing:-.028em;line-height:1.3;text-overflow:ellipsis;white-space:nowrap}
.rh-strip-cell strong em{color:var(--desk-muted);font-size:.72em;font-style:normal;font-weight:600;letter-spacing:-.01em}
.rh-strip-cell small{overflow:hidden;color:var(--desk-muted);font-size:var(--type-caption);font-weight:500;text-overflow:ellipsis;white-space:nowrap}

.rh-strip-cell.is-good i{background:var(--success)}
.rh-strip-cell.is-info i{background:var(--accent)}
.rh-strip-cell.is-warn i{background:var(--warning)}
.rh-strip-cell.is-bad i{background:var(--danger)}

.rh-stages{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2) var(--space-4);margin-top:var(--space-3);color:var(--desk-ink);font-size:var(--type-meta);font-weight:500}
.rh-stages-label,.rh-stages-none{color:var(--desk-muted)}
.rh-stages-label{font-weight:600}
.rh-stage{display:inline-flex;align-items:center;gap:6px}
.rh-stage b{font-weight:650}
.rh-stage.is-zero{color:var(--desk-muted)}
.rh-stage i,.rh-order-stage i{width:7px;height:7px;flex:0 0 7px;border-radius:50%;background:var(--desk-muted)}
.rh-stage.is-orme i,.rh-order-stage.is-orme i{background:var(--accent)}
.rh-stage.is-boyahane i,.rh-order-stage.is-boyahane i{background:var(--success)}
.rh-stage.is-sevkiyat i,.rh-order-stage.is-sevkiyat i{background:var(--warning)}
.rh-stage.is-zero i{opacity:.35}

/* Bölüm: kartın içinde ayraçla ayrılır, kendi kutusu yok. */
.rh-card > .rh-section{margin:var(--space-5) calc(-1 * var(--space-5)) 0;padding:var(--space-5) var(--space-5) 0;border-top:1px solid var(--desk-line)}
.rh-section-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);min-height:32px;margin-bottom:var(--space-3)}
.rh-section-head h3{margin:0;color:var(--desk-ink);font-size:var(--type-section);font-weight:680;letter-spacing:-.02em}
.rh-section-head > small{color:var(--desk-muted);font-size:var(--type-meta);font-weight:600}
.rh-section-aside{display:flex;align-items:center;gap:var(--space-2)}
.rh-stamp{color:var(--desk-muted);font-size:var(--type-caption)}
.rh-empty,.rh-error,.rh-foot{margin:0;color:var(--desk-muted);font-size:var(--type-control)}
.rh-error{color:var(--danger)}
.rh-foot{margin-top:var(--space-3);font-size:var(--type-meta)}

.rh-icon-btn{width:30px;height:30px;flex:0 0 30px;display:inline-grid;place-items:center;padding:0;border:0;border-radius:8px;background:none;color:var(--desk-muted);text-decoration:none;cursor:pointer}
.rh-icon-btn:hover{background:var(--desk-soft);color:var(--desk-ink)}
.rh-icon-btn:focus-visible{outline:2px solid var(--accent);outline-offset:1px}
.rh-icon-btn svg{width:16px;height:16px}

/* İletişim */
.rh-contacts-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:var(--space-5)}
.rh-contact-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:var(--space-3);min-height:48px;padding:6px 0}
.rh-contact-row + .rh-contact-row{border-top:1px solid var(--desk-line)}
.rh-contact-who{min-width:0;display:grid;gap:1px}
.rh-contact-who strong{overflow:hidden;color:var(--desk-ink);font-size:var(--type-control);font-weight:650;text-overflow:ellipsis;white-space:nowrap}
.rh-contact-who small{overflow:hidden;color:var(--desk-muted);font-size:var(--type-caption);text-overflow:ellipsis;white-space:nowrap}
.rh-contact-phone{color:var(--accent);font-size:var(--type-control);font-weight:600;text-decoration:none;white-space:nowrap}
a.rh-contact-phone:hover{text-decoration:underline;text-underline-offset:3px}
.rh-contact-phone.is-missing{color:var(--desk-muted);font-weight:500}
.rh-contact-actions{display:flex;gap:2px;min-width:30px}
.rh-contacts-place{display:grid;align-content:start;gap:var(--space-4)}
.rh-field{min-width:0;display:grid;align-content:start;gap:6px;margin:0;text-transform:none;letter-spacing:0}
.rh-label{color:var(--desk-muted);font-size:var(--type-caption);font-weight:600;text-transform:none;letter-spacing:0}
.rh-address{margin:0;color:var(--desk-ink);font-size:var(--type-control);line-height:1.55;white-space:pre-line;overflow-wrap:anywhere}
.rh-link{justify-self:start;color:var(--accent);font-size:var(--type-meta);font-weight:600;text-decoration:none}
.rh-link:hover{text-decoration:underline;text-underline-offset:3px}
.rh-contacts-empty{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap}
.rh-contacts-form{display:grid;gap:var(--space-4)}
.rh-contact-edit-list{display:grid;gap:var(--space-2)}
.rh-contact-edit{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) minmax(0,1fr) minmax(0,1.2fr) 30px;gap:var(--space-2);align-items:center}
.rh-contacts-form input,.rh-contacts-form textarea{box-sizing:border-box;width:100%;min-height:36px;margin:0;padding:7px 10px;border:1px solid var(--desk-line);border-radius:8px;background:var(--desk-paper);color:var(--desk-ink);font:500 var(--type-control) var(--font);box-shadow:none}
.rh-contacts-form textarea{resize:vertical;line-height:1.5}
.rh-contacts-form input:focus,.rh-contacts-form textarea:focus{outline:0;border-color:var(--accent)}
.rh-contact-edit .rh-icon-btn:hover{background:var(--danger-soft);color:var(--danger)}
.rh-add{justify-self:start;padding:0;border:0;background:none;color:var(--accent);font:600 var(--type-control) var(--font);cursor:pointer}
.rh-form-actions{display:flex;justify-content:flex-end;gap:var(--space-2)}

/* Kısa sipariş listesi — satır sarmaz (§4.1) */
.rh-order-list,.customer-order-list{display:grid;gap:0}
.rh-order-row{width:100%;display:grid;grid-template-columns:104px minmax(0,1fr) auto 14px;align-items:center;gap:var(--space-3);min-height:48px;padding:6px var(--space-2);border:0;border-radius:10px;background:none;color:inherit;text-align:left;cursor:pointer;transform:none;box-shadow:none}
.rh-order-list .rh-order-row + .rh-order-row,.customer-order-wrap + .customer-order-wrap .rh-order-row,.rh-order-wrap + .rh-order-wrap .rh-order-row{border-top:1px solid var(--desk-line);border-radius:0}
.rh-order-row:hover{background:var(--desk-soft);border-radius:10px}
.rh-order-row:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
.rh-order-stage{display:flex;align-items:center;gap:7px;min-width:0;overflow:hidden;color:var(--desk-muted);font-size:var(--type-control);font-weight:550;white-space:nowrap}
.rh-order-id{min-width:0;display:grid;gap:1px}
.rh-order-id strong{overflow:hidden;color:var(--desk-ink);font-size:var(--type-body);font-weight:650;text-overflow:ellipsis;white-space:nowrap;font-variant-numeric:tabular-nums}
.rh-order-id small{overflow:hidden;color:var(--desk-muted);font-size:var(--type-meta);text-overflow:ellipsis;white-space:nowrap}
.rh-order-kg{display:grid;justify-items:end;gap:1px;color:var(--desk-ink);font-size:var(--type-body);font-weight:650;white-space:nowrap;font-variant-numeric:tabular-nums}
.rh-order-kg small{color:var(--desk-muted);font-size:var(--type-meta);font-weight:500}
.rh-order-arrow{color:var(--desk-muted);font-size:18px;line-height:1}
.rh-more{display:inline-flex;align-items:center;gap:6px;margin-top:var(--space-2);padding:6px var(--space-2);border:0;border-radius:8px;background:none;color:var(--accent);font:600 var(--type-meta) var(--font);cursor:pointer}
.rh-more:hover{background:var(--accent-soft)}
.rh-more small{color:var(--desk-muted);font-size:inherit;font-weight:500}

/* Müşteri satırının hover kumaş içeriği: ortak satıra uyar, punto ≥10px. */
.customer-orders-actions{display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--space-2);margin-top:0}

/* Tam profil sayfası: eski bölümler aynı kâğıda iner (mor ton, gradyan yok). */
.rh-page.entity-profile{--entity-accent:var(--accent)}
.rh-page > .rh-card.rh-section{margin:0}
.rh-page .entity-capability-section,.rh-page .entity-orders-section{padding:var(--space-5);border:1px solid var(--desk-line);border-radius:16px;background:var(--desk-paper);box-shadow:none}
.rh-page .entity-section-head span{color:var(--desk-muted);font-size:var(--type-caption);letter-spacing:.1em}
.rh-page .entity-section-head h2{font-size:var(--type-section);font-weight:680;letter-spacing:-.02em}
.rh-page .entity-section-head small{max-width:420px;color:var(--desk-muted);font-size:var(--type-caption);font-weight:500}
.rh-page .entity-capability-fabric,.rh-page .entity-capability-empty{border-color:var(--desk-line);background:var(--desk-soft);box-shadow:none}
.rh-page .entity-orders-heading .rh-section-head{margin:0}
.entity-profile-loading .rh-avatar{width:48px;height:48px;font-size:var(--type-control)}

@media(max-width:1180px){.rh-layout{grid-template-columns:280px minmax(0,1fr)}.rh-contacts-grid{grid-template-columns:1fr}}
@media(max-width:900px){
  .rh-layout{grid-template-columns:1fr}
  .rh-index{position:static;max-height:none}
  .rh-index-list{max-height:320px}
  .rh-strip{grid-auto-flow:row;grid-template-columns:1fr 1fr}
  .rh-strip-cell + .rh-strip-cell{border-left:0}
  .rh-strip-cell:nth-child(even){border-left:1px solid var(--desk-line)}
  .rh-strip-cell:nth-child(n+3){border-top:1px solid var(--desk-line)}
  .rh-contact-edit{grid-template-columns:1fr 1fr 30px}
  .rh-contact-edit input[data-field="phone"],.rh-contact-edit input[data-field="email"]{grid-row:2}
}
@media(max-width:560px){
  .rh-card{padding:14px}
  .rh-card > .rh-section{margin:var(--space-4) -14px 0;padding:var(--space-4) 14px 0}
  .rh-head{flex-direction:column}
  .rh-name{font-size:20px;white-space:normal}
  .rh-strip-cell{padding:10px var(--space-3)}
  .rh-strip-cell strong{font-size:17px}
  .rh-order-row{grid-template-columns:minmax(0,1fr) auto 14px}
  .rh-order-row .rh-order-stage{display:none}
  .rh-contact-row{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"who actions" "phone phone"}
  .rh-contact-who{grid-area:who}.rh-contact-actions{grid-area:actions}.rh-contact-phone{grid-area:phone}
  .rh-contact-edit input{min-height:44px;font-size:16px}
  .rh-index .rh-search input{font-size:16px}
}
/* İnce ayar: genel form kuralları (%100 genişlik, 40px) Rehber şeritlerini büyütmesin. */
.rh-index .rh-index-filters select{width:auto;min-height:32px;height:32px;padding-top:0;padding-bottom:0;font-size:var(--type-meta);font-weight:600}
.rh-section-head > h3 + small{margin-right:auto;font-weight:500}
.rh-page .entity-orders-controls select{width:auto;min-height:34px;height:34px;padding:0 28px 0 10px;border-color:var(--desk-line);background-color:var(--desk-paper);font-size:var(--type-meta);font-weight:600}
.rh-page .entity-orders-controls input{width:190px;border-color:var(--desk-line)}
/* Profil v2 (2026-10-10): yetkinlik bölümü, kanıt paneli ve boyahane formu da
   Rehber kâğıdına iner — gradyan, gölge, mor/vurgu dolgu, 7–9px yazı ve
   "KANIT TEMELLİ" gibi göz başlıklar yok. Ölçü: başlık §3.13 `rh-section-head`,
   künye --type-meta, en küçük yazı --type-caption. */
.rh-page .entity-capability-section{background:var(--desk-paper)}
.rh-page .entity-capability-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:var(--space-2)}
.rh-page .entity-capability-fabric{gap:var(--space-2);padding:var(--space-3);border:1px solid var(--desk-line);border-radius:12px;background:none;box-shadow:none;transform:none}
.rh-page .entity-capability-fabric strong{color:var(--desk-ink);font-size:var(--type-body);font-weight:650}
.rh-page .entity-capability-fabric small{color:var(--desk-muted);font-size:var(--type-meta);font-weight:500}
.rh-page .entity-capability-fabric>b{gap:1px;color:var(--desk-ink);font:680 17px var(--font);letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.rh-page .entity-capability-fabric>b em{color:var(--desk-muted);font:500 var(--type-caption) var(--font);letter-spacing:0}
.rh-page .entity-capability-fabric>b.is-muted{color:var(--desk-muted);font-size:var(--type-body);font-weight:600}
.rh-page .entity-count-chips span{padding:2px 7px;border-radius:999px;background:var(--desk-soft);color:var(--desk-muted);font:600 var(--type-caption) var(--font);font-variant-numeric:tabular-nums}
.rh-page .entity-capability-fabric.is-interactive:hover{border-color:var(--desk-line);background:var(--desk-soft);box-shadow:none;transform:none}
.rh-page .entity-capability-fabric.is-interactive:focus-visible{outline:2px solid var(--accent);outline-offset:-2px;box-shadow:none}
.rh-page .entity-capability-fabric.is-selected{border-color:var(--accent);background:var(--accent-soft);box-shadow:none}
.rh-page .entity-capability-proof-link{padding-top:var(--space-2);border-top:1px solid var(--desk-line);color:var(--accent);font-size:var(--type-meta);font-weight:600}
.rh-page .entity-process-row{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-3);margin-top:var(--space-4);padding-top:var(--space-3);border-top:1px solid var(--desk-line)}
.rh-page .entity-process-row>span{color:var(--desk-muted);font-size:var(--type-meta);font-weight:600;letter-spacing:0;text-transform:none}
.rh-page .entity-process{padding:3px 9px;border:0;border-radius:999px;background:var(--desk-soft);color:var(--desk-ink);font:600 var(--type-meta) var(--font);box-shadow:none}
.rh-page .entity-process::before{content:"";width:7px;height:7px;flex:0 0 7px;border-radius:50%;background:var(--process-color,var(--desk-muted))}
.rh-page .entity-process small{color:var(--desk-muted);font-size:var(--type-caption);font-weight:500}

.rh-page .entity-capability-evidence{margin-top:var(--space-3);border:1px solid var(--desk-line);border-radius:14px;background:var(--desk-paper);box-shadow:none}
.rh-page .entity-capability-evidence>header{padding:var(--space-4);border-bottom:1px solid var(--desk-line);background:none}
.rh-page .entity-capability-evidence>header h3{margin:0 0 2px;color:var(--desk-ink);font-size:var(--type-section);font-weight:680;letter-spacing:-.02em}
.rh-page .entity-capability-evidence>header p{color:var(--desk-muted);font-size:var(--type-meta);font-weight:500}
.rh-page .entity-capability-evidence>header>button{width:30px;height:30px;flex-basis:30px;border:0;border-radius:8px;background:none;color:var(--desk-muted);font-size:18px}
.rh-page .entity-capability-evidence>header>button:hover{background:var(--desk-soft);color:var(--desk-ink)}
.rh-page .entity-evidence-legend{padding:var(--space-2) var(--space-4);border-bottom:1px solid var(--desk-line);background:none}
.rh-page .entity-evidence-legend>span,.rh-page .entity-evidence-order>header>span{display:inline-flex;align-items:center;gap:6px;padding:0;background:none;color:var(--desk-muted);font-size:var(--type-meta);font-weight:600}
.rh-page .entity-evidence-legend>span::before,.rh-page .entity-evidence-order>header>span::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--desk-muted)}
.rh-page :is(.entity-evidence-legend,.entity-evidence-order>header) .is-direct::before{background:var(--success)}
.rh-page :is(.entity-evidence-legend,.entity-evidence-order>header) .is-linked::before{background:var(--accent)}
.rh-page .entity-evidence-list{gap:0;padding:0 var(--space-4)}
.rh-page .entity-evidence-order{padding:var(--space-3) 0;border:0;border-radius:0;background:none}
.rh-page .entity-evidence-order + .entity-evidence-order{border-top:1px solid var(--desk-line)}
.rh-page .entity-evidence-order>header>button{color:var(--desk-ink);font:650 var(--type-body) var(--font);font-variant-numeric:tabular-nums}
.rh-page .entity-evidence-order>header>b{color:var(--desk-ink);font:600 var(--type-meta) var(--font);font-variant-numeric:tabular-nums}
.rh-page .entity-evidence-order>p{margin:4px 0 var(--space-2);color:var(--desk-muted);font-size:var(--type-meta);font-weight:500}
.rh-page .entity-evidence-movement{padding:7px var(--space-2);border:0;border-radius:8px;background:none;box-shadow:none;transform:none}
.rh-page .entity-evidence-movement:hover{background:var(--desk-soft)}
.rh-page .entity-evidence-movement>i{border:0;background:var(--desk-muted);box-shadow:none}
.rh-page .entity-evidence-movement.is-source>i{background:var(--accent);box-shadow:none}
.rh-page .entity-evidence-movement strong{color:var(--desk-ink);font-size:var(--type-meta);font-weight:650}
.rh-page .entity-evidence-movement small{color:var(--desk-muted);font:500 var(--type-caption) var(--font);font-variant-numeric:tabular-nums}
.rh-page .entity-evidence-movement em{color:var(--desk-muted);font-size:var(--type-caption);font-weight:500}
.rh-page .entity-evidence-movement>b{color:var(--desk-muted);font-size:16px}

.rh-page .entity-dyer-capability-editor{gap:var(--space-3);margin:0 0 var(--space-4);padding:0 0 var(--space-4);border:0;border-bottom:1px solid var(--desk-line);border-radius:0;background:none;box-shadow:none}
.rh-page .entity-dyer-capability-editor>header{align-items:center}
.rh-page .entity-dyer-capability-editor>header h3{margin:0;color:var(--desk-ink);font-size:var(--type-body);font-weight:650;letter-spacing:-.01em}
.rh-page .entity-dyer-capability-editor>header small{padding:0;border-radius:0;background:none;color:var(--desk-muted);font-size:var(--type-meta);font-weight:500}
.rh-page .entity-dyer-capability-editor>header small[data-status=saving]{background:none;color:var(--accent)}
.rh-page .entity-dyer-capability-editor>header small[data-status=error]{background:none;color:var(--warning)}
.rh-page .entity-dyer-fixed-capabilities{display:flex;flex-wrap:wrap;gap:var(--space-2)}
.rh-page .entity-dyer-fixed-capabilities button{min-height:32px;padding:0 12px 0 8px;border:1px solid var(--desk-line);border-radius:999px;background:none;color:var(--desk-muted);font:600 var(--type-meta) var(--font);box-shadow:none;transform:none}
.rh-page .entity-dyer-fixed-capabilities button:hover{border-color:var(--desk-line);background:var(--desk-soft);color:var(--desk-ink);transform:none}
.rh-page .entity-dyer-fixed-capabilities button i{width:18px;height:18px;border-radius:50%;background:var(--desk-soft);color:var(--desk-muted);font-size:var(--type-caption);font-style:normal}
.rh-page .entity-dyer-fixed-capabilities button.active{border-color:transparent;background:var(--accent-soft);color:var(--accent);box-shadow:none}
.rh-page .entity-dyer-fixed-capabilities button.active i{background:var(--accent);color:#fff}
.rh-page .entity-dyer-custom-capabilities{display:flex;flex-wrap:wrap;align-items:flex-end;gap:var(--space-3);padding-top:0;border-top:0}
.rh-page .entity-dyer-custom-capabilities form{flex:0 1 380px}
.rh-page .entity-dyer-custom-list:empty{display:none}
.rh-page .entity-dyer-custom-list{min-height:0}

.rh-page .entity-dyer-custom-capabilities form>label{color:var(--desk-muted);font-size:var(--type-meta);font-weight:600;letter-spacing:0;text-transform:none}
.rh-page .entity-dyer-custom-capabilities input{height:34px;border:1px solid var(--desk-line);border-radius:8px;background:var(--desk-paper);color:var(--desk-ink);font:500 var(--type-control) var(--font);box-shadow:none}
.rh-page .entity-dyer-custom-capabilities input:focus{border-color:var(--accent);box-shadow:none}
.rh-page .entity-dyer-custom-capabilities form button{min-width:0;box-shadow:none;height:34px;padding:0 14px;border:1px solid var(--desk-line);border-radius:8px;background:var(--desk-paper);color:var(--desk-ink);font:600 var(--type-meta) var(--font);filter:none}
.rh-page .entity-dyer-custom-capabilities form button:hover{background:var(--desk-soft);filter:none}

/* customers.css'teki eski `.customer-order-row` kırılma kuralları satırı bozmasın. */
.rh-card .rh-order-row{grid-template-columns:112px minmax(0,1fr) auto 14px;min-height:56px;padding:8px var(--space-3)}
@media(max-width:560px){.rh-card .rh-order-row{grid-template-columns:minmax(0,1fr) auto 14px}}

/* ─── REHBER › WHATSAPP (2026-09-26, TASARIM-DILI §3.18) ─────────────────
   Şirket hattıyla yazışma: WhatsApp Web'in yalın hâli, SALT OKUNUR. İç
   "Sohbet"ten ayrılsın diye WhatsApp renkleri (--wa-* jetonları, yalnız
   burada), duvar zemini ve "salt okunur" alt çubuğu; yazma kutusu yok. */
.whatsapp-page-app{min-width:0}
.wa-web{display:grid;grid-template-columns:minmax(280px,380px) minmax(0,1fr);height:calc(100dvh - var(--shell-top,64px) - 120px);min-height:460px;border:1px solid var(--desk-line);border-radius:14px;background:var(--desk-paper);overflow:hidden}
.wa-web.is-denied{display:grid;grid-template-columns:1fr}
.wa-side{min-width:0;min-height:0;display:flex;flex-direction:column;border-right:1px solid var(--desk-line)}
.wa-search{display:flex;align-items:center;gap:var(--space-2);margin:var(--space-3) var(--space-3) var(--space-2);padding:0 12px;min-height:38px;border-radius:10px;background:var(--desk-soft);color:var(--desk-muted)}
.wa-search svg{width:16px;height:16px;flex:0 0 16px}
/* Genel (ve koyu tema) input kuralları kutuyu ikinci kez çizmesin: seçici onlardan güçlü. */
.wa-web .wa-search input[type="search"]{flex:1;min-width:0;height:36px;min-height:0;margin:0;padding:0;border:0;border-radius:0;background:transparent;color:var(--desk-ink);font:500 var(--type-control) var(--font);box-shadow:none;appearance:none;-webkit-appearance:none}
.wa-web .wa-search input[type="search"]:focus{outline:0;box-shadow:none}
.wa-search:focus-within{box-shadow:inset 0 0 0 1.5px var(--wa-ink)}
.wa-chips{display:flex;flex-wrap:wrap;gap:6px;padding:0 var(--space-3) var(--space-2)}
.wa-chip{flex:0 0 auto;display:inline-flex;align-items:center;gap:5px;min-height:28px;padding:0 10px;border:1px solid var(--desk-line);border-radius:999px;background:none;color:var(--desk-muted);font:600 12.5px var(--font);cursor:pointer}
.wa-chip:hover{background:var(--desk-soft);color:var(--desk-ink)}
.wa-chip.active{border-color:transparent;background:color-mix(in srgb,var(--wa-brand) 18%,transparent);color:var(--wa-ink)}
.wa-chip b{font-size:11px;font-weight:700}
.wa-chip:focus-visible{outline:2px solid var(--accent);outline-offset:1px}
.wa-list{flex:1;min-height:0;overflow-y:auto}
.wa-list-empty{padding:var(--space-5) var(--space-4);display:grid;gap:var(--space-3);justify-items:start}
.wa-item{width:100%;display:grid;grid-template-columns:44px minmax(0,1fr);align-items:center;gap:var(--space-3);padding:10px var(--space-3);border:0;border-radius:0;background:none;color:inherit;text-align:left;cursor:pointer}
.wa-item:hover{background:var(--desk-soft)}
.wa-item.active{background:color-mix(in srgb,var(--desk-ink) 7%,transparent)}
.wa-item:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
.wa-item-copy{min-width:0;display:grid;gap:3px;padding-bottom:10px;margin-bottom:-10px;border-bottom:1px solid var(--desk-line)}
.wa-item:last-child .wa-item-copy{border-bottom:0}
.wa-item-top,.wa-item-bottom{min-width:0;display:flex;align-items:center;gap:var(--space-2)}
.wa-item-top strong{flex:1;min-width:0;overflow:hidden;color:var(--desk-ink);font-size:var(--type-control);font-weight:600;text-overflow:ellipsis;white-space:nowrap}
.wa-item-top small{flex:0 0 auto;color:var(--desk-muted);font-size:11.5px;font-variant-numeric:tabular-nums}
.wa-item.is-unread .wa-item-top small{color:var(--wa-ink);font-weight:600}
.wa-item-preview{flex:1;min-width:0;overflow:hidden;color:var(--desk-muted);font-size:12.5px;text-overflow:ellipsis;white-space:nowrap}
.wa-item.is-unread .wa-item-preview{color:var(--desk-ink);font-weight:500}
.wa-item-you{color:var(--desk-muted);font-weight:500}
.wa-unread{flex:0 0 auto;width:10px;height:10px;border-radius:50%;background:var(--wa-brand)}
.wa-avatar{width:44px;height:44px;display:grid;place-items:center;border-radius:50%;background:var(--desk-soft);color:var(--desk-muted);font-size:14px;font-weight:650}
.wa-avatar.is-customer{background:var(--accent-soft);color:var(--accent)}
.wa-avatar.is-knitter,.wa-avatar.is-dyer{background:color-mix(in srgb,var(--istanbul) 14%,transparent);color:var(--istanbul)}
.wa-pane{min-width:0;min-height:0;display:flex;flex-direction:column;background:var(--wa-wall)}
.wa-pane-head{display:flex;align-items:center;gap:var(--space-3);min-height:60px;padding:8px var(--space-4);border-bottom:1px solid var(--desk-line);background:var(--desk-paper)}
.wa-pane-head .wa-avatar{width:40px;height:40px;flex:0 0 40px}
.wa-back{display:none}
.wa-pane-title{flex:1;min-width:0;display:grid;gap:2px}
.wa-pane-title strong{overflow:hidden;color:var(--desk-ink);font-size:var(--type-control);font-weight:650;text-overflow:ellipsis;white-space:nowrap}
.wa-pane-title small{overflow:hidden;color:var(--desk-muted);font-size:var(--type-caption);text-overflow:ellipsis;white-space:nowrap}
.wa-pane-actions{display:flex;align-items:center;gap:var(--space-2)}
.wa-web .wa-pane-actions .btn-outline{border-color:var(--desk-line);background:var(--desk-paper);color:var(--desk-ink)}
.wa-web .wa-pane-actions .btn-outline:hover{background:var(--desk-soft)}
.wa-messages{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:3px;padding:var(--space-4) 6%;color:var(--wa-text)}
.wa-messages > :first-child{margin-top:auto}
.wa-center{margin:auto;display:grid;gap:var(--space-3);justify-items:center;text-align:center}
.wa-readonly{display:flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:48px;padding:8px var(--space-4);border-top:1px solid var(--desk-line);background:var(--desk-paper);color:var(--desk-muted);font-size:var(--type-caption)}
.wa-readonly svg{width:16px;height:16px;color:var(--wa-brand)}
.wa-welcome{margin:auto;max-width:360px;display:grid;gap:var(--space-2);justify-items:center;padding:var(--space-5);text-align:center;color:var(--desk-muted)}
.wa-welcome .rh-wa-mark,.wa-welcome .rh-wa-mark svg{width:48px;height:48px}
.wa-welcome strong{color:var(--desk-ink);font-size:var(--type-section);font-weight:650}
.wa-welcome p{margin:0;font-size:var(--type-control);line-height:1.5}
.wa-welcome small{font-size:var(--type-caption)}
.wa-link-form{display:grid;grid-template-columns:120px minmax(0,1.4fr) minmax(0,1fr) auto;gap:var(--space-2);padding:10px var(--space-4);border-bottom:1px solid var(--desk-line);background:var(--desk-paper)}
.wa-link-form select,.wa-link-form input{box-sizing:border-box;width:100%;min-height:34px;margin:0;padding:6px 10px;border:1px solid var(--desk-line);border-radius:8px;background:var(--desk-paper);color:var(--desk-ink);font:500 var(--type-control) var(--font)}
.wa-link-form select:focus,.wa-link-form input:focus{outline:0;border-color:var(--accent)}
/* Balonlar (WhatsApp dizilişi) */
.rh-wa-mark{width:18px;height:18px;flex:0 0 18px;display:inline-grid;place-items:center;color:var(--wa-brand)}
.rh-wa-mark svg{width:18px;height:18px}
.rh-wa-day{display:flex;justify-content:center;margin:var(--space-2) 0 var(--space-1)}
.rh-wa-day span{padding:3px 10px;border-radius:8px;background:var(--wa-day);color:var(--wa-meta);font-size:11px;font-weight:500;box-shadow:0 1px .5px rgba(11,20,26,.13)}
.rh-wa-msg{display:flex}
.rh-wa-msg:not(.is-cont){margin-top:6px}
.rh-wa-msg.is-out{justify-content:flex-end}
.rh-wa-bubble{position:relative;max-width:min(72%,560px);min-width:64px;padding:6px 9px 18px;border-radius:8px;background:var(--wa-in);color:var(--wa-text);font-size:var(--type-control);line-height:1.4;box-shadow:0 1px .5px rgba(11,20,26,.13)}
.rh-wa-msg.is-in .rh-wa-bubble{border-top-left-radius:0}
.rh-wa-msg.is-out .rh-wa-bubble{border-top-right-radius:0;background:var(--wa-out)}
/* Aynı konuşanın ardışık mesajı: WhatsApp'taki gibi sıkı durur, köşe kuyruğu yok. */
.rh-wa-msg.is-cont .rh-wa-bubble{border-radius:8px}
.rh-wa-bubble p{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}
.rh-wa-who{display:block;margin-bottom:2px;color:var(--wa-ink);font-size:12px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rh-wa-kind{display:block;color:var(--wa-meta);font-size:12px;font-style:italic}
.rh-wa-time{position:absolute;right:8px;bottom:3px;color:var(--wa-meta);font-size:11px;font-variant-numeric:tabular-nums}
.rh-wa-photo{display:block;margin:-3px -6px 4px;border-radius:6px;overflow:hidden}
.rh-wa-photo img{display:block;width:100%;max-width:280px;max-height:280px;object-fit:cover}
.rh-wa-photo:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.rh-wa-older{align-self:center;margin-bottom:var(--space-2);padding:4px 12px;border:0;border-radius:999px;background:var(--wa-day);color:var(--wa-ink);font:600 12px var(--font);cursor:pointer;box-shadow:0 1px .5px rgba(11,20,26,.13)}
.rh-wa-older:disabled{cursor:default;opacity:.7}
.rh-wa-older:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
/* Firma kartı: tek satır bağlantı → Rehber › WhatsApp */
.rh-wa-open{width:100%;display:grid;grid-template-columns:18px minmax(0,1fr) auto auto;align-items:center;gap:var(--space-3);padding:8px 10px;border:0;border-radius:10px;background:var(--desk-soft);color:inherit;text-align:left;cursor:pointer}
.rh-wa-open:hover{background:color-mix(in srgb,var(--wa-brand) 10%,var(--desk-soft))}
.rh-wa-open:focus-visible{outline:2px solid var(--accent);outline-offset:1px}
.rh-wa-open-copy{min-width:0;display:grid;gap:1px}
.rh-wa-open-copy strong{color:var(--desk-ink);font-size:var(--type-control);font-weight:650}
.rh-wa-open-copy small,.rh-wa-open-time{overflow:hidden;color:var(--desk-muted);font-size:var(--type-caption);text-overflow:ellipsis;white-space:nowrap}
.rh-wa-open-go{color:var(--wa-ink);font-size:var(--type-caption);font-weight:600;white-space:nowrap}
/* Liste satırı: ad + son WhatsApp mesajının noktası. */
.rh-index-name{min-width:0;display:flex;align-items:center;gap:6px}
.rh-index-name strong{min-width:0}
.rh-index-wa{flex:0 0 auto;display:inline-flex}
.rh-wa-dot{width:8px;height:8px;border-radius:50%;box-shadow:inset 0 0 0 1.5px var(--wa-brand)}
.rh-wa-dot.is-fresh{background:var(--wa-brand);box-shadow:none}
@media(max-width:760px){
  .wa-web{grid-template-columns:minmax(0,1fr);height:calc(100dvh - var(--shell-top,64px) - 96px)}
  .wa-web.has-chat .wa-side{display:none}
  .wa-web:not(.has-chat) .wa-pane{display:none}
  .wa-back{display:inline-grid}
  .wa-messages{padding:var(--space-3) var(--space-3)}
  .rh-wa-bubble{max-width:86%}
  .wa-link-form{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .rh-wa-open{grid-template-columns:18px minmax(0,1fr) auto}
  .rh-wa-open-time{display:none}
}

/* İçeriksiz dizin: tek çizim, tek başlık. Arama boşluğu yalın kalır. */
.rh-index-empty.is-illustrated{min-height:300px;align-content:center;justify-items:center;text-align:center;padding:var(--space-5) var(--space-3)}
.rh-index-empty.is-illustrated>img{display:block;width:min(360px,100%);height:auto;object-fit:contain;margin-bottom:var(--space-2)}

/* ─── ANALİZ PANOSU (2026-10-10, TASARIM-DILI.md §3.26) ───────────────
   Müşteriler › Analiz, Fasoncular › Analiz ve Pazartesi özeti. Tek cümle
   özet, dönem seçici, tek kutuda ölçü şeridi, aylık sütun grafik, sıralama
   tablosu. Kutu içinde kutu yok: kartlar sayfa kâğıdında 1px çizgiyle durur. */
.ad{display:grid;gap:var(--space-4);min-width:0}
.ad-lead{margin:0;max-width:72ch;color:var(--desk-muted);font-size:var(--type-section);font-weight:500;letter-spacing:-.02em;line-height:1.45}
.ad-lead b{color:var(--desk-ink);font-weight:650}
.ad-controls{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-3)}
.ad-period{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}
/* Dönem (aralık + tek ay) her Analiz panosunda sağa yaslıdır; solda varsa
   sınıf (Fasoncular) ya da müşteri grubu (Müşteriler, İstanbul) seçicisi durur. */
.ad-controls > .ad-period{margin-left:auto}
.ad-month-select{width:auto;max-width:180px;height:32px;padding:0 28px 0 10px;border:1px solid var(--desk-line);border-radius:10px;background-color:var(--desk-paper);color:var(--desk-muted);font:600 var(--type-meta) var(--font);cursor:pointer}
.ad-month-select.is-active{border-color:color-mix(in srgb,var(--accent) 45%,var(--desk-line));color:var(--desk-ink)}
.ad-month-select:focus-visible{outline:2px solid var(--accent);outline-offset:2px}

.ad-strip{display:grid;grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;overflow:hidden;border:1px solid var(--desk-line);border-radius:16px;background:var(--desk-paper)}
.ad-strip-cell{min-width:0;display:grid;align-content:start;gap:4px;padding:var(--space-4) var(--space-4) var(--space-3)}
.ad-strip-cell + .ad-strip-cell{border-left:1px solid var(--desk-line)}
.ad-strip-label{overflow:hidden;color:var(--desk-muted);font-size:var(--type-caption);font-weight:600;text-overflow:ellipsis;white-space:nowrap}
.ad-strip-value{overflow:hidden;color:var(--desk-ink);font-size:26px;font-weight:780;letter-spacing:-.03em;line-height:1.15;text-overflow:ellipsis;white-space:nowrap;font-variant-numeric:tabular-nums lining-nums}
.ad-strip-value.is-text{font-size:20px;font-weight:700;letter-spacing:-.028em}
.ad-strip-value em{margin-left:4px;color:var(--desk-muted);font-size:13px;font-style:normal;font-weight:600;letter-spacing:0}
.ad-strip-sub{min-width:0;display:flex;align-items:baseline;gap:6px;overflow:hidden;color:var(--desk-muted);font-size:var(--type-caption);font-weight:500;white-space:nowrap}
.ad-strip-sub > span{overflow:hidden;text-overflow:ellipsis}
.ad-delta{font-weight:650;font-variant-numeric:tabular-nums;white-space:nowrap}
.ad-delta small{color:var(--desk-muted);font-size:inherit;font-weight:500}
.ad-delta.is-up{color:var(--success)}
.ad-delta.is-down{color:var(--danger)}
.ad-delta.is-flat{color:var(--desk-muted)}

.ad-card{min-width:0;padding:var(--space-4) var(--space-5) var(--space-5);border:1px solid var(--desk-line);border-radius:16px;background:var(--desk-paper)}
.ad-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-4)}
.ad-card-head > div{min-width:0;display:grid;gap:2px}
.ad-card-head h3{margin:0;color:var(--desk-ink);font-size:var(--type-section);font-weight:680;letter-spacing:-.02em;line-height:1.35}
.ad-card-head small{overflow:hidden;color:var(--desk-muted);font-size:var(--type-meta);font-weight:500;text-overflow:ellipsis;white-space:nowrap}
.ad-card-tools{flex:0 0 auto;display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:var(--space-2) var(--space-3)}
.ad-link{flex:0 0 auto;padding:4px 2px;border:0;background:none;color:var(--accent);font:600 var(--type-meta) var(--font);cursor:pointer;white-space:nowrap}
.ad-link:hover{text-decoration:underline;text-underline-offset:3px}
.ad-link:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}
.ad-legend{flex:0 0 auto;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:var(--space-1) var(--space-3);color:var(--desk-muted);font-size:var(--type-caption);font-weight:500}
.ad-legend span{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
.ad-legend i{width:8px;height:8px;border-radius:2px}

/* Aylık sütun grafik */
.ad-bars{display:grid;grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;align-items:end;gap:var(--space-2);height:calc(var(--ad-bars-h,168px) + 22px)}
.ad-bar{min-width:0;height:100%;display:grid;grid-template-rows:minmax(0,1fr) 18px;gap:4px;padding:0;border:0;background:none;color:inherit;font:inherit;cursor:default}
button.ad-bar{cursor:pointer}
.ad-bar-track{position:relative;display:flex;align-items:flex-end;justify-content:center;border-radius:6px}
button.ad-bar:hover .ad-bar-track{background:var(--desk-soft)}
.ad-bar:focus-visible{outline:none}
.ad-bar:focus-visible .ad-bar-track{outline:2px solid var(--accent);outline-offset:2px}
.ad-bar-fill{width:min(32px,72%);display:flex;flex-direction:column-reverse;overflow:hidden;border-radius:5px 5px 2px 2px;background:color-mix(in srgb,var(--desk-muted) 32%,transparent);transition:height .18s cubic-bezier(.2,.75,.25,1)}
.ad-bar.is-active .ad-bar-fill{background:var(--accent)}
.ad-bar-fill i{display:block;min-height:1px}
/* Üst etiket (Fasoncular › Analiz: 21+ gün payı). Sütunun hemen üstünde durur;
   ölçek 18px kısalır (adBarsHTML). Seçili olmayan aylarda da tam okunur. */
.ad-bar-top{position:absolute;left:0;right:0;text-align:center;pointer-events:none;color:var(--desk-muted);font-size:var(--type-caption);font-weight:700;font-variant-numeric:tabular-nums;line-height:1.2;white-space:nowrap}
.ad-bar-top.is-danger{color:var(--danger)}
.ad-bar-top.is-muted{font-weight:500}
.ad-bar.is-stacked .ad-bar-fill{background:none;gap:1px}
.ad-bar.is-stacked:not(.is-active) .ad-bar-fill{opacity:.38}
.ad-bar-label{overflow:hidden;color:var(--desk-muted);font-size:var(--type-caption);font-weight:500;text-align:center;text-overflow:ellipsis;white-space:nowrap}
.ad-bar.is-active .ad-bar-label{color:var(--desk-ink);font-weight:650}

/* Satır içi parçalar */
.ad-spark{display:inline-flex;align-items:flex-end;gap:2px;width:64px;height:20px;vertical-align:middle}
.ad-spark i{flex:1 1 0;min-height:2px;border-radius:1px;background:color-mix(in srgb,var(--desk-muted) 38%,transparent)}
.ad-spark i.is-last{background:var(--accent)}
.ad-stack{display:flex;gap:2px;width:100%;min-width:96px;height:10px;overflow:hidden;border-radius:999px}
.ad-stack.is-empty{background:var(--desk-soft)}
.ad-stack-part{display:block;min-width:4px;height:100%;padding:0;border:0;border-radius:0;cursor:pointer;transition:filter .13s ease,transform .13s ease}
i.ad-stack-part{cursor:default}
button.ad-stack-part:hover{filter:brightness(1.12) saturate(1.1)}
.ad-stack-part.is-active{box-shadow:inset 0 0 0 2px var(--desk-ink)}
button.ad-stack-part:focus-visible{outline:2px solid var(--desk-ink);outline-offset:1px}

/* Sıralama tablosu */
.ad-split{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(330px,1fr);gap:var(--space-4);align-items:start}
.ad-split.is-single{grid-template-columns:minmax(0,1fr)}
.ad-table-wrap{min-width:0;overflow-x:auto;margin:0 calc(-1 * var(--space-2))}
.ad-table{width:100%;border-collapse:collapse;font-size:var(--type-control);font-variant-numeric:tabular-nums lining-nums}
.ad .ad-table th{position:static;height:auto;padding:0 var(--space-2) var(--space-2);border:0;border-bottom:1px solid var(--desk-line);background:none;box-shadow:none;color:var(--desk-muted);font-size:var(--type-caption);font-weight:600;letter-spacing:0;text-align:left;text-transform:none;white-space:nowrap}
.ad .ad-table th.is-sortable{cursor:pointer}
.ad .ad-table th.is-sortable:hover{color:var(--desk-ink)}
.ad .ad-table th[aria-sort="ascending"],.ad .ad-table th[aria-sort="descending"]{color:var(--desk-ink)}
.ad .ad-table td{height:44px;background:none;padding:0 var(--space-2);border-bottom:1px solid var(--desk-line);color:var(--desk-ink);white-space:nowrap}
.ad-table tbody tr{cursor:pointer;transition:background .13s ease}
.ad-table tbody tr:hover{background:var(--desk-soft)}
.ad-table tbody tr.is-active{background:color-mix(in srgb,var(--accent) 8%,transparent)}
.ad-table tbody tr:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
.ad-table tbody tr:last-child td{border-bottom:0}
.ad .ad-table .ad-num{text-align:right}
.ad-table td.ad-num small{color:var(--desk-muted);font-size:var(--type-caption)}
.ad .ad-table .ad-rank{width:28px;color:var(--desk-muted);font-size:var(--type-meta);font-weight:600;text-align:right}
.ad-firm{min-width:150px}
.ad-firm-name{display:inline-block;max-width:210px;overflow:hidden;font-weight:650;text-overflow:ellipsis;vertical-align:middle}
.ad-firm:has(.ad-badge) .ad-firm-name{max-width:170px}

.ad-badge{display:inline-flex;width:16px;height:16px;margin-left:4px;color:var(--bc);vertical-align:middle}
.ad-badge svg{width:14px;height:14px}
.ad-score{width:1%}
.ad-score b{display:inline-block;min-width:44px;margin-left:6px;color:var(--success);font-weight:700;text-align:right}
.ad-score b.is-neg{color:var(--danger)}
.ad-score-bar{position:relative;display:inline-block;width:40px;height:6px;border-radius:999px;background:var(--desk-soft);vertical-align:middle}
.ad-score-bar::before{content:"";position:absolute;left:50%;top:-2px;bottom:-2px;width:1px;background:var(--desk-line)}
.ad-score-bar i{position:absolute;left:50%;top:0;bottom:0;border-radius:0 999px 999px 0;background:var(--success)}
.ad-score-bar.is-neg i{left:auto;right:50%;border-radius:999px 0 0 999px;background:var(--danger)}
.ad-dist{width:24%;min-width:110px}
.ad-kg{min-width:92px}
.ad-kg-bar{display:inline-block;width:40px;height:4px;margin-right:8px;border-radius:999px;background:var(--desk-soft);vertical-align:middle;overflow:hidden}
.ad-kg-bar i{display:block;height:100%;border-radius:inherit;background:color-mix(in srgb,var(--accent) 70%,transparent)}
.ad-share{color:var(--desk-muted);font-size:var(--type-caption);margin-left:4px}
.ad-empty{padding:var(--space-5) 0;color:var(--desk-muted);font-size:var(--type-control);text-align:center}
.ad-loading{display:flex;align-items:center;gap:var(--space-3);min-height:220px;justify-content:center;color:var(--desk-muted);font-size:var(--type-control)}
.ad-loading span{width:8px;height:8px;border-radius:50%;background:var(--accent);animation:adPulse 1.2s ease-in-out infinite}
@keyframes adPulse{50%{opacity:.25}}
.ad-search{height:32px;width:min(240px,100%);padding:0 10px;border:0;border-radius:10px;background:var(--desk-soft);color:var(--desk-ink);font:500 var(--type-meta) var(--font)}
.ad-search:focus{outline:2px solid color-mix(in srgb,var(--accent) 45%,transparent);background:var(--desk-paper)}
.ad-office{display:inline-block;margin-left:6px;color:var(--desk-muted);font-size:var(--type-caption);font-weight:600}

/* Müşteriler › Analiz · İstanbul ↔ Bursa karşılaştırması (yalnız İstanbul).
   Solda iki sütunlu ölçü tablosu, sağda iki grubun aylık yığılı sütunları. */
.ad-compare{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--space-6,32px);align-items:stretch}
.ad-compare-lead{margin:0 0 var(--space-4);color:var(--desk-muted);font-size:var(--type-control);font-weight:500;line-height:1.5}
.ad-compare-lead b{color:var(--desk-ink);font-weight:650}
.ad-compare-table{width:100%;border-collapse:collapse;font-size:var(--type-control);font-variant-numeric:tabular-nums lining-nums}
.ad-compare-table th{padding:0 0 var(--space-3);border:0;background:none;color:var(--desk-muted);font-size:var(--type-caption);font-weight:600;letter-spacing:0;text-align:right;text-transform:none}
.ad-compare-table th:first-child{text-align:left}
.ad-compare-table th i{display:inline-block;width:8px;height:8px;margin-right:6px;border-radius:50%;vertical-align:1px}
.ad-compare-table td{padding:var(--space-2) 0;border-top:1px solid var(--desk-line);color:var(--desk-ink);font-weight:650;text-align:right;vertical-align:top}
.ad-compare-table td:first-child{color:var(--desk-muted);font-weight:500;text-align:left}
.ad-compare-table td small{display:block;margin-top:2px;color:var(--desk-muted);font-size:var(--type-caption);font-weight:500}
.ad-compare-table td small .ad-delta{font-size:inherit}
.ad-compare-table td + td{padding-left:var(--space-3)}
.ad-compare-table col.c-label{width:36%}
.ad-compare-table th{font-size:var(--type-control);color:var(--desk-ink)}
.ad-compare-chart{min-width:0;display:flex;flex-direction:column;padding:var(--space-4) var(--space-3);border:1px solid var(--desk-line);border-radius:12px;background:var(--desk-soft)}
.ad-compare-chart .ad-legend{margin-bottom:var(--space-3);justify-content:flex-start}
.ad-compare-chart .ad-bars{flex:1;height:auto;min-height:calc(var(--ad-bars-h,240px) + 22px)}
.ad-cmp{padding:0}
.ad-cmp-toggle{width:100%;display:flex;align-items:center;gap:var(--space-4);padding:var(--space-3) var(--space-5);border:0;border-radius:16px;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer}
.ad-cmp-toggle:hover{background:var(--desk-soft)}
.ad-cmp.is-open .ad-cmp-toggle{border-radius:16px 16px 0 0}
.ad-cmp-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
.ad-cmp-title{flex:1 1 auto;min-width:0;display:grid;gap:2px}
.ad-cmp-title b{color:var(--desk-ink);font-size:var(--type-section);font-weight:680;letter-spacing:-.02em;line-height:1.35}
.ad-cmp-title small{color:var(--desk-muted);font-size:var(--type-meta);font-weight:500}
.ad-cmp-split{flex:0 0 120px;display:flex;gap:2px;height:8px;overflow:hidden;border-radius:4px}
.ad-cmp-split i{display:block;min-width:2px}
.ad-cmp-gist{flex:0 1 auto;display:grid;gap:2px;justify-items:end;color:var(--desk-ink);font-size:var(--type-control);white-space:nowrap}
.ad-cmp-gist b{font-weight:650}
.ad-cmp-gist em{color:var(--desk-muted);font-size:var(--type-caption);font-style:normal;font-weight:500}
.ad-cmp-chev{flex:0 0 9px;width:9px;height:9px;margin:0 4px 4px 0;border:solid currentColor;border-width:0 1.6px 1.6px 0;transform:rotate(45deg);color:var(--desk-muted);transition:transform .18s cubic-bezier(.2,.75,.25,1)}
.ad-cmp.is-open .ad-cmp-chev{margin:4px 4px 0 0;transform:rotate(225deg)}
.ad-cmp-body{padding:var(--space-1) var(--space-5) var(--space-5);border-top:1px solid var(--desk-line)}
.ad-cmp-body[hidden]{display:none}
.ad-cmp-body .ad-compare-lead{margin-top:var(--space-4)}
@media(max-width:700px){.ad-cmp-split,.ad-cmp-gist em{display:none}.ad-cmp-toggle{padding:var(--space-3)}.ad-cmp-body{padding:var(--space-1) var(--space-3) var(--space-4)}}
.ad-compare-note{margin:var(--space-3) 0 0;color:var(--desk-muted);font-size:var(--type-caption);line-height:1.5}
@media(max-width:1000px){.ad-compare{grid-template-columns:minmax(0,1fr)}}
.ad .fason-badge-summary-row{margin:0 0 var(--space-3)}

/* Seçili firmanın ayrıntısı: sağda yapışkan sütun, eski kova paneli yeni ölçülerle */
.ad-side{position:sticky;top:calc(var(--shell-top,56px) + var(--space-3));min-width:0}
.ad-side .fason-detail-panel{margin:0;padding:var(--space-4) var(--space-5) var(--space-5);border:1px solid var(--desk-line);border-radius:16px;background:var(--desk-paper);box-shadow:none;animation:none}
.ad-side .fason-detail-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-1) var(--space-3)}
.ad-side .fason-detail-head > div:first-child span{font-size:var(--type-caption);font-weight:700;letter-spacing:.1em}
.ad-side .fason-detail-head > div:first-child strong{font-size:20px;font-weight:700;letter-spacing:-.028em}
.ad-side .fason-detail-profile-link{grid-column:2;grid-row:1;align-self:start;padding:5px 10px;border:1px solid var(--desk-line);border-radius:10px;background:var(--desk-paper);color:var(--desk-ink);font:600 var(--type-meta) var(--font);cursor:pointer;white-space:nowrap}
.ad-side .fason-detail-profile-link:hover{background:var(--desk-soft)}
.ad-side .fason-detail-summary{grid-column:1 / -1;display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--space-1) var(--space-2);text-align:left}
.ad-side .fason-detail-summary strong{font-size:26px;font-weight:780;letter-spacing:-.03em}
.ad-side .fason-detail-summary span,.ad-side .fason-detail-score{color:var(--desk-muted);font-size:var(--type-meta);font-weight:500;font-style:normal}
.ad-side .fason-detail-score b{color:var(--desk-ink);font-weight:700}
/* ADİL NOT ROZETİ (2026-10-15, §3.26): sayının çevresinde 100 üzerinden
   dolan halka; renk = bant (Pekiyi yeşil · İyi mavi · Orta sarı · Zayıf
   kırmızı, süre kovalarıyla aynı dil). Halka veri izidir, süs değildir. */
.fn-badge{--fn-size:34px;position:relative;flex:0 0 auto;display:inline-grid;place-items:center;width:var(--fn-size);height:var(--fn-size);border-radius:50%;background:color-mix(in srgb,var(--fn-c) 9%,var(--desk-paper,var(--bg)));color:var(--desk-ink,var(--text));vertical-align:middle}
.fn-badge .fn-ring{position:absolute;inset:0;width:100%;height:100%;transform:rotate(-90deg)}
.fn-badge .fn-track,.fn-badge .fn-fill{fill:none;stroke-width:3.2}
.fn-badge .fn-track{stroke:color-mix(in srgb,var(--fn-c) 16%,transparent)}
.fn-badge .fn-fill{stroke:var(--fn-c);stroke-linecap:round;animation:fnFill .7s cubic-bezier(.2,.7,.2,1) both}
.fn-badge > b{position:relative;font-size:calc(var(--fn-size) * .36);font-weight:780;letter-spacing:-.03em;line-height:1;font-variant-numeric:tabular-nums lining-nums}
.fn-badge .fn-star{position:absolute;top:-3px;right:-3px;width:calc(var(--fn-size) * .34);height:calc(var(--fn-size) * .34);padding:1.5px;border-radius:50%;background:var(--desk-paper,var(--bg));fill:var(--fn-c)}
.fn-badge.fn-badge > b.fn-num{color:var(--desk-ink,var(--text));font-weight:780}
.fn-badge.fn-xs{--fn-size:26px}
.fn-badge.fn-xs .fn-track,.fn-badge.fn-xs .fn-fill{stroke-width:3.6}
.fn-badge.fn-md{--fn-size:40px}
.fn-badge.fn-lg{--fn-size:64px}
.fn-badge.fn-lg .fn-track,.fn-badge.fn-lg .fn-fill{stroke-width:2.6}
@keyframes fnFill{from{stroke-dasharray:0 100}}
@media(prefers-reduced-motion:reduce){.fn-badge .fn-fill{animation:none}}

/* Analiz tablosu: sıra "4/52", not rozeti + bant adı. */
.ad .ad-table td.ad-rank{width:44px;color:var(--desk-ink);font-weight:700;white-space:nowrap}
.ad .ad-table td.ad-rank small{color:var(--desk-muted);font-size:var(--type-caption);font-weight:500}
.ad .ad-table td.ad-score{display:table-cell;white-space:nowrap}
.ad-score-band{display:inline-block;margin-left:8px;font-size:var(--type-meta);font-weight:680;vertical-align:middle}

/* Ayrıntı kutusu: büyük rozet + bant + sıra. */
.fason-detail-not{display:flex;align-items:center;gap:var(--space-3);flex-basis:100%;margin-top:var(--space-2)}
.fason-detail-not-copy{display:grid;gap:1px;min-width:0}
.ad-side .fason-detail-summary .fason-detail-not-copy strong,.fason-detail-not-copy strong{font-size:18px;font-weight:760;letter-spacing:-.02em}
.ad-side .fason-detail-summary .fason-detail-not-copy span{color:var(--desk-ink);font-size:var(--type-control);font-weight:500}
.fason-detail-not-copy span b{font-weight:760}
.fason-detail-not-copy small{color:var(--desk-muted);font-size:var(--type-caption)}

/* Rehber kartı şeridi ve liste satırı. */
.rh-not{display:inline-flex;align-items:center;gap:var(--space-2)}
.rh-not-copy{display:grid;gap:0;line-height:1.15}
.rh-not-copy b{font-size:var(--type-control);font-weight:720}
.rh-not-copy em{color:var(--desk-muted);font-size:var(--type-meta);font-style:normal;font-weight:600}
.rh-index-grade{display:inline-flex}
.rh-index-item:has(.rh-index-grade){grid-template-columns:34px minmax(0,1fr) auto auto}
/* Müşteri önemi (§3.37): bant hapı + tek işaret; gerekçe kabuk ipucunda. */
@media(min-width:901px){
  .rh-strip.has-narrow{grid-auto-columns:auto;grid-template-columns:repeat(5,minmax(0,1fr))}
  .rh-strip.has-narrow .rh-strip-cell{padding-inline:var(--space-3)}
}
.rh-strip.has-narrow .rh-strip-cell strong{font-size:17px}
/* Bant kademesi renk + simgeyle okunur: Kilit dolu, Önemli yumuşak, Düzenli çizgi. */
.ci-band,.ci-flag{display:inline-flex;align-items:center;gap:3px;padding:1px 7px 1px 5px;border:1px solid var(--desk-line);border-radius:10px;background:var(--desk-paper);color:var(--desk-muted);font:650 10.5px/1.5 var(--font);font-style:normal;white-space:nowrap}
.ci-band.is-key{border-color:transparent;background:var(--accent);color:var(--on-accent);font-weight:740}
.ci-band.is-major{border-color:transparent;background:var(--accent-soft);color:var(--accent);font-weight:700}
.ci-band.is-steady{color:var(--desk-ink)}
.ci-flag{overflow:hidden;text-overflow:ellipsis;border:0}
.ci-flag.is-new{background:var(--warning-soft);color:var(--warning)}
.ci-flag.is-rising{background:var(--success-soft);color:var(--success)}
.ci-flag.is-drifting{background:var(--danger-soft);color:var(--danger)}
.ci-badge{display:inline-flex;align-items:center;gap:4px;margin-right:6px;vertical-align:1px}
.ci-badge .ci-band,.ci-badge .ci-flag{padding-block:0;font-size:10.5px;line-height:1.55}
/* Kart şeridindeki mühür: simge yuvarlakta, bant adı büyük. */
.ci-cell{display:inline-flex;align-items:center;gap:var(--space-2);cursor:help}
.ci-cell b{font-size:19px;font-weight:760;letter-spacing:-.02em}
.ci-cell.is-key b,.ci-cell.is-major b{color:var(--accent)}
.ci-cell.is-steady b{color:var(--desk-ink)}
.ci-cell.is-occasional b{color:var(--desk-muted);font-size:16px;font-weight:650}
.ci-seal{width:30px;height:30px;display:grid;place-items:center;flex:0 0 auto;border-radius:50%;background:var(--desk-soft);color:var(--desk-ink)}
.ci-seal .ci-ico{width:17px;height:17px}
.ci-cell.is-key .ci-seal{background:var(--accent);color:var(--on-accent);box-shadow:0 0 0 3px var(--accent-soft)}
.ci-cell.is-major .ci-seal{background:var(--accent-soft);color:var(--accent)}
/* Tablodaki eski puan kuralı (.ad-score b) rozetin sayısına uygulanmaz. */
.ad-score .fn-badge > b{display:block;min-width:0;margin:0;color:inherit;text-align:center}
.ad-side .fason-detail-segments{height:10px;gap:2px;margin:var(--space-4) 0 var(--space-3);background:var(--desk-soft)}
.ad-side .fason-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2)}
.ad-side .fason-detail-stat{padding:var(--space-3);border-color:var(--desk-line);border-radius:12px;background:var(--desk-paper)}
.ad-side .fason-detail-stat:hover{border-color:var(--detail-color);background:var(--desk-soft);transform:none}
.ad-side .fason-detail-stat.is-open{border-color:var(--detail-color);background:color-mix(in srgb,var(--detail-color) 9%,var(--desk-paper));box-shadow:none}
.ad-side .fason-detail-stat-top span{min-height:0;display:flex;align-items:center;gap:6px;font-size:var(--type-caption);font-weight:600}
.ad-side .fason-detail-stat-top span::before{content:"";width:8px;height:8px;flex:0 0 8px;border-radius:2px;background:var(--detail-color)}
.ad-side .fason-detail-stat-top strong{font-size:20px;font-weight:780;letter-spacing:-.028em}
.ad-side .fason-detail-stat-bar{height:4px;margin:var(--space-2) 0 6px;background:var(--desk-soft)}
.ad-side .fason-detail-stat small{font-size:var(--type-caption);font-weight:500}
.ad-side .fason-detail-note{display:none}
.ad-side .fason-cycle-list{margin-top:var(--space-3);border-color:var(--desk-line);border-radius:12px;background:var(--desk-paper)}
.ad-side .fason-cycle-list-head{padding:var(--space-3);border-bottom-color:var(--desk-line);background:color-mix(in srgb,var(--detail-color) 8%,var(--desk-paper))}
.ad-side .fason-cycle-list-head span{font-size:var(--type-caption);font-weight:600}
.ad-side .fason-cycle-list-head strong{font-size:var(--type-control);font-weight:680}
.ad-side .fason-cycle-list-head > b{padding:2px 9px;background:var(--desk-paper);color:var(--desk-ink);font-size:var(--type-caption);font-weight:700}
.ad-side .fason-cycle-list-scroll{max-height:min(52vh,460px)}
.ad-side .fason-cycle-row{grid-template-columns:minmax(0,1fr) auto auto 12px;gap:var(--space-3);min-height:56px;padding:var(--space-2) var(--space-3);border-bottom-color:var(--desk-line)}
.ad-side .fason-cycle-row:hover{background:var(--desk-soft)}
.ad-side .fason-cycle-row strong{font-size:var(--type-control);font-weight:680;letter-spacing:.015em}
.ad-side .fason-cycle-row span{overflow:hidden;font-size:var(--type-caption);font-weight:500;text-overflow:ellipsis;white-space:nowrap}
.ad-side .fason-cycle-row .fason-cycle-reconcile{font-size:var(--type-caption)}
.ad-side .fason-cycle-row > b{font-size:var(--type-control);font-weight:700}
.ad-side .fason-cycle-row > small{font-size:var(--type-caption);font-weight:600}
.ad-side .fason-detail-panel.is-loading strong,.ad-side .fason-detail-empty strong{font-size:var(--type-control)}
.ad-side .fason-detail-panel.is-loading span,.ad-side .fason-detail-empty span{font-size:var(--type-meta)}

@media(max-width:1180px){
  .ad-split{grid-template-columns:minmax(0,1fr)}
  .ad-side{position:static}
  .ad-side .fason-detail-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media(max-width:900px){
  .ad-strip{grid-auto-flow:row;grid-template-columns:repeat(2,minmax(0,1fr))}
  .ad-strip-cell + .ad-strip-cell{border-left:0}
  .ad-strip-cell{border-top:1px solid var(--desk-line)}
  .ad-strip-cell:nth-child(-n+2){border-top:0}
  .ad-strip-cell:nth-child(even){border-left:1px solid var(--desk-line)}
  .ad-side .fason-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
  .ad-card{padding:var(--space-3) var(--space-3) var(--space-4)}
  .ad-card-head{flex-wrap:wrap}
  .ad-legend{justify-content:flex-start}
  .ad-strip-value{font-size:22px}
  .ad-table .ad-hide-sm{display:none}
  .ad-bars{gap:4px}
}
@media(prefers-reduced-motion:reduce){
  .ad-bar-fill,.ad-stack-part,.ad-table tbody tr{transition:none}
  .ad-loading span{animation:none}
}
.ad-more{display:block;margin:var(--space-3) auto 0}

/* Pazartesi özeti penceresi (§3.26, gündem düzeni 2026-10-19): solda
   dikkat isteyen konular (her biri siparişe götürür) + geçen haftanın
   müşterileri, sağda küçük ve ikincil sayılar (12 haftalık iz). */
.ws-overlay{padding:var(--space-5)}
.ws-modal{width:min(1040px,100%);max-height:calc(100dvh - 48px);display:flex;flex-direction:column;padding:0;overflow:hidden;border:1px solid var(--desk-line);border-radius:18px;background:var(--desk-paper);box-shadow:0 18px 44px rgba(15,23,42,.18)}
.ws-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3);padding:var(--space-5) var(--space-5) var(--space-3)}
.ws-head > div{min-width:0;display:grid;gap:4px}
.ws-eyebrow{color:var(--desk-muted);font-size:var(--type-caption);font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.ws-head h2{margin:0;color:var(--desk-ink);font-size:24px;font-weight:700;letter-spacing:-.028em;line-height:1.2}
.ws-close{flex:0 0 auto;width:32px;height:32px;display:grid;place-items:center;border:0;border-radius:50%;background:var(--desk-soft);color:var(--desk-muted);font-size:20px;line-height:1;cursor:pointer}
.ws-close:hover{color:var(--desk-ink)}
.ws-close:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.ws-body{min-height:0;overflow:auto;padding:0 var(--space-5) var(--space-5);overscroll-behavior:contain}
.ws-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:var(--space-5);align-items:start}
.ws-main,.ws-side{min-width:0;display:grid;align-content:start}
.ws-main h4,.ws-side h4,.ws-section h4{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-2);margin:0 0 var(--space-2);color:var(--desk-ink);font-size:var(--type-control);font-weight:680}
.ws-main h4 small,.ws-side h4 small,.ws-section h4 small{color:var(--desk-muted);font-size:var(--type-caption);font-weight:500;white-space:nowrap}
.ws-side h4:not(:first-child){margin-top:var(--space-4)}
.ws-agenda{display:grid}
.ws-item{width:100%;display:grid;grid-template-columns:8px minmax(0,1fr) auto;align-items:start;gap:var(--space-3);padding:var(--space-3) var(--space-2);border:0;border-top:1px solid var(--desk-line);border-radius:0;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer}
.ws-item:first-child{border-top:0}
.ws-item:hover{background:var(--desk-soft)}
.ws-item:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
.ws-item.is-static{cursor:default}
.ws-item.is-static:hover{background:none}
.ws-dot{width:8px;height:8px;margin-top:6px;border-radius:50%;background:var(--desk-muted)}
.ws-dot.is-danger{background:var(--danger)}
.ws-dot.is-warning{background:var(--warning-fill)}
.ws-dot.is-accent{background:var(--accent)}
.ws-item-text{min-width:0;display:grid;gap:2px}
.ws-item-text strong{color:var(--desk-ink);font-size:var(--type-control);font-weight:650}
.ws-item-text small{overflow:hidden;color:var(--desk-muted);font-size:var(--type-meta);text-overflow:ellipsis;white-space:pre}
.ws-item.is-quiet strong{color:var(--desk-muted);font-weight:600}
.ws-item-value{color:var(--desk-ink);font-size:var(--type-meta);font-weight:650;white-space:nowrap;font-variant-numeric:tabular-nums}
.ws-item-value.is-down{color:var(--danger)}
.ws-section{min-width:0;display:grid;align-content:start;gap:var(--space-1);margin-top:var(--space-4)}
.ws-mini{display:grid;overflow:hidden;border:1px solid var(--desk-line);border-radius:14px}
.ws-mini-row{display:grid;grid-template-columns:minmax(0,1fr) auto 64px;align-items:center;gap:var(--space-3);min-height:40px;padding:0 var(--space-3)}
.ws-mini-row + .ws-mini-row{border-top:1px solid var(--desk-line)}
.ws-mini-row > span:first-child{overflow:hidden;color:var(--desk-muted);font-size:var(--type-meta);text-overflow:ellipsis;white-space:nowrap}
.ws-mini-row b{color:var(--desk-ink);font-size:14px;font-weight:700;white-space:nowrap;font-variant-numeric:tabular-nums}
.ws-mini-row b em{margin-left:3px;color:var(--desk-muted);font-size:var(--type-caption);font-style:normal;font-weight:600}
.ws-mini-side,.ws-mini-wait{color:var(--desk-muted);font-size:var(--type-caption);text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
.ws-spark{display:flex;align-items:flex-end;gap:2px;height:22px}
.ws-spark i{flex:1;min-height:2px;border-radius:2px;background:var(--desk-line)}
.ws-spark i.is-now{background:var(--accent)}
.ws-row{width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:var(--space-3);min-height:36px;padding:0 var(--space-2);border-radius:8px}
.ws-row strong{overflow:hidden;color:var(--desk-ink);font-size:var(--type-control);font-weight:650;letter-spacing:.015em;text-overflow:ellipsis;white-space:nowrap}
.ws-row span{overflow:hidden;color:var(--desk-muted);font-size:var(--type-meta);text-overflow:ellipsis;white-space:nowrap}
.ws-row b{color:var(--desk-ink);font-size:var(--type-meta);font-weight:650;white-space:nowrap;font-variant-numeric:tabular-nums}
.ws-none{margin:0;color:var(--desk-muted);font-size:var(--type-meta)}
.ws-foot{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);margin:var(--space-4) 0 0;color:var(--desk-muted);font-size:var(--type-meta)}
@media(max-width:900px){.ws-grid{grid-template-columns:minmax(0,1fr)}}
@media(max-width:520px){.ws-overlay{padding:0}.ws-modal{max-height:100dvh;height:100dvh;border-radius:0}.ws-head,.ws-body{padding-left:var(--space-4);padding-right:var(--space-4)}}

/* ─── YETKİNLİK ROZETLERİ (2026-10-10, TASARIM-DILI.md §3.27) ───────────
   Sınıf rozeti (Düz örgücü / Jakar örgücü / Boya / Yıkama boyahanesi) tek
   renkli yumuşak zemin; proses ve kumaş rozetleri renksiz, çizgili ve sakin.
   Geometri termin-badge ile aynı (2px 8px, r:10px, 11px/600). */
.yt-tags{display:inline-flex;flex-wrap:wrap;align-items:center;gap:4px;min-width:0}
.yt-tag{display:inline-flex;align-items:center;padding:2px 8px;border:1px solid var(--desk-line);border-radius:10px;background:var(--desk-paper);color:var(--desk-muted);font:600 11px/1.45 var(--font);white-space:nowrap}
.yt-tag.is-class{border-color:transparent;background:var(--accent-soft);color:var(--accent)}
/* Jakar: Düz örgücü rozetiyle aynı yapı (soluk zemin + okunur mürekkep). --warning-ink
   yalnız parlak --warning-fill üstündedir; soluk zeminde koyu temada okunmuyordu (2026-10-10). */
.yt-tag.is-jakar{background:var(--warning-soft);color:var(--warning)}
.yt-tag.is-boya{background:var(--success-soft);color:var(--success)}
.yt-tag.is-more{border-style:dashed}
/* Seviye: etiketin sağında üç ince çubuk (1 az · 2 düzenli · 3 en çok).
   Seviye 1 etiket sakinleşir; seviye 3 etiket kalın yazılır. */
.yt-lvl{display:inline-flex;align-items:flex-end;gap:1.5px;height:9px;margin-left:5px}
.yt-lvl b{display:block;width:2.5px;border-radius:1px;background:currentColor;opacity:.22}
.yt-lvl b:nth-child(1){height:4px}
.yt-lvl b:nth-child(2){height:6.5px}
.yt-lvl b:nth-child(3){height:9px}
.yt-lvl[data-level="1"] b:nth-child(-n+1),.yt-lvl[data-level="2"] b:nth-child(-n+2),.yt-lvl[data-level="3"] b{opacity:1}
.yt-tag.is-l1:not(.is-class){opacity:.78}
.yt-tag.is-l3{font-weight:700}
.rh-competence{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2) var(--space-3);margin-top:var(--space-2);font-size:var(--type-meta)}
/* Dizin sınıf seçicisi: evdeki bölmeli seçicinin (tasarim-v2) rengi korunur;
   yalnız yerleşim — arama kutusundan ayrık, satıra sığan kompakt boy.
   #page-fason: v2 kuralı kimlik seçicisi taşıdığı için aynı ağırlık gerekir. */
#page-fason .rh-index .rh-class-seg{display:flex;gap:2px;margin:var(--space-3) var(--space-3) 0;padding:3px}
#page-fason .rh-index .rh-class-seg .analysis-period-btn{flex:1 1 0;min-width:0;min-height:28px;padding:3px 6px;font-size:var(--type-caption);white-space:nowrap}
#page-fason .rh-index .rh-class-seg .analysis-period-btn small{margin-left:3px;font-size:inherit;font-weight:500;opacity:.65}
/* Tabloda rozetler tek satır, küçük: satır yüksekliği 44px'te kalır (§3.26).
   Sığmayan rozet "+N"e düşer; tam liste ayrıntı kartında. */
.ad-firm .yt-tags{display:flex;flex-wrap:nowrap;gap:3px;max-width:230px;margin-top:2px;overflow:hidden}
.ad-firm .yt-tag{flex:0 1 auto;min-width:0;padding:0 6px;border-radius:7px;font-size:10.5px;line-height:17px}
.ad-firm .yt-tag:not(.is-more){overflow:hidden;text-overflow:ellipsis}
.ad-firm .yt-tag.is-more{flex:0 0 auto}
.ad-firm .yt-lvl{height:8px;margin-left:4px}
.ad-side-competence{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-3);font-size:var(--type-meta)}
.ad-side-competence > span{color:var(--desk-muted);font-weight:600}
.ad-side-competence > small{color:var(--desk-muted)}

/* Bursa Mağaza merkez satırı (2026-10-16): müşteri değil, kendi mağazamız.
   Önem rozeti yerine sakin "Merkez" etiketi; Bursa renginde ince nokta. */
.rh-store-tag{display:inline-flex;align-items:center;gap:5px;margin-right:6px;color:var(--bursa,var(--accent));font-weight:650}
.rh-store-tag::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}

/* Pazartesi özeti: sonradan inen hareket verisi için parıltı (2026-10-20).
   Yer tutucu gerçek değerle aynı yeri kaplar; veri gelince değer yalnız
   opaklıkla belirir (ws-arrive) — satır yüksekliği değişmez, hiçbir şey kaymaz. */
.ws-ph{position:relative;display:inline-block;height:12px;overflow:hidden;border-radius:6px;background:color-mix(in srgb,var(--desk-ink) 7%,transparent);vertical-align:middle}
.ws-ph::after{content:"";position:absolute;inset:0;transform:translateX(-100%);background:linear-gradient(90deg,transparent,var(--ws-shine,rgba(255,255,255,.6)),transparent);animation:ws-sweep 1.4s ease-in-out infinite}
.ws-ph.is-num{width:62px}
.ws-ph.is-spark{width:64px;height:16px}
.ws-ph.is-text{width:130px;height:11px;margin-left:6px}
.ws-ph.is-line{width:min(220px,100%);height:11px}
.ws-item.is-loading strong{font-weight:500}
html[data-theme="dark"] .ws-ph{--ws-shine:rgba(255,255,255,.08)}
@keyframes ws-sweep{to{transform:translateX(100%)}}
.ws-arrive{animation:ws-arrive .32s ease both}
.ws-item.ws-arrive{animation-name:ws-arrive-item}
@keyframes ws-arrive{from{opacity:0}to{opacity:1}}
@keyframes ws-arrive-item{from{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.ws-ph::after,.ws-arrive{animation:none}}

/* ── assets/styles/performance.css ── */
/* ============ PERFORMANS OPTİMİZASYONLARI (görünümü korur) ============ */

/* Sekme arka plandayken tüm animasyonları duraklat — görünmüyorken çizim/GPU yükü yok. */
html.tab-hidden *, html.tab-hidden *::before, html.tab-hidden *::after {
  animation-play-state: paused !important;
}

/* Uzun listelerde ekran DIŞINDAKİ kartları çizme; kaydırınca anında çizilir.
   Görünüm birebir aynı kalır, sadece boşa render azalır. Eski tarayıcılar bu satırı yok sayar (zararsız). */

.ticket     { content-visibility: auto; contain-intrinsic-size: auto 150px; }

.customer-order-wrap { content-visibility:auto; contain-intrinsic-size:auto 68px; }

/* ---------- Cihaza özel emniyet (kullanıcı tercihi değil) ---------- */

/* iOS WebKit'te tam ekran mix-blend-mode/blur katmanları GPU sürecini çökertip
   sayfayı düz siyah/pembe bırakabiliyor (2026-07-24 vakası). Bunlar salt
   dekoratif ışık efektleri; güneş/ay görünmeye devam eder. */
html.ios-webkit .hero-beams,
html.ios-webkit .hero-glow { display: none !important; }
html.ios-webkit .hero-sun,
html.ios-webkit .hero-moon { mix-blend-mode: normal; }

/* İşletim sisteminde "hareketi azalt" açıksa dekoratif animasyonlar durur.
   (Yükleme çarkı gibi işlevsel animasyonlara dokunulmaz.) */
@media (prefers-reduced-motion: reduce) {
  .hero-stars,
.hero-beams,
.hero-sun .core,
.login-logo,
.orders-reset-btn.filters-active,
.ticket.has-prio-3,
.ticket.has-prio-3 .ticket-prio,
.msg-dock.has-unread,
.voice-dock-btn.in-call,
.voice-ch-badge::before,
.voice-bar-dot {
    animation: none !important;
  }
}

/* notes.css artik ilk boyamayi bloklamiyor; nav ikonunun olcusu acilista dogru
   olsun diye bu tek kural burada da duruyor (notes.css'teki kopyasi aynidir). */
.nav-note-symbol { display: block; width: 18px; height: 18px; stroke-width: 1.75; }

/* ── assets/styles/messaging.css ── */
.msg-dock {
  position: fixed; left: 50%; bottom: 22px; transform: translateX(-50%);
  --dock-ease: cubic-bezier(.22,1,.36,1);
  z-index: 950; display: flex; align-items: center; gap: 10px;
  padding: 8px 10px; border-radius: 999px;
  isolation:isolate;
  background:
    linear-gradient(135deg, rgba(255,255,255,.18), rgba(255,255,255,.045)),
    color-mix(in srgb, var(--surface-solid, var(--surface)) 82%, transparent);
  border:1px solid color-mix(in srgb, #fff 28%, var(--border));
  box-shadow:
    0 18px 48px rgba(0,0,0,.26),
    0 4px 12px rgba(0,0,0,.16),
    inset 0 1px 0 rgba(255,255,255,.28),
    inset 0 -1px 0 rgba(0,0,0,.12);
  backdrop-filter: saturate(185%) contrast(112%) blur(24px);
  -webkit-backdrop-filter: saturate(185%) contrast(112%) blur(24px);
  transition: transform .34s var(--dock-ease), opacity .24s ease, gap .3s var(--dock-ease), padding .3s var(--dock-ease), background .3s ease, box-shadow .3s ease;
}
/* Herhangi bir modal açıkken (ticket detayı, sipariş detayı, yönlendirme vb.)
   yüzen dock geri çekilir — modalın cevap kutusu ve butonlarının üstüne binmez.
   Modallar inline style.display='flex' ile açılır; `has-open-modal` sınıfını
   core.js initModalOpenFlag tutar (2026-11-05: eski `html:has(...[style*=flex])`
   her stil yazımında belgeyi yeniden denetletiyordu). */
html.has-open-modal .msg-dock {
  opacity: 0;
  pointer-events: none;
  transform: translateX(-50%) translateY(14px) scale(.95);
}
.msg-dock::before {
  content:"";
  position:absolute;
  inset:1px;
  z-index:0;
  border-radius:inherit;
  pointer-events:none;
  background:linear-gradient(180deg, rgba(255,255,255,.16), rgba(255,255,255,0) 46%, rgba(0,0,0,.08));
}
.msg-dock > * { position:relative; z-index:1; }
.msg-dock:hover,
.msg-dock:focus-within {
  box-shadow:
    0 22px 58px rgba(0,0,0,.28),
    0 7px 18px rgba(0,0,0,.18),
    inset 0 1px 0 rgba(255,255,255,.34),
    inset 0 -1px 0 rgba(0,0,0,.1);
}
.msg-dock[hidden] { display: none; }
.msg-dock-clock {
  display: flex; flex-direction: column; align-items: flex-end; justify-content: center;
  min-width:72px; line-height: 1; padding: 6px 9px 6px 5px; border:0; border-radius:14px;
  color:inherit; background:transparent; font:inherit; text-align:right; user-select: none; gap: 3px;
  cursor:pointer; transition:background .18s ease, transform .18s ease, box-shadow .18s ease;
}
.msg-dock-clock:hover { background:rgba(255,255,255,.1); transform:translateY(-1px); }
.msg-dock-clock:active { transform:translateY(0); }
.msg-dock-clock:focus-visible { outline:2px solid color-mix(in srgb,var(--accent) 74%,#fff); outline-offset:2px; background:rgba(255,255,255,.1); }
.msg-dock-time {
  font-size: 14px; font-weight: 700; letter-spacing: .3px;
  color: var(--text); font-variant-numeric: tabular-nums;
}
.msg-dock-date {
  font-size: 10px; font-weight: 600; color: var(--muted, #94a3b8); text-transform: uppercase; letter-spacing: .4px;
}
/* Küçültme düğmesi: çubuğun sağ ucunda, sessiz. */
.msg-dock-close {
  display:grid; place-items:center; flex:0 0 26px; width:26px; height:26px; padding:0;
  border:0; border-radius:50%; background:transparent; color:var(--muted,#94a3b8);
  cursor:pointer; opacity:.65; transition:opacity .16s ease, background .16s ease, color .16s ease;
}
.msg-dock-close svg { width:13px; height:13px; }
.msg-dock-close:hover { opacity:1; color:var(--text); background:rgba(255,255,255,.12); }
.msg-dock-close:focus-visible { opacity:1; outline:2px solid color-mix(in srgb,var(--accent) 74%,#fff); outline-offset:2px; }
.msg-dock.is-collapsed { display:none; }

/* Küçültülünce çubuk sol alttaki topçuğa iner: içinde saat ve gün kalır. */
.floating-chat-dock {
  position:fixed; left:22px; bottom:22px; z-index:951;
  display:none; flex-direction:column; align-items:center; justify-content:center; gap:1px;
  width:56px; height:56px; padding:0; line-height:1;
  border:1px solid color-mix(in srgb,#fff 26%,var(--border));
  border-radius:50%;
  color:var(--text);
  background:
    linear-gradient(135deg, rgba(255,255,255,.18), rgba(255,255,255,.045)),
    color-mix(in srgb, var(--surface-solid, var(--surface)) 88%, transparent);
  box-shadow:0 12px 30px rgba(0,0,0,.24), 0 3px 9px rgba(0,0,0,.14), inset 0 1px 0 rgba(255,255,255,.26);
  backdrop-filter:saturate(180%) blur(20px);
  -webkit-backdrop-filter:saturate(180%) blur(20px);
  cursor:pointer;
  transition:transform .16s ease, box-shadow .16s ease;
}
/* Topçuk yalnızca sohbet çubuğu kullanılabilir durumdayken ve küçültülmüşken
   görünür: oturum açılmadan alt köşede tek başına belirmez. */
#msgDock:not([hidden]).is-collapsed ~ .floating-chat-dock { display:flex; }
/* Masaüstünde yan menü varken topçuk kullanılmaz: küçülen çubuk menünün
   dibindeki "Sohbet" satırına iner (bkz. shellChatItemHTML). Mobilde yan menü
   olmadığı için topçuk olduğu gibi kalır. */
@media (min-width:781px) {
  body.shell-ready #msgDock:not([hidden]).is-collapsed ~ .floating-chat-dock { display:none; }
}
.floating-chat-dock:hover { transform:translateY(-1px); box-shadow:0 16px 36px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.3); }
.floating-chat-dock:focus-visible { outline:2px solid color-mix(in srgb,var(--accent) 74%,#fff); outline-offset:3px; }
.floating-chat-dock-time { font-size:14px; font-weight:700; letter-spacing:.1px; font-variant-numeric:tabular-nums; }
.floating-chat-dock-date { font-size:8px; font-weight:650; letter-spacing:.3px; text-transform:uppercase; color:var(--muted,#94a3b8); }
.floating-chat-dock-badge {
  position:absolute; top:-3px; right:-3px; min-width:18px; height:18px; padding:0 5px;
  display:grid; place-items:center; border-radius:999px;
  background:var(--danger,#ff3b30); color:#fff; font-size:10px; font-weight:800; line-height:1;
  box-shadow:0 2px 6px rgba(0,0,0,.28);
}
.floating-chat-dock-badge.hidden { display:none; }

.msg-dock-btn {
  position: relative; display: flex; align-items: center; justify-content:center; gap: 8px;
  border: none; cursor: pointer; padding: 8px 16px 8px 12px; border-radius: 999px;
  background: linear-gradient(135deg, color-mix(in srgb, var(--accent) 92%, #fff), var(--accent));
  color: #fff; font-size: 13px; font-weight: 600;
  font-family: inherit; overflow:hidden; white-space:nowrap;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.23), 0 6px 16px color-mix(in srgb, var(--accent) 22%, transparent);
  transition: flex-basis .34s var(--dock-ease), width .34s var(--dock-ease), padding .34s var(--dock-ease), gap .28s var(--dock-ease), transform .18s ease, filter .18s ease, box-shadow .25s ease;
}
.msg-dock-btn:hover { filter: brightness(1.05) saturate(1.05); transform: translateY(-1px); }
.msg-dock-btn:active { transform: translateY(0); }
.msg-dock-btn svg { width: 18px; height: 18px; }
.msg-dock-label {
  display:inline-block;
  overflow:hidden;
  max-width:80px;
  opacity:1;
  transform:translateX(0);
  filter:blur(0);
  transition:max-width .34s var(--dock-ease), opacity .22s ease, transform .3s var(--dock-ease), filter .24s ease;
}
@media (hover:hover) and (pointer:fine) {
  .msg-dock { gap:8px; padding:8px; }
  .msg-dock-btn {
    width:44px;
    height:44px;
    padding:0;
    gap:0;
    flex:0 0 44px;
    border-radius:999px;
  }
  .msg-dock:hover .msg-dock-btn,
  .msg-dock:focus-within .msg-dock-btn {
    width:118px;
    padding:8px 16px 8px 12px;
    gap:8px;
    flex-basis:118px;
  }
  .msg-dock:hover .voice-dock-btn,
  .msg-dock:focus-within .voice-dock-btn {
    width:108px;
    flex-basis:108px;
  }
  .msg-dock-label {
    max-width:0;
    opacity:0;
    transform:translateX(-8px);
    filter:blur(4px);
  }
  .msg-dock:hover .msg-dock-label,
  .msg-dock:focus-within .msg-dock-label {
    max-width:80px;
    opacity:1;
    transform:translateX(0);
    filter:blur(0);
  }
}
/* Okunmamış varken sürekli nabız; yeni mesajda tek seferlik sıçrama */
.msg-dock.has-unread { animation: msgDockPulse 1.7s ease-in-out infinite; }
.msg-dock.bump { animation: msgDockBump .5s ease; }
@keyframes msgDockPulse {
  0%, 100% { box-shadow: 0 10px 34px rgba(0,0,0,0.18), 0 2px 8px rgba(0,0,0,0.08), 0 0 0 0 rgba(220,38,38,0.45); }
  50%      { box-shadow: 0 10px 34px rgba(0,0,0,0.18), 0 2px 8px rgba(0,0,0,0.08), 0 0 0 9px rgba(220,38,38,0); }
}
@keyframes msgDockBump {
  0%,100% { transform: translateX(-50%) translateY(0); }
  30%     { transform: translateX(-50%) translateY(-9px); }
  60%     { transform: translateX(-50%) translateY(-3px); }
}
.msg-dock-badge {
  position: absolute; top: -4px; right: -4px; min-width: 18px; height: 18px; padding: 0 5px;
  border-radius: 9px; background: var(--danger); color: #fff; font-size: 11px; font-weight: 700;
  display: flex; align-items: center; justify-content: center; border: 2px solid var(--surface);
}
.msg-dock-badge.hidden { display: none; }
.msg-dock-ico { position: relative; display: flex; align-items: center; }
.msg-dock-online {
  position: absolute; bottom: -6px; right: -7px; min-width: 15px; height: 15px; padding: 0 3px;
  border-radius: 8px; background: var(--success); color: #fff; font-size: 9px; font-weight: 700;
  display: flex; align-items: center; justify-content: center; border: 2px solid var(--accent);
}
.msg-dock-online.hidden { display: none; }
/* ── Sesli kanallar ── */
.voice-dock-btn {
  background: linear-gradient(135deg, color-mix(in srgb, var(--bursa, #0f6e56) 86%, #fff), var(--bursa, #0f6e56));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.23), 0 6px 16px color-mix(in srgb, var(--bursa, #0f6e56) 24%, transparent);
}
.voice-dock-btn.in-call { animation: voicePulse 2s ease-in-out infinite; }
@keyframes voicePulse {
  0%,100% { box-shadow: 0 0 0 0 rgba(22,163,74,.5); }
  50%     { box-shadow: 0 0 0 8px rgba(22,163,74,0); }
}
.voice-dock-live {
  width: 8px; height: 8px; border-radius: 50%; background: #fff; flex-shrink: 0;
  box-shadow: 0 0 0 0 rgba(255,255,255,.7); animation: voiceLiveDot 1.4s ease-in-out infinite;
}
.voice-dock-live.hidden { display: none; }
@keyframes voiceLiveDot { 0%,100% { opacity: 1; } 50% { opacity: .35; } }
.msg-dock-separator {
  width:1px;
  height:30px;
  flex:0 0 1px;
  margin:0 1px;
  background:color-mix(in srgb, var(--text) 18%, transparent);
  border-radius:999px;
  box-shadow:1px 0 rgba(255,255,255,.18);
}
.msg-dock-head-separator { display:none; }
@media (min-width:641px) {
  .msg-dock:has(.msg-dock-heads:not(:empty)) .msg-dock-head-separator { display:block; }
}
.voice-panel { z-index: 953; height: auto; max-height: calc(100vh - 84px); }
.voice-panel .msg-panel-body { display:block; padding:10px; overflow-y:auto; background:color-mix(in srgb, var(--bg) 14%, transparent); }
.voice-channels { display: flex; flex-direction: column; gap: 8px; width: 100%; }
.voice-ch {
  display: block; width: 100%; box-sizing: border-box;
  border:1px solid color-mix(in srgb, #fff 13%, var(--border)); border-radius:18px;
  background:
    linear-gradient(145deg, rgba(255,255,255,.085), rgba(255,255,255,.02)),
    color-mix(in srgb, var(--surface-solid, var(--surface)) 84%, transparent);
  overflow:hidden;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.09), 0 6px 18px rgba(0,0,0,.08);
  transition:border-color .16s ease, background .16s ease, box-shadow .16s ease, transform .16s ease;
}
.voice-ch:hover {
  border-color:color-mix(in srgb, var(--accent) 45%, var(--border));
  transform:translateY(-1px);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.12), 0 10px 24px rgba(0,0,0,.12);
}
.voice-ch.active {
  border-color:color-mix(in srgb, var(--success) 55%, var(--border));
  background:
    linear-gradient(145deg, color-mix(in srgb, var(--success) 18%, transparent), rgba(255,255,255,.025)),
    color-mix(in srgb, var(--surface-solid, var(--surface)) 86%, transparent);
}
.voice-ch-head {
  display: flex; align-items: center; gap: 12px; padding: 12px 14px; cursor: pointer;
  user-select: none;
}
.voice-ch-ico {
  display: flex; align-items: center; justify-content: center; flex-shrink: 0;
  width:36px; height:36px; border-radius:50%; color:var(--muted);
  background:color-mix(in srgb, var(--text) 7%, transparent);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.1);
}
.voice-ch.active .voice-ch-ico {
  color:#fff;
  background:linear-gradient(135deg, color-mix(in srgb, var(--success) 88%, #fff), var(--success));
  box-shadow:0 6px 16px color-mix(in srgb, var(--success) 24%, transparent), inset 0 1px 0 rgba(255,255,255,.22);
}
.voice-ch-ico svg { width: 18px; height: 18px; }
.voice-ch-text { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.voice-ch-name { font-size: 14px; font-weight: 600; color: var(--text); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.voice-ch-sub { font-size: 11.5px; color: var(--muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.voice-ch.active .voice-ch-sub { color: var(--success); font-weight: 600; }
.voice-ch-action { flex-shrink: 0; }
.voice-ch-join {
  font-size:12px; font-weight:700; color:#fff;
  background:linear-gradient(135deg, #2d9cff, var(--accent));
  border:none; border-radius:999px; padding:7px 14px; cursor:pointer;
  font-family:inherit; transition:filter .16s ease, transform .16s ease;
  box-shadow:0 7px 16px rgba(10,132,255,.22), inset 0 1px 0 rgba(255,255,255,.25);
}
.voice-ch-join:hover { filter:brightness(1.08); transform:translateY(-1px); }
.voice-ch-badge {
  display: inline-flex; align-items: center; gap: 6px;
  font-size: 11.5px; font-weight: 700; color: var(--success);
  background:color-mix(in srgb, var(--success) 14%, transparent);
  border:1px solid color-mix(in srgb, var(--success) 24%, transparent);
  border-radius:999px; padding:5px 11px;
}
.voice-ch-badge::before { content: ''; width: 7px; height: 7px; border-radius: 50%; background: var(--success); animation: voiceLiveDot 1.4s ease-in-out infinite; }
.voice-ch-members { display: flex; flex-wrap: wrap; gap: 6px; padding: 0 14px 12px 14px; }
.voice-ch-members:empty { display: none; }
.voice-mem {
  display: flex; align-items: center; gap: 6px; padding: 3px 8px 3px 3px;
  border-radius:999px; background:color-mix(in srgb, var(--surface-solid, var(--surface)) 78%, transparent);
  border:1px solid color-mix(in srgb, #fff 12%, var(--border)); font-size:11px; color:var(--text); max-width:100%;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
}
.voice-mem-av {
  width: 22px; height: 22px; border-radius: 50%; flex-shrink: 0;
  display: flex; align-items: center; justify-content: center;
  color: #fff; font-size: 9px; font-weight: 700; position: relative;
  box-shadow: 0 0 0 0 rgba(22,163,74,0); transition: box-shadow .12s;
}
.voice-mem-av.speaking { box-shadow: 0 0 0 3px rgba(22,163,74,.55); }
.voice-mem-name { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 110px; }
.voice-mem-mute { color: var(--danger); display: none; }
.voice-mem.muted .voice-mem-mute { display: flex; }
.voice-mem-mute svg { width: 12px; height: 12px; }

.voice-bar {
  display: flex; align-items: center; gap: 10px; padding: 10px 12px;
  border-top:1px solid color-mix(in srgb, #fff 12%, var(--border)); flex-shrink:0;
  background:linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.085));
  -webkit-backdrop-filter:blur(18px);
  backdrop-filter:blur(18px);
}
.voice-bar[hidden] { display: none; }
.voice-bar-info { display: flex; align-items: center; gap: 8px; flex: 1; min-width: 0; }
.voice-bar-dot { width: 9px; height: 9px; border-radius: 50%; background: var(--success); flex-shrink: 0; animation: voiceLiveDot 1.4s ease-in-out infinite; }
.voice-bar-meta { min-width: 0; }
.voice-bar-ch { font-size: 13px; font-weight: 600; color: var(--text); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.voice-bar-state { font-size: 11px; color: var(--muted); }
.voice-bar-ctrls { display: flex; align-items: center; gap: 6px; flex-shrink: 0; }
.voice-ctrl {
  width:36px; height:36px; border-radius:50%; border:1px solid color-mix(in srgb, #fff 12%, var(--border));
  background:color-mix(in srgb, var(--surface) 62%, transparent); color:var(--text); cursor:pointer;
  display:flex; align-items:center; justify-content:center; transition:background .16s ease, color .16s ease, border-color .16s ease, transform .16s ease;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.1);
}
.voice-ctrl:hover { background:color-mix(in srgb, var(--accent) 10%, transparent); transform:translateY(-1px); }
.voice-ctrl svg { width: 18px; height: 18px; }
.voice-ctrl.off { background: var(--danger-soft); border-color: var(--danger); color: var(--danger); }
.voice-ctrl.voice-leave { background: var(--danger); border-color: var(--danger); color: #fff; }
.voice-ctrl.voice-leave:hover { filter: brightness(1.08); }
/* Alta alınmış sohbetler (chat head'ler) — Sohbet butonunun yanında durur */
.msg-dock-heads { display: flex; align-items: center; gap: 8px; padding-right: 2px; }
.msg-dock-heads:empty { display: none; }
.msg-head {
  position: relative; width: 34px; height: 34px; border-radius: 50%; cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  color: #fff; font-size: 12px; font-weight: 700; border: 2px solid var(--surface);
  box-shadow: 0 2px 7px rgba(0,0,0,0.18); transition: transform .12s;
}
.msg-head:hover { transform: translateY(-3px); z-index: 2; }
.msg-head.online::after {
  content: ''; position: absolute; right: -1px; bottom: -1px; width: 9px; height: 9px;
  border-radius: 50%; background: var(--success); border: 2px solid var(--surface);
}
.msg-head-badge {
  position: absolute; top: -5px; right: -5px; min-width: 16px; height: 16px; padding: 0 4px;
  border-radius: 8px; background: var(--danger); color: #fff; font-size: 10px; font-weight: 700;
  display: flex; align-items: center; justify-content: center; border: 2px solid var(--surface);
}
.msg-head-x {
  position: absolute; top: -7px; left: -7px; width: 17px; height: 17px; border-radius: 50%;
  border: none; background: rgba(0,0,0,0.65); color: #fff; font-size: 12px; line-height: 1;
  cursor: pointer; display: none; align-items: center; justify-content: center; padding: 0;
}
.msg-head:hover .msg-head-x { display: flex; }

/* Panel: sayfanın altından yükselen kart (tam ekranı kaplamaz, karartı yok) */
.msg-panel {
  position: fixed; left: 50%; transform: translateX(-50%); bottom: 16px; z-index: 952;
  width: 420px; max-width: calc(100vw - 32px); height: 620px; max-height: calc(100vh - 84px);
  display: flex; flex-direction: column; overflow: hidden;
  isolation:isolate;
  background:
    linear-gradient(145deg, rgba(255,255,255,.16), rgba(255,255,255,.035)),
    color-mix(in srgb, var(--surface-solid, var(--surface)) 88%, transparent);
  border:1px solid color-mix(in srgb, #fff 20%, var(--border));
  border-radius:24px;
  box-shadow:
    0 26px 70px rgba(0,0,0,.34),
    0 6px 18px rgba(0,0,0,.18),
    inset 0 1px 0 rgba(255,255,255,.22);
  backdrop-filter:saturate(180%) contrast(108%) blur(24px);
  -webkit-backdrop-filter:saturate(180%) contrast(108%) blur(24px);
  animation: msgRise .34s cubic-bezier(.22,1,.36,1);
}
.msg-panel::before {
  content:"";
  position:absolute;
  inset:1px;
  z-index:0;
  pointer-events:none;
  border-radius:inherit;
  background:linear-gradient(180deg, rgba(255,255,255,.12), transparent 42%, rgba(0,0,0,.08));
}
.msg-panel > * { position:relative; z-index:1; }
.msg-panel[hidden] { display: none; }
/* iPhone sohbet girişi yalnız iphone.css katmanında görünür. */
.iphone-chat-btn { display: none; }
@keyframes msgRise {
  from { opacity: 0; transform: translateX(-50%) translateY(22px) scale(.975); filter:blur(5px); }
  to   { opacity: 1; transform: translateX(-50%) translateY(0) scale(1); }
}
.msg-panel-head {
  display: flex; align-items: center; gap: 8px; padding: 12px 14px;
  border-bottom:1px solid color-mix(in srgb, #fff 12%, var(--border));
  flex-shrink:0;
  background:linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.02));
  -webkit-backdrop-filter:blur(18px);
  backdrop-filter:blur(18px);
}
.msg-panel-head .msg-title { font-size: 14px; font-weight: 700; letter-spacing:-.015em; flex: 1; display: flex; align-items: center; gap: 8px; }
.msg-panel-head .msg-title svg { width:17px; height:17px; color:var(--accent); }
.msg-panel-head .msg-title[hidden] { display: none; }
/* Başlıkta Mesajlar · Kanallar sekmeleri (iki sayfalı sohbet penceresi). */
.msg-tabs { flex: 1; min-width: 0; display: flex; align-items: center; gap: 2px; }
.msg-tabs[hidden] { display: none; }
.msg-tabs:not(.single) { flex: 0 1 auto; margin-right: auto; padding: 2px; border-radius: 9px; background: color-mix(in srgb, var(--text) 7%, transparent); }
.msg-tab { display: inline-flex; align-items: center; gap: 6px; height: 28px; padding: 0 11px; border: 0; border-radius: 7px; background: transparent; color: var(--muted); font: 600 12.5px var(--font); letter-spacing: -.01em; cursor: pointer; white-space: nowrap; }
.msg-tab[hidden] { display: none; }
.msg-tab:hover { color: var(--text); }
.msg-tab[aria-selected="true"] { background: var(--card, var(--bg)); color: var(--text); box-shadow: 0 1px 2px rgba(0,0,0,.12); }
.msg-tab:focus-visible { outline: 2px solid var(--accent); outline-offset: 1px; }
.msg-tabs.single .msg-tab { height: auto; padding: 0; background: none; box-shadow: none; color: var(--text); font-size: 14px; font-weight: 700; cursor: default; }
.msg-tab-live { display: inline-flex; align-items: center; gap: 4px; color: var(--success, #30b85a); font: 750 10.5px var(--font-numeric, var(--font)); }
.msg-tab-live[hidden] { display: none; }
.msg-tab-live::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: currentColor; }
.msg-tab-live.in-call::before { animation: voiceLiveDot 1.4s ease-in-out infinite; }
/* Bağlıyken Mesajlar sayfasının dibinde ince ses şeridi; dokununca Kanallar açılır. */
.msg-voice-strip { display: flex; align-items: center; gap: 4px; padding: 6px 8px 6px 6px; border-top: 1px solid var(--border); flex-shrink: 0; }
.msg-voice-strip[hidden] { display: none; }
.msg-voice-strip-open { flex: 1; min-width: 0; display: flex; align-items: center; gap: 9px; padding: 6px 8px; border: 0; border-radius: 8px; background: transparent; color: var(--text); text-align: left; cursor: pointer; }
.msg-voice-strip-open:hover { background: color-mix(in srgb, var(--text) 6%, transparent); }
.msg-voice-strip-meta { min-width: 0; display: flex; flex-direction: column; line-height: 1.25; }
.msg-voice-strip-meta b { font-size: 12.5px; font-weight: 650; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.msg-voice-strip-meta span { font-size: 11px; color: var(--muted); }
.msg-voice-strip-mic.off { color: var(--danger); }
.msg-voice-strip-leave { color: var(--danger); }
.msg-bulk-launch {
  min-height:32px; display:inline-flex; align-items:center; gap:7px; padding:6px 11px;
  border:1px solid color-mix(in srgb,var(--accent) 28%,var(--border)); border-radius:999px;
  background:color-mix(in srgb,var(--accent) 9%,transparent); color:var(--accent);
  font:750 11px inherit; cursor:pointer; white-space:nowrap;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.1); transition:background .16s,border-color .16s,transform .16s,box-shadow .16s;
}
.msg-bulk-launch svg { width:16px; height:16px; stroke-width:1.9; }
.msg-bulk-launch:hover { background:color-mix(in srgb,var(--accent) 16%,transparent); border-color:var(--accent); transform:translateY(-1px); box-shadow:0 6px 15px color-mix(in srgb,var(--accent) 15%,transparent); }
.msg-icon-btn {
  background:color-mix(in srgb, var(--surface) 48%, transparent);
  border:1px solid transparent; cursor:pointer; color:var(--muted); padding:4px;
  border-radius:999px; display:flex; align-items:center; justify-content:center; line-height:0;
  transition:background .16s ease, color .16s ease, border-color .16s ease, transform .16s ease;
}
.msg-icon-btn:hover { background:color-mix(in srgb, var(--text) 8%, transparent); color:var(--text); border-color:color-mix(in srgb, #fff 14%, var(--border)); transform:translateY(-1px); }
.msg-icon-btn svg { width: 18px; height: 18px; }
.msg-panel-body { flex:1; min-height:0; display:flex; background:color-mix(in srgb, var(--bg) 18%, transparent); }
.msg-view { flex: 1; min-height: 0; display: flex; flex-direction: column; width: 100%; }
.msg-view[hidden] { display: none; }

.msg-search { padding: 10px 12px; flex-shrink: 0; }
.msg-search input {
  width:100%; padding:9px 13px; border:1px solid color-mix(in srgb, #fff 12%, var(--border)); border-radius:999px;
  background:color-mix(in srgb, var(--bg) 72%, transparent); font-size:13px; font-family:inherit; color:var(--text);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
}
.msg-search input:focus { outline:none; border-color:var(--accent); box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 18%, transparent); }
.msg-user-list { flex: 1; min-height: 0; overflow-y: auto; padding: 0 6px 10px; }
.msg-photo-share-pending {
  position:sticky;
  top:0;
  z-index:4;
  display:grid;
  grid-template-columns:46px minmax(0,1fr) 27px;
  align-items:center;
  gap:9px;
  margin:5px 2px 8px;
  padding:8px;
  border:1px solid color-mix(in srgb,var(--accent) 34%,var(--border));
  border-radius:14px;
  background:color-mix(in srgb,var(--surface-solid,var(--surface)) 94%,var(--accent) 6%);
  box-shadow:0 9px 24px rgba(0,0,0,.13);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
}
.msg-photo-share-pending img {
  width:46px;
  height:40px;
  display:block;
  object-fit:cover;
  border-radius:9px;
  background:var(--bg);
}
.msg-photo-share-pending > span { min-width:0; display:grid; gap:1px; }
.msg-photo-share-pending small { color:var(--accent); font-size:8px; font-weight:900; letter-spacing:.1em; }
.msg-photo-share-pending strong { overflow:hidden; color:var(--text); font-size:11px; text-overflow:ellipsis; white-space:nowrap; }
.msg-photo-share-pending em { color:var(--muted); font-size:9.5px; font-style:normal; }
.msg-photo-share-pending button {
  width:27px;
  height:27px;
  padding:0;
  border:0;
  border-radius:9px;
  color:var(--muted);
  background:rgba(127,127,127,.09);
  font:500 18px/1 inherit;
  cursor:pointer;
}
.msg-photo-share-pending button:hover { color:var(--danger); background:color-mix(in srgb,var(--danger) 10%,transparent); }
.msg-user {
  display:flex; align-items:center; gap:10px; padding:9px 10px; border-radius:14px;
  cursor:pointer; transition:background .16s ease, transform .16s ease;
}
.msg-user:hover { background:color-mix(in srgb, var(--text) 7%, transparent); transform:translateY(-1px); }
.msg-user-selectable { position:relative; border:1px solid transparent; user-select:none; }
.msg-user-selectable:hover { border-color:color-mix(in srgb,var(--accent) 22%,transparent); }
.msg-user-selectable.is-selected { background:color-mix(in srgb,var(--accent) 10%,transparent); border-color:color-mix(in srgb,var(--accent) 38%,var(--border)); }
.msg-bulk-check { position:absolute; width:1px; height:1px; opacity:0; pointer-events:none; }
.msg-bulk-tick {
  width:24px; height:24px; flex:0 0 24px; display:grid; place-items:center; border:1px solid var(--border); border-radius:50%;
  background:color-mix(in srgb,var(--surface) 72%,transparent); color:transparent; transition:all .16s;
}
.msg-bulk-tick svg { width:14px; height:14px; stroke-width:2.5; }
.msg-user-selectable.is-selected .msg-bulk-tick { color:#fff; border-color:var(--accent); background:var(--accent); box-shadow:0 4px 11px color-mix(in srgb,var(--accent) 30%,transparent); }
.msg-user-selectable:focus-within { outline:2px solid var(--accent); outline-offset:-2px; }
.msg-avatar {
  width: 36px; height: 36px; border-radius: 50%; flex-shrink: 0; position: relative;
  display: flex; align-items: center; justify-content: center; color: #fff; font-size: 13px; font-weight: 700;
}
.msg-avatar.online::after,
.msg-avatar.st-off::after {
  content: ''; position: absolute; right: -1px; bottom: -1px; width: 10px; height: 10px;
  border-radius: 50%; background: var(--success); border: 2px solid var(--surface);
}
/* Çevrimdışı: aynı yerde boş halka (gri), dolu yeşil nokta yalnız çevrimiçide. */
.msg-avatar.st-off::after {
  background: var(--surface);
  box-shadow: inset 0 0 0 1.5px var(--muted);
}
.msg-user-meta { flex: 1; min-width: 0; }
.msg-user-name { font-size: 13px; font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.msg-user-sub { font-size: 11px; color: var(--muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.msg-user-sub .on { color: var(--success); }
.msg-user-sub .on.st-busy { color: #ff453a; }
.msg-user-sub .on.st-meeting { color: #ff9f0a; }
.msg-avatar.st-busy.online::after { background: #ff453a; }
.msg-avatar.st-meeting.online::after { background: #ff9f0a; }
.msg-convo-head .msg-convo-status.st-busy { color: #ff453a; }
.msg-convo-head .msg-convo-status.st-meeting { color: #ff9f0a; }
.msg-user-unread {
  background: var(--danger); color: #fff; font-size: 10px; font-weight: 700; min-width: 18px; height: 18px;
  padding: 0 5px; border-radius: 9px; display: flex; align-items: center; justify-content: center;
}
.msg-empty { padding: 28px 16px; text-align: center; color: var(--muted); font-size: 13px; }
.msg-retention-note { margin-top:8px; color:var(--muted); font-size:11px; line-height:1.45; opacity:.82; }
.msg-ai-user {
  border:1px solid color-mix(in srgb,#7c3aed 34%,var(--border));
  background:linear-gradient(135deg,color-mix(in srgb,#7c3aed 13%,transparent),transparent 70%);
}
.msg-ai-user:hover { border-color:#7c3aed; background:color-mix(in srgb,#7c3aed 18%,transparent); }
.msg-ai-avatar {
  background:linear-gradient(145deg,#9b6dff,#6432d8);
  font-size:11px;
  box-shadow:0 7px 16px rgba(124,58,237,.28),inset 0 1px rgba(255,255,255,.3);
}
.msg-ai-chip {
  display:inline-flex; align-items:center; padding:4px 8px; border-radius:999px;
  color:#c4b5fd; background:rgba(124,58,237,.15); border:1px solid rgba(124,58,237,.28);
  font-size:10px; font-weight:800; white-space:nowrap;
}
.msg-bubble.ai-message {
  border-color:color-mix(in srgb,#7c3aed 30%,var(--border));
  background:linear-gradient(145deg,color-mix(in srgb,#7c3aed 13%,var(--surface)),var(--surface));
  white-space:pre-wrap;
  line-height:1.45;
}
.msg-ai-typing {
  align-self:flex-start; margin:2px 7px 8px; padding:7px 10px; border-radius:999px;
  color:#c4b5fd; border:1px solid rgba(124,58,237,.25); background:rgba(124,58,237,.1);
  font-size:10.5px; font-weight:700; animation:msgAiPulse 1.35s ease-in-out infinite;
}
@keyframes msgAiPulse { 0%,100% { opacity:.55; } 50% { opacity:1; } }
.msg-bulk-selection-bar {
  min-height:62px; display:flex; align-items:center; gap:10px; padding:10px 12px;
  border-top:1px solid color-mix(in srgb,#fff 12%,var(--border));
  background:color-mix(in srgb,var(--surface) 82%,transparent); box-shadow:0 -10px 30px rgba(0,0,0,.08);
  -webkit-backdrop-filter:blur(18px); backdrop-filter:blur(18px); flex-shrink:0;
}
.msg-bulk-selection-bar[hidden] { display:none; }
.msg-bulk-cancel { border:0; background:transparent; color:var(--muted); padding:7px 4px; font:700 11px inherit; cursor:pointer; }
.msg-bulk-cancel:hover { color:var(--text); }
.msg-bulk-selection-count { flex:1; color:var(--muted); font-size:11px; font-weight:650; text-align:center; }
.msg-bulk-continue {
  min-height:38px; display:inline-flex; align-items:center; gap:5px; padding:8px 12px;
  border:0; border-radius:12px; background:linear-gradient(135deg,#2d9cff,var(--accent)); color:#fff;
  font:750 11px inherit; cursor:pointer; box-shadow:0 7px 16px rgba(10,132,255,.22);
}
.msg-bulk-continue svg { width:14px; height:14px; stroke-width:2.2; }
.msg-bulk-continue:disabled { opacity:.42; cursor:not-allowed; box-shadow:none; }

.msg-convo-head {
  display:flex; align-items:center; gap:9px; min-height:66px; padding:11px 12px;
  border-bottom:1px solid color-mix(in srgb, #fff 12%, var(--border));
  flex-shrink:0;
  background:linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.02));
  -webkit-backdrop-filter:blur(18px);
  backdrop-filter:blur(18px);
}
.msg-convo-head .msg-convo-id { flex: 1; min-width: 0; }
.msg-convo-head > .msg-avatar { width:38px !important; height:38px !important; font-size:14px; box-shadow:0 5px 14px rgba(0,0,0,.14),inset 0 1px 0 rgba(255,255,255,.2); }
.msg-convo-head .msg-convo-min { margin-left:0; }
.msg-convo-name-row { display:flex; align-items:center; gap:8px; min-width:0; }
.msg-convo-head .msg-convo-name { font-size:14px; font-weight:750; letter-spacing:-.015em; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.msg-convo-head .msg-convo-status { margin-top:2px; font-size:10.5px; font-weight:600; color:var(--muted); }
.msg-convo-head .msg-convo-status.online { color: var(--success); }
.msg-convo-tools { display:flex; align-items:center; gap:5px; padding:3px; border:1px solid color-mix(in srgb,#fff 11%,var(--border)); border-radius:999px; background:color-mix(in srgb,var(--bg) 44%,transparent); }
.msg-channel-invite-btn {
  position:relative; width:29px; height:29px; display:inline-flex; align-items:center; justify-content:center; padding:0;
  border:0; border-radius:50%; background:transparent; color:var(--muted);
  font:700 10.5px inherit; cursor:pointer; white-space:nowrap; transition:all .16s ease;
}
.msg-channel-invite-btn svg { width:15px; height:15px; stroke-width:2; }
.msg-channel-invite-btn:hover { color:var(--accent); border-color:var(--accent); background:var(--accent-soft); }
.msg-channel-invite-btn.is-ready { color:var(--success); border-color:color-mix(in srgb, var(--success) 35%, var(--border)); background:color-mix(in srgb, var(--success) 8%, transparent); }
.msg-channel-invite-btn span {
  position:absolute; right:0; top:calc(100% + 9px); z-index:10; width:max-content; max-width:150px; padding:7px 9px;
  border:1px solid var(--border); border-radius:8px; background:var(--surface-solid,var(--surface)); color:var(--text);
  box-shadow:0 10px 24px rgba(0,0,0,.18); font-size:10px; opacity:0; visibility:hidden; transform:translateY(-4px); pointer-events:none; transition:all .15s;
}
.msg-channel-invite-btn:hover span,.msg-channel-invite-btn:focus-visible span { opacity:1; visibility:visible; transform:none; }
.msg-vibrate-btn { color:var(--muted); }
.msg-vibrate-btn:hover { color:#ff9f0a; border-color:#ff9f0a; background:color-mix(in srgb,#ff9f0a 10%,transparent); }
.msg-vibrate-btn svg { width:15px; height:15px; stroke-width:2; }
.msg-convo-scroll { flex:1; min-height:0; overflow-y:auto; padding:14px 12px; display:flex; flex-direction:column; gap:4px; }
.msg-bubble {
  max-width: 78%; padding: 8px 12px; border-radius: 16px; font-size: 13px; line-height: 1.4;
  word-wrap: break-word; white-space: pre-wrap;
}
.msg-bubble.in  {
  align-self:flex-start;
  background:color-mix(in srgb, var(--surface-solid, var(--surface)) 86%, transparent);
  border:1px solid color-mix(in srgb, #fff 12%, var(--border));
  border-bottom-left-radius:5px;
  box-shadow:0 4px 12px rgba(0,0,0,.08), inset 0 1px 0 rgba(255,255,255,.08);
}
.msg-bubble.out {
  align-self:flex-end;
  background:linear-gradient(135deg, #2d9cff, var(--accent));
  color:#fff;
  border-bottom-right-radius:5px;
  box-shadow:0 7px 16px rgba(10,132,255,.24), inset 0 1px 0 rgba(255,255,255,.24);
}
.msg-bubble.bulk-message { padding:9px 12px 10px; white-space:normal; }
.msg-bulk-message-card { display:grid; gap:6px; }
.msg-bulk-message-label { display:inline-flex; align-items:center; gap:5px; width:max-content; font-size:9px; font-weight:800; letter-spacing:.055em; text-transform:uppercase; opacity:.78; }
.msg-bulk-message-label svg { width:13px; height:13px; stroke-width:1.8; }
.msg-bulk-message-text { white-space:pre-wrap; word-break:break-word; }
.msg-bubble.in.bulk-message { border-color:color-mix(in srgb,var(--accent) 22%,var(--border)); }
.msg-bubble.in .msg-bulk-message-label { color:var(--accent); opacity:1; }
.msg-bubble.out .msg-bulk-message-label { color:#fff; }
.msg-bubble.ticket-share { padding:0; overflow:visible; white-space:normal; background:transparent; border:none; color:var(--text); }
.msg-bubble.out.ticket-share { background:transparent; color:var(--text); }
.msg-photo-share-card {
  width:min(244px,72vw);
  display:grid;
  grid-template-rows:132px auto;
  overflow:hidden;
  padding:0;
  border:1px solid color-mix(in srgb,var(--accent) 24%,var(--border));
  border-radius:16px;
  color:var(--text);
  background:var(--surface-solid,var(--surface));
  box-shadow:0 12px 30px rgba(0,0,0,.16);
  text-align:left;
  cursor:pointer;
  font:inherit;
}
.msg-photo-share-card:hover {
  border-color:color-mix(in srgb,var(--accent) 58%,var(--border));
  transform:translateY(-1px);
  box-shadow:0 16px 34px rgba(0,0,0,.2);
}
.msg-bubble.ticket-share { position:relative; }
.msg-photo-delete {
  position:absolute; top:7px; right:7px; z-index:2;
  width:24px; height:24px; display:grid; place-items:center;
  padding:0; border:1px solid color-mix(in srgb,var(--border) 70%,transparent);
  border-radius:8px; background:var(--surface-solid,var(--surface));
  color:var(--muted); font:500 17px/1 var(--font); cursor:pointer;
  opacity:.82;
}
.msg-photo-delete:hover,.msg-photo-delete:focus-visible { color:var(--danger); opacity:1; }
.msg-photo-share-card > img {
  width:100%;
  height:132px;
  display:block;
  object-fit:cover;
  background:var(--bg);
}
.msg-photo-share-copy { min-width:0; display:grid; gap:4px; padding:10px 11px 11px; }
.msg-photo-share-copy small {
  display:flex;
  align-items:center;
  gap:5px;
  color:var(--accent);
  font-size:8px;
  font-weight:900;
  letter-spacing:.09em;
}
.msg-photo-share-copy small svg { width:11px; height:11px; stroke-width:2; }
.msg-photo-share-copy strong { overflow:hidden; color:var(--text); font-size:12px; text-overflow:ellipsis; white-space:nowrap; }
.msg-photo-share-copy em { overflow:hidden; color:var(--muted); font-size:9.5px; font-style:normal; text-overflow:ellipsis; white-space:nowrap; }
.msg-photo-share-copy b { margin-top:2px; color:var(--accent); font-size:9.5px; font-weight:800; }
.msg-photo-share-copy b span { margin-left:3px; transition:margin .15s ease; }
.msg-photo-share-card:hover .msg-photo-share-copy b span { margin-left:6px; }
.msg-ticket-button {
  display:inline-grid; grid-template-columns:auto 1fr; align-items:center; column-gap:7px; row-gap:1px; min-height:42px; max-width:230px; padding:8px 12px;
  border:1px solid var(--border); border-radius:999px; background:var(--surface); color:var(--text);
  cursor:pointer; font:600 12px inherit; box-shadow:var(--shadow); white-space:nowrap; text-align:left;
}
.msg-ticket-button:hover { border-color:var(--accent); color:var(--accent); }
.msg-ticket-button svg { grid-row:1 / span 2; width:15px; height:15px; flex:0 0 auto; }
.msg-ticket-button span { overflow:hidden; text-overflow:ellipsis; }
.msg-ticket-button small { display:block; overflow:hidden; color:var(--muted); font-size:10.5px; font-weight:600; line-height:1.15; text-overflow:ellipsis; }
.msg-ticket-button:hover small { color:currentColor; opacity:.78; }
.msg-channel-button {
  display:inline-grid; grid-template-columns:auto 1fr; align-items:center; column-gap:8px; row-gap:1px; min-height:46px; max-width:250px; padding:9px 13px;
  border:1px solid color-mix(in srgb, var(--success) 35%, var(--border)); border-radius:999px;
  background:color-mix(in srgb, var(--success) 10%, var(--surface)); color:var(--text);
  cursor:pointer; font:700 12px inherit; box-shadow:var(--shadow); white-space:nowrap; text-align:left;
}
.msg-channel-button:hover { border-color:var(--success); color:var(--success); }
.msg-channel-button svg { grid-row:1 / span 2; width:16px; height:16px; flex:0 0 auto; }
.msg-channel-button span { overflow:hidden; text-overflow:ellipsis; }
.msg-channel-button small { display:block; overflow:hidden; color:var(--muted); font-size:10.5px; font-weight:650; line-height:1.15; text-overflow:ellipsis; }
/* ── Sohbette paylaşılan sipariş ──────────────────────────────────────────
   Kart + altında TEK küçük düğme. Düğme iki maddelik kısayol listesini açar
   (ortak panoya / kendi panoma) ve listeyi ••• menüleriyle aynı katman çizer.
   İki taraf da aynı kartı görür: gönderen de sonradan panoya atabilsin. */
.msg-order-share { display:grid; gap:6px; justify-items:start; max-width:250px; }
.msg-order-share-open {
  display:inline-grid; grid-template-columns:auto 1fr; align-items:center; column-gap:8px; row-gap:1px;
  min-height:44px; max-width:250px; padding:8px 13px;
  border:1px solid var(--border); border-radius:14px; background:var(--surface); color:var(--text);
  cursor:pointer; font:650 12px inherit; box-shadow:var(--shadow); white-space:nowrap; text-align:left;
}
.msg-order-share-open:hover { border-color:var(--accent); color:var(--accent); }
.msg-order-share-open svg { grid-row:1 / span 2; width:16px; height:16px; flex:0 0 auto; }
.msg-order-share-open span { overflow:hidden; text-overflow:ellipsis; font-variant-numeric:tabular-nums; }
.msg-order-share-open small { display:block; overflow:hidden; color:var(--muted); font-size:10.5px; font-weight:600; line-height:1.15; text-overflow:ellipsis; }
.msg-order-share-open:hover small { color:currentColor; opacity:.78; }
.msg-order-share-menu {
  display:inline-flex; align-items:center; gap:6px; min-height:26px; padding:4px 9px;
  border:1px solid transparent; border-radius:999px; background:color-mix(in srgb,var(--accent) 11%,transparent);
  color:var(--accent); cursor:pointer; font:650 10.5px inherit; white-space:nowrap;
}
.msg-order-share-menu svg { width:13px; height:13px; stroke-width:1.9; }
.msg-order-share-menu:hover,
.msg-order-share-menu.is-shortcut-open { border-color:color-mix(in srgb,var(--accent) 40%,transparent); background:color-mix(in srgb,var(--accent) 17%,transparent); }
.msg-order-share-menu:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }

.msg-vibration-card { display:inline-flex; align-items:center; gap:7px; min-height:32px; padding:7px 11px; border:1px solid color-mix(in srgb,#ff9f0a 42%,var(--border)); border-radius:999px; background:color-mix(in srgb,#ff9f0a 11%,var(--surface)); color:var(--text); font-size:11px; font-weight:750; white-space:nowrap; }
.msg-vibration-card svg { width:15px; height:15px; color:#ff9f0a; }
.msg-bubble + .msg-time { display:flex; align-items:center; gap:5px; font-size: 10px; color: var(--muted); margin: -1px 4px 6px; }
.msg-time.out { align-self: flex-end; }
.msg-pin {
  width:22px; height:22px; display:grid; place-items:center; padding:0;
  border:0; border-radius:7px; background:transparent; color:var(--muted);
  cursor:pointer; opacity:.48; transition:opacity .15s ease,background .15s ease,color .15s ease;
}
.msg-pin svg { width:13px; height:13px; stroke-width:1.8; }
.msg-time:hover .msg-pin,.msg-pin:focus-visible,.msg-pin.is-pinned { opacity:1; }
.msg-pin:hover,.msg-pin:focus-visible { background:color-mix(in srgb,var(--accent) 11%,transparent); color:var(--accent); }
.msg-pin.is-pinned { color:var(--accent); }
.msg-day { align-self: center; font-size: 10px; color: var(--muted); background: var(--bg); padding: 2px 10px; border-radius: 999px; margin: 6px 0; }
/* "Önceki mesajlar": gün ayracıyla aynı hap dili, tıklanır (sohbet sayfalı okunur). */
.msg-older { align-self: center; margin: 4px 0 8px; padding: 4px 12px; border: 0; border-radius: 999px; background: var(--bg); color: var(--text); font: 600 11px var(--font); cursor: pointer; }
.msg-older:hover:not(:disabled) { color: var(--accent); }
.msg-older:disabled { cursor: default; opacity: .7; }
.msg-older:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
.msg-convo-input {
  position:relative; display:flex; align-items:center; gap:7px; padding:7px 10px 12px;
  border-top:0; flex-shrink:0;
  background:linear-gradient(180deg, rgba(255,255,255,.035), rgba(255,255,255,.09));
}

.msg-convo-input :is(input,textarea) {
  flex:1; min-width:0; min-height:42px; padding:9px 15px; border:1px solid color-mix(in srgb, #fff 12%, var(--border)); border-radius:999px;
  background:color-mix(in srgb, var(--bg) 78%, transparent); font-size:13px; font-family:inherit; color:var(--text);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.09);
}
.msg-convo-input :is(input,textarea):focus { outline:none; border-color:var(--accent); box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 20%, transparent), inset 0 1px 0 rgba(255,255,255,.09); }
.msg-emoji-btn {
  width:40px; height:40px; flex:0 0 40px; display:flex; align-items:center; justify-content:center;
  border:1px solid color-mix(in srgb, #fff 12%, var(--border)); border-radius:50%;
  background:color-mix(in srgb, var(--surface) 60%, transparent); color:var(--text);
  cursor:pointer; font:18px/1 inherit; transition:background .16s ease, border-color .16s ease, transform .16s ease, box-shadow .16s ease;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.1);
}
.msg-emoji-btn:hover, .msg-emoji-btn.active { border-color: var(--accent); background: var(--accent-soft); transform: translateY(-1px); }
.msg-emoji-picker {
  position:absolute; left:12px; right:58px; bottom:58px; z-index:3;
  display:grid; grid-template-columns:repeat(8, 1fr); gap:4px; max-height:152px; overflow-y:auto;
  padding:8px; border:1px solid color-mix(in srgb, #fff 18%, var(--border)); border-radius:18px;
  background:color-mix(in srgb, var(--surface) 82%, transparent);
  box-shadow:0 18px 42px rgba(0,0,0,.24), inset 0 1px 0 rgba(255,255,255,.12);
  -webkit-backdrop-filter:blur(20px) saturate(170%);
  backdrop-filter:blur(20px) saturate(170%);
}
.msg-emoji-picker[hidden] { display:none; }
.msg-emoji-picker button {
  min-width:0; height:30px; display:grid; place-items:center; border:0; border-radius:9px;
  background:transparent; cursor:pointer; font-size:18px; line-height:1;
}
.msg-emoji-picker button:hover { background:var(--bg); }
.msg-send-btn {
  border:none; cursor:pointer; background:linear-gradient(135deg, #2d9cff, var(--accent)); color:#fff; width:42px; height:42px;
  border-radius:50%; display:flex; align-items:center; justify-content:center; flex-shrink:0;
  box-shadow:0 8px 18px rgba(10,132,255,.28), inset 0 1px 0 rgba(255,255,255,.26);
}
.msg-send-btn:hover { filter: brightness(1.07); }
.msg-send-btn svg { width: 18px; height: 18px; }

.msg-bulk-view { background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 4%,transparent),transparent 34%); }
.msg-bulk-compose-head {
  min-height:66px; display:flex; align-items:center; gap:10px; padding:11px 12px;
  border-bottom:1px solid color-mix(in srgb,#fff 12%,var(--border));
  background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.02)); flex-shrink:0;
}
.msg-bulk-compose-icon { width:38px; height:38px; flex:0 0 38px; display:grid; place-items:center; border-radius:13px; background:color-mix(in srgb,var(--accent) 13%,transparent); color:var(--accent); }
.msg-bulk-compose-icon svg { width:20px; height:20px; stroke-width:1.8; }
.msg-bulk-compose-head > div { flex:1; min-width:0; display:grid; gap:2px; }
.msg-bulk-compose-head strong { font-size:14px; letter-spacing:-.015em; }
.msg-bulk-compose-head span:not(.msg-bulk-compose-icon) { color:var(--muted); font-size:10.5px; font-weight:600; }
.msg-bulk-compose-body { flex:1; min-height:0; display:flex; flex-direction:column; gap:14px; padding:16px; overflow-y:auto; }
.msg-bulk-intro { display:grid; gap:5px; padding:13px 14px; border:1px solid color-mix(in srgb,var(--accent) 20%,var(--border)); border-radius:14px; background:color-mix(in srgb,var(--accent) 7%,transparent); }
.msg-bulk-intro strong { color:var(--text); font-size:12px; }
.msg-bulk-intro span { color:var(--muted); font-size:10.5px; line-height:1.45; }
.msg-bulk-recipients { display:flex; flex-wrap:wrap; gap:6px; max-height:105px; overflow-y:auto; }
.msg-bulk-recipient { display:inline-flex; align-items:center; gap:6px; min-width:0; max-width:180px; padding:4px 7px 4px 4px; border:1px solid var(--border); border-radius:999px; background:color-mix(in srgb,var(--surface) 72%,transparent); color:var(--text); font:700 10.5px inherit; cursor:pointer; }
.msg-bulk-recipient:hover { border-color:var(--danger); color:var(--danger); }
.msg-bulk-recipient-avatar { width:24px; height:24px; flex:0 0 24px; display:grid; place-items:center; border-radius:50%; color:#fff; font-size:8px; }
.msg-bulk-recipient > span:nth-child(2) { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.msg-bulk-recipient svg { width:12px; height:12px; flex:0 0 auto; stroke-width:2; }
.msg-bulk-form { flex:1; min-height:220px; display:flex; flex-direction:column; gap:8px; }
.msg-bulk-form label { color:var(--muted); font-size:10px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
.msg-bulk-form textarea { flex:1; min-height:170px; width:100%; resize:none; padding:14px; border:1px solid color-mix(in srgb,#fff 12%,var(--border)); border-radius:16px; background:color-mix(in srgb,var(--bg) 74%,transparent); color:var(--text); font:13px/1.5 inherit; box-shadow:inset 0 1px 0 rgba(255,255,255,.08); }
.msg-bulk-form textarea:focus { outline:none; border-color:var(--accent); box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent); }
.msg-bulk-form-foot { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.msg-bulk-form-foot > span { color:var(--muted); font-size:10px; font-variant-numeric:tabular-nums; }
.msg-bulk-send { min-height:42px; display:inline-flex; align-items:center; gap:8px; padding:9px 15px; border:0; border-radius:13px; background:linear-gradient(135deg,#2d9cff,var(--accent)); color:#fff; font:750 11.5px inherit; cursor:pointer; box-shadow:0 9px 20px rgba(10,132,255,.25); }
.msg-bulk-send svg { width:16px; height:16px; stroke-width:1.9; }
.msg-bulk-send:hover { filter:brightness(1.07); transform:translateY(-1px); }
.msg-bulk-send:disabled { opacity:.6; cursor:wait; transform:none; }
@media (max-width:420px) {
  .msg-panel { max-width:calc(100vw - 18px); border-radius:22px; }

  .msg-convo-input { gap:6px; padding-inline:8px; }
  .msg-emoji-btn { width:37px; height:37px; flex-basis:37px; }
  .msg-send-btn { width:39px; height:39px; }
  .msg-convo-input :is(input,textarea) { min-height:39px; height:auto; padding-inline:12px; }
  .msg-bulk-launch span { display:none; }
  .msg-bulk-launch { width:34px; height:34px; padding:0; justify-content:center; }
  .msg-convo-head { gap:6px; padding-inline:8px; }
  .msg-convo-tools { gap:2px; }
  .msg-channel-invite-btn span { display:none; }
  .msg-bulk-compose-body { padding:12px; }
  .msg-bulk-selection-count { display:none; }
}

/* ── TOPBAR / FINAL POLISH ───────────────────────────────────────
   Kimlik, durum ve araçları tek bir sakin uygulama çerçevesinde toplar. */
.topbar {
  height:72px;
  padding:0 38px;
  gap:18px;
  background:rgba(250,250,252,.9);
  border-bottom-color:rgba(0,0,0,.075);
  box-shadow:0 1px 0 rgba(255,255,255,.9), 0 8px 24px rgba(16,24,40,.035);
  backdrop-filter:saturate(180%) blur(26px);
  -webkit-backdrop-filter:saturate(180%) blur(26px);
}
.nav { top:72px; }

.topbar-right > .notif-btn {
  width:38px;
  height:38px;
  border-radius:11px;
  color:#6e6e73;
  border-color:rgba(0,0,0,.085);
  background:rgba(255,255,255,.6);
  box-shadow:inset 0 1px rgba(255,255,255,.7);
}
.topbar-right > .notif-btn:hover {
  color:#1d1d1f;
  border-color:rgba(0,0,0,.16);
  background:#fff;
  box-shadow:0 4px 10px rgba(0,0,0,.055);
}

html[data-theme="dark"] .topbar {
  background:rgba(20,20,22,.88);
  border-bottom-color:rgba(255,255,255,.075);
  box-shadow:0 1px 0 rgba(255,255,255,.025), 0 9px 26px rgba(0,0,0,.22);
}

html[data-theme="dark"] .topbar-right > .notif-btn {
  color:#a1a1a6;
  border-color:rgba(255,255,255,.1);
  background:rgba(255,255,255,.045);
  box-shadow:inset 0 1px rgba(255,255,255,.035);
}
html[data-theme="dark"] .topbar-right > .notif-btn:hover {
  color:#f5f5f7;
  border-color:rgba(255,255,255,.18);
  background:rgba(255,255,255,.085);
  box-shadow:0 4px 12px rgba(0,0,0,.22);
}

@media (max-width:760px) {
  .topbar { height:62px; padding:0 16px; gap:10px; }
  /* Mobilde menü alttaki sabit çubuktur (top:auto; bottom:0). Buraya top:62px verilirse
     bottom:0 ile birleşip çubuğu tüm ekran boyuna uzatır ve içeriği örtüyordu. */
  .nav { top:auto; }

}

@media (max-width: 640px) {
  .msg-dock-heads { display: none; }
  .msg-panel { left: 0; top: auto; bottom: 0; transform: none; width: 100%; max-width: 100%; height: 85vh; max-height: 85vh; border-radius: 16px 16px 0 0; animation: msgSlideUp .22s ease; }
  @keyframes msgSlideUp { from { opacity: 0; transform: translateY(16px); } to { opacity: 1; transform: none; } }
}

/* Mobilde masaüstü dock'u taşımak yerine ayrı, kompakt bir erişim kapsülü kullan.
   Hızlı Not sağda kaldığı için kapsül soldadır; alt gezinmeye ve içeriğe binmez. */
@media (max-width: 760px) {
  .msg-dock {
    left:max(14px, env(safe-area-inset-left));
    right:auto;
    bottom:calc(104px + env(safe-area-inset-bottom));
    width:auto;
    max-width:none;
    min-height:54px;
    gap:6px;
    padding:5px;
    border-radius:18px;
    transform:none;
    background:
      linear-gradient(145deg, rgba(255,255,255,.2), rgba(255,255,255,.055)),
      color-mix(in srgb, var(--surface-solid, var(--surface)) 78%, transparent);
    border-color:color-mix(in srgb, #fff 34%, var(--border));
    box-shadow:
      0 12px 30px rgba(0,0,0,.22),
      0 3px 9px rgba(0,0,0,.13),
      inset 0 1px rgba(255,255,255,.28);
    backdrop-filter:saturate(155%) blur(16px);
    -webkit-backdrop-filter:saturate(155%) blur(16px);
  }
  .msg-dock::before { inset:1px; border-radius:17px; }
  /* Topçuk mobilde de çubuğun durduğu yerde açılır. */
  .floating-chat-dock {
    left:max(14px, env(safe-area-inset-left));
    bottom:calc(104px + env(safe-area-inset-bottom));
    width:48px;
    height:48px;
  }
  .floating-chat-dock-time { font-size:12px; }
  .floating-chat-dock-date { font-size:7.5px; }
  .msg-dock-close { flex:0 0 24px; width:24px; height:24px; }
  .msg-dock-clock,
  .msg-dock-separator,
  .msg-dock-heads,
  .msg-dock-label { display:none; }
  .msg-dock-btn,
  .msg-dock:hover .msg-dock-btn,
  .msg-dock:focus-within .msg-dock-btn {
    width:44px;
    height:44px;
    flex:0 0 44px;
    gap:0;
    padding:0;
    border-radius:14px;
    box-shadow:
      inset 0 1px rgba(255,255,255,.25),
      0 4px 11px color-mix(in srgb, var(--accent) 20%, transparent);
  }
  .msg-dock-btn svg { width:20px; height:20px; }
  .voice-dock-btn,
  .msg-dock:hover .voice-dock-btn,
  .msg-dock:focus-within .voice-dock-btn {
    box-shadow:
      inset 0 1px rgba(255,255,255,.25),
      0 4px 11px color-mix(in srgb, var(--bursa, #0f6e56) 22%, transparent);
  }
  .msg-dock-btn:active { transform:scale(.93); }
  .msg-dock-badge { top:-5px; right:-5px; }
  .msg-dock-online { right:-6px; bottom:-5px; }
  html.has-open-modal .msg-dock {
    transform:translateY(10px) scale(.95);
  }
  .msg-dock.bump { animation:msgDockBumpMobile .42s var(--dock-ease); }
  @keyframes msgDockBumpMobile {
    0%,100% { transform:translateY(0); }
    42% { transform:translateY(-7px); }
    72% { transform:translateY(-2px); }
  }
}

/* ===== TOPBAR HESAP / AYARLAR (yeni) ===== */
:root {
  --st-online:#34c759; --st-busy:#ff453a; --st-meeting:#ff9f0a; --st-away:#98989d;
}
.topbar-right { display:flex; align-items:center; gap:10px; margin-left:auto; }
.topbar-bell { flex:0 0 auto; }

/* Hesap çipi (avatar + isim + ofis) */
.account-chip {
  display:inline-flex; align-items:center; gap:10px;
  padding:5px 11px 5px 6px; border:1px solid rgba(0,0,0,.08);
  border-radius:99px; background:rgba(0,0,0,.018); cursor:pointer;
  font-family:inherit; color:var(--text); transition:border-color .15s ease, background .15s ease, box-shadow .15s ease;
}
.account-chip:hover { border-color:rgba(0,0,0,.16); background:#fff; box-shadow:0 4px 14px rgba(0,0,0,.06); }
.account-chip[aria-expanded="true"] { border-color:rgba(0,113,227,.4); background:#fff; box-shadow:0 0 0 3px rgba(0,113,227,.12); }
.account-avatar {
  position:relative; flex:0 0 auto; width:32px; height:32px; border-radius:50%;
  display:grid; place-items:center; color:#fff; font-size:14px; font-weight:750;
  background:var(--accent); box-shadow:inset 0 0 0 1px rgba(255,255,255,.18);
}
.account-avatar-status {
  position:absolute; right:-1px; bottom:-1px; width:11px; height:11px; border-radius:50%;
  background:var(--st-online); box-shadow:0 0 0 2.5px var(--surface-solid,#fff);
}
.account-avatar[data-status="busy"] .account-avatar-status,
[data-status="busy"] > .account-avatar-status { background:var(--st-busy); }
.account-avatar[data-status="meeting"] .account-avatar-status,
[data-status="meeting"] > .account-avatar-status { background:var(--st-meeting); }
.account-avatar[data-status="away"] .account-avatar-status,
[data-status="away"] > .account-avatar-status { background:var(--st-away); }
.account-chip-copy { display:flex; flex-direction:column; line-height:1.15; text-align:left; max-width:140px; }
.account-chip-copy b { font-size:13px; font-weight:650; letter-spacing:-.01em; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.account-chip-copy small { font-size:10.5px; font-weight:600; color:var(--muted); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.account-chevron { width:15px; height:15px; flex:0 0 auto; color:var(--muted); transition:transform .18s ease; }
.account-chip[aria-expanded="true"] .account-chevron { transform:rotate(180deg); }

/* Açılır menüler (hesap + ayarlar) ortak yerleşim */
.account-menu, .settings-menu {
  position:absolute; top:60px; right:20px; width:300px; z-index:260;
  border:1px solid rgba(0,0,0,.08); border-radius:18px;
  background:var(--surface-solid,#fff); box-shadow:0 22px 60px rgba(15,23,42,.18);
  animation:acctPop .16s ease; overflow:hidden;
}
@keyframes acctPop { from { opacity:0; transform:translateY(-8px) scale(.98); } to { opacity:1; transform:none; } }
.account-menu[hidden], .settings-menu[hidden] { display:none; }

/* Hesap kartı — Ayarlar paneliyle aynı dil: ince ayraçlar, tek tip 13/11
   punto, satır başına tek iş. Kutu içinde kutu yok. */
.account-menu { width:344px; }
.am-head { display:flex; align-items:center; gap:12px; padding:16px 16px 12px; }
.account-menu-avatar {
  position:relative; flex:0 0 auto; width:42px; height:42px; border-radius:50%;
  display:grid; place-items:center; color:#fff; font-size:17px; font-weight:700;
  background:var(--accent); box-shadow:inset 0 0 0 1px rgba(255,255,255,.18);
}
.account-menu-avatar .account-avatar-status { width:12px; height:12px; box-shadow:0 0 0 3px var(--surface-solid,#fff); }
.am-id { min-width:0; display:flex; flex-direction:column; gap:2px; }
.am-id strong { overflow:hidden; color:var(--text); font-size:14.5px; font-weight:680; letter-spacing:-.015em; text-overflow:ellipsis; white-space:nowrap; }
.am-id span { overflow:hidden; color:var(--muted); font-size:11px; font-weight:500; text-overflow:ellipsis; white-space:nowrap; }
.am-group { padding:4px 12px 10px; }
.am-group + .am-group { border-top:1px solid color-mix(in srgb, var(--text) 8%, transparent); padding-top:10px; }
.am-group h4 { display:flex; align-items:baseline; justify-content:space-between; gap:10px; margin:0 4px 7px; color:var(--muted); font-size:10px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
.account-status-now { color:var(--text); font-size:11px; font-weight:600; letter-spacing:normal; text-transform:none; }
/* Durum: çerçevesiz dört seçenek; seçili olan dolgulu. */
.am-status { display:grid; grid-template-columns:1fr 1fr; gap:4px; }
.status-opt {
  display:inline-flex; align-items:center; gap:8px; min-height:34px; padding:7px 10px;
  border:0; border-radius:10px; background:transparent;
  font-family:inherit; font-size:12px; font-weight:560; color:var(--text); cursor:pointer;
  transition:background .14s ease, color .14s ease;
}
.status-opt:hover { background:color-mix(in srgb, var(--text) 6%, transparent); }
.status-opt:focus-visible { outline:2px solid var(--accent); outline-offset:-2px; }
.status-opt .status-dot { width:8px; height:8px; border-radius:50%; flex:0 0 auto; }
.status-opt[data-status="online"] .status-dot { background:var(--st-online); }
.status-opt[data-status="busy"] .status-dot { background:var(--st-busy); }
.status-opt[data-status="meeting"] .status-dot { background:var(--st-meeting); }
.status-opt[data-status="away"] .status-dot { background:var(--st-away); }
.status-opt.active { background:color-mix(in srgb, var(--accent) 12%, transparent); color:var(--accent); font-weight:650; }
/* Satırlar: Profilim, Ayarlar, Ofis, AI harcaması, Çıkış */
.am-row, .account-office {
  display:flex; align-items:center; gap:12px; width:100%; min-height:46px; margin:0;
  padding:8px 4px; border:0; border-radius:10px; background:transparent;
  font-family:inherit; text-align:left; color:var(--text); cursor:pointer;
  transition:background .14s ease;
}
.am-row:hover, .account-office.switchable:hover { background:color-mix(in srgb, var(--text) 5%, transparent); }
.am-row:focus-visible, .account-office:focus-visible { outline:2px solid var(--accent); outline-offset:-2px; }
.am-row.is-static, .account-office { cursor:default; }
.am-row-icon { width:18px; height:18px; flex:0 0 18px; color:var(--muted); stroke-width:1.7; }
.am-spend-icon { display:grid; place-items:center; border-radius:6px; background:color-mix(in srgb, var(--accent) 14%, transparent); color:var(--accent); font-size:11px; font-weight:800; }
.am-copy { min-width:0; display:flex; flex:1; flex-direction:column; gap:2px; line-height:1.3; }
.am-copy b { overflow:hidden; color:var(--text); font-size:13px; font-weight:620; text-overflow:ellipsis; white-space:nowrap; }
.am-copy small { overflow:hidden; color:var(--muted); font-size:11px; font-weight:500; text-overflow:ellipsis; white-space:nowrap; }
.am-row-go { width:15px; height:15px; flex:0 0 15px; color:var(--muted); stroke-width:1.8; opacity:0; transition:opacity .14s ease, transform .14s ease; }
.am-row:hover .am-row-go { opacity:.8; transform:translateX(2px); }
.am-row-end { margin-left:auto; flex:0 0 auto; color:var(--accent); font-size:11px; font-weight:650; white-space:nowrap; }
.am-row-end.is-quiet { color:var(--muted); font-weight:550; }
.account-office.switchable { cursor:pointer; }
.account-office:not(.switchable) .am-row-end { display:none; }
.am-row.is-danger { width:calc(100% - 24px); margin:0 12px 8px; border-top:1px solid color-mix(in srgb, var(--text) 8%, transparent); border-radius:0; padding-top:12px; padding-bottom:12px; }
.am-row.is-danger .am-copy b, .am-row.is-danger .am-row-icon { color:#e0322d; }
.am-row.is-danger:hover { background:rgba(255,69,58,.09); }

/* Ayarlar paneli — yalın hızlı ayarlar sayfası.
   Kutu içinde kutu yok: ince ayraçlar, tek tip 13/11 punto, satır başına tek
   kontrol. İkon rozetleri kaldırıldı; panel içindeki etiketler büyük harfe
   çevrilmez (genel `label` kuralı burada sıfırlanır). */
.settings-menu { width:344px; }
.settings-menu label, .settings-menu b, .settings-menu small, .settings-menu strong, .settings-menu span {
  text-transform:none; letter-spacing:normal;
}
.qs-head { display:grid; grid-template-columns:32px minmax(0,1fr) 32px; align-items:center; gap:10px; padding:14px 14px 12px; }
.qs-head-copy { min-width:0; text-align:center; }
.qs-head-copy strong { display:block; color:var(--text); font-size:14.5px; font-weight:680; letter-spacing:-.015em; }
.qs-head-copy span { display:block; margin-top:1px; color:var(--muted); font-size:10.5px; font-weight:550; }
.qs-icon-btn { display:grid; place-items:center; width:32px; height:32px; padding:0; border:0; border-radius:10px; background:transparent; color:var(--muted); cursor:pointer; transition:background .14s ease, color .14s ease; }
.qs-icon-btn svg { width:17px; height:17px; stroke-width:1.8; }
.qs-icon-btn:hover { background:color-mix(in srgb, var(--text) 7%, transparent); color:var(--text); }
.qs-icon-btn:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
.qs-body { padding:0 6px 8px; max-height:min(72vh,540px); overflow:auto; }
.qs-group { padding:4px 10px 10px; }
.qs-group + .qs-group { border-top:1px solid color-mix(in srgb, var(--text) 8%, transparent); padding-top:12px; }
.qs-group h4 { margin:0 2px 2px; color:var(--muted); font-size:10px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
.qs-row { display:flex; align-items:center; gap:14px; min-height:46px; padding:6px 2px; border-radius:10px; }
label.qs-row { cursor:pointer; margin:0; }
.qs-row.is-stacked { display:grid; gap:9px; }
.qs-copy { min-width:0; display:flex; flex:1; flex-direction:column; gap:2px; line-height:1.3; }
.qs-copy b { color:var(--text); font-size:13px; font-weight:620; }
.qs-copy small { color:var(--muted); font-size:11px; font-weight:500; }
/* Tema seçici: tek şerit, seçili olan dolu. */
.qs-seg { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:3px; padding:3px; border-radius:11px; background:color-mix(in srgb, var(--text) 6%, transparent); }
.qs-seg button { min-width:0; height:32px; padding:0 6px; border:0; border-radius:9px; background:transparent; color:var(--muted); font-family:inherit; font-size:11px; font-weight:600; cursor:pointer; transition:background .14s ease, color .14s ease; }
.qs-seg button:hover { color:var(--text); }
.qs-seg button.active { background:var(--surface-solid, #fff); color:var(--text); font-weight:680; box-shadow:0 1px 3px rgba(10,20,35,.14); }
.qs-seg button:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
/* Panelin düğmeleri sessiz: mavi blok yerine ince çerçeve. */
.settings-menu .settings-action-btn {
  flex:0 0 auto; min-height:32px; padding:6px 13px; border:1px solid color-mix(in srgb, var(--text) 14%, transparent); border-radius:10px;
  background:transparent; color:var(--text); font-family:inherit; font-size:12px; font-weight:620; cursor:pointer;
  transition:border-color .14s ease, background .14s ease, color .14s ease, opacity .14s ease;
}
.settings-menu .settings-action-btn:hover { border-color:var(--accent); color:var(--accent); background:color-mix(in srgb, var(--accent) 8%, transparent); }
.settings-menu .settings-action-btn:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
.settings-menu .settings-action-btn.is-loading { opacity:.6; pointer-events:none; }
.settings-menu .settings-action-btn.is-ok { border-color:var(--st-online); color:var(--st-online); background:transparent; }
.settings-menu .settings-action-btn.is-error { border-color:var(--st-busy); color:var(--st-busy); background:transparent; }
.settings-menu .settings-action-btn.is-done { border-color:transparent; background:transparent; color:var(--muted); font-weight:550; }
/* Anahtar: küçük, vurgu renginde, panelin diliyle aynı. */
.qs-switch.switch { width:40px; height:23px; }
.qs-switch .slider { background:color-mix(in srgb, var(--text) 16%, transparent); transition:background .18s ease; }
.qs-switch .slider::before { width:17px; height:17px; left:3px; top:3px; box-shadow:0 1px 3px rgba(0,0,0,.28); }
.qs-switch input:checked + .slider { background:var(--accent); }
.qs-switch input:checked + .slider::before { transform:translateX(17px); }
.qs-switch input:focus-visible + .slider { outline:2px solid var(--accent); outline-offset:2px; }
/* Tüm ayarlar: panelin son satırı, kendi kutusu yok. */
.qs-all { display:flex; align-items:center; justify-content:space-between; gap:10px; width:calc(100% - 20px); margin:2px 10px 4px; padding:12px 12px; border:0; border-top:1px solid color-mix(in srgb, var(--text) 8%, transparent); border-radius:0; background:transparent; color:var(--accent); font-family:inherit; font-size:12.5px; font-weight:650; cursor:pointer; }
.qs-all svg { width:16px; height:16px; stroke-width:1.9; transition:transform .16s ease; }
.qs-all:hover svg { transform:translateX(3px); }
.qs-all:focus-visible { outline:2px solid var(--accent); outline-offset:-2px; }

/* Dark tema */
html[data-theme="dark"] .account-chip { border-color:rgba(255,255,255,.1); background:rgba(255,255,255,.05); color:#f5f5f7; }
html[data-theme="dark"] .account-chip:hover { border-color:rgba(255,255,255,.2); background:rgba(255,255,255,.09); box-shadow:none; }
html[data-theme="dark"] .account-chip[aria-expanded="true"] { border-color:rgba(96,178,255,.5); background:rgba(255,255,255,.09); box-shadow:0 0 0 3px rgba(10,132,255,.18); }
html[data-theme="dark"] .account-avatar-status { box-shadow:0 0 0 2.5px #242426; }
html[data-theme="dark"] .account-menu, html[data-theme="dark"] .settings-menu { border-color:rgba(255,255,255,.1); background:#242426; box-shadow:0 24px 70px rgba(0,0,0,.5); color:#f5f5f7; }
html[data-theme="dark"] .account-menu-avatar .account-avatar-status { box-shadow:0 0 0 3px #242426; }
html[data-theme="dark"] .am-id span,
html[data-theme="dark"] .am-group h4,
html[data-theme="dark"] .am-copy small,
html[data-theme="dark"] .am-row-icon,
html[data-theme="dark"] .am-row-go,
html[data-theme="dark"] .am-row-end.is-quiet,
html[data-theme="dark"] .qs-head-copy span,
html[data-theme="dark"] .qs-group h4,
html[data-theme="dark"] .qs-copy small { color:#98989d; }
html[data-theme="dark"] .qs-seg { background:rgba(255,255,255,.05); }
html[data-theme="dark"] .qs-seg button.active { background:rgba(255,255,255,.14); color:#f5f5f7; box-shadow:none; }
html[data-theme="dark"] .qs-icon-btn:hover { background:rgba(255,255,255,.08); color:#f5f5f7; }
html[data-theme="dark"] .settings-menu .settings-action-btn { border-color:rgba(255,255,255,.14); color:#f5f5f7; }
html[data-theme="dark"] .settings-menu .settings-action-btn.is-done { border-color:transparent; color:#98989d; }
html[data-theme="dark"] .qs-switch .slider { background:rgba(255,255,255,.16); }
html[data-theme="dark"] .qs-switch input:checked + .slider { background:#0a84ff; }
html[data-theme="dark"] .account-status-now,
html[data-theme="dark"] .am-copy b { color:#f5f5f7; }
html[data-theme="dark"] .status-opt { color:#f5f5f7; }
html[data-theme="dark"] .status-opt:hover { background:rgba(255,255,255,.08); }
html[data-theme="dark"] .status-opt.active { background:rgba(10,132,255,.2); color:#64aef7; }
html[data-theme="dark"] .am-group + .am-group,
html[data-theme="dark"] .am-row.is-danger,
html[data-theme="dark"] .qs-group + .qs-group,
html[data-theme="dark"] .qs-all { border-color:rgba(255,255,255,.08); background-color:transparent; }
html[data-theme="dark"] .am-row:hover,
html[data-theme="dark"] .account-office.switchable:hover { background:rgba(255,255,255,.06); }
html[data-theme="dark"] .am-row.is-danger .am-copy b,
html[data-theme="dark"] .am-row.is-danger .am-row-icon { color:#ff6b66; }
html[data-theme="dark"] .am-row.is-danger:hover { background:rgba(255,69,58,.14); }
html[data-theme="dark"] .am-spend-icon { background:rgba(10,132,255,.2); color:#64aef7; }

@media (max-width:760px) {
  .account-chip-copy { display:none; }
  .account-chip { padding:5px; gap:0; }
  .account-chevron { display:none; }
  .account-menu, .settings-menu { right:12px; left:12px; width:auto; top:58px; }
  .settings-menu { width:auto; }
}

/* ===== BİLDİRİM MERKEZİ (yeni) ===== */
.notif-panel { width:min(420px,calc(100vw - 24px)); max-height:none; padding:0; overflow:visible; }
.notif-panel.open { display:flex; flex-direction:column; }
.notif-panel-header { padding:14px 16px 10px; border-bottom:none; }
.notif-panel-title { font-size:15px; font-weight:750; letter-spacing:-.02em; }
.notif-readall {
  border:1px solid transparent; border-radius:8px; background:transparent;
  color:var(--accent); font-family:inherit; font-size:11.5px; font-weight:700; cursor:pointer; padding:4px 8px;
  transition:background .14s ease;
}
.notif-readall:hover { background:var(--accent-soft,rgba(0,113,227,.1)); }
/* Grup geçişi: A (Genel) / B (Bahsedilenler) */

.notif-list { flex:1; overflow-y:auto; max-height:min(460px,calc(100vh - 245px)); padding:6px 0; }

.notif-item {
  display:flex; align-items:flex-start; gap:11px; padding:10px 16px 10px 13px; border-bottom:none;
  position:relative; cursor:pointer; transition:background .12s ease;
}
.notif-item::before {
  content:''; position:absolute; left:0; top:8px; bottom:8px; width:3px; border-radius:0 3px 3px 0;
  background:transparent;
}
.notif-item.unread::before { background:var(--accent); }
.notif-item.unread { background:color-mix(in srgb, var(--accent) 5%, transparent); }
.notif-item.pending { background:color-mix(in srgb, #ff9f0a 7%, transparent); }
.notif-item.pending::before { background:#ff9f0a; }
.notif-item.critical.pending { background:color-mix(in srgb, var(--danger,#ff453a) 8%, transparent); }
.notif-item.critical.pending::before { background:var(--danger,#ff453a); }
.notif-ico {
  flex:0 0 auto; width:34px; height:34px; border-radius:10px; display:grid; place-items:center; margin-top:1px;
}
.notif-ico svg { width:17px; height:17px; }
.notif-ico.k-ticket { color:#0071e3; background:rgba(0,113,227,.12); }
.notif-ico.k-order { color:#30b85a; background:rgba(48,184,90,.13); }
.notif-ico.k-price { color:#ff9f0a; background:rgba(255,159,10,.14); }
.notif-ico.k-calendar,.notif-ico.k-reminder { color:#7c3aed; background:rgba(124,58,237,.12); }
.notif-body { flex:1; min-width:0; }
.notif-item-title { font-size:13px; font-weight:650; line-height:1.3; color:var(--text); }
.notif-item-sub { margin-top:2px; font-size:11.5px; font-weight:550; color:var(--muted); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }

.notif-empty { padding:34px 16px; text-align:center; color:var(--muted); font-size:13px; }
.notif-panel-foot { padding:8px; border-top:1px solid var(--border); }
.notif-history-btn {
  width:100%; display:inline-flex; align-items:center; justify-content:center; gap:7px;
  padding:9px; border:none; border-radius:10px; background:rgba(127,127,127,.06);
  font-family:inherit; font-size:12.5px; font-weight:700; color:var(--text); cursor:pointer; transition:background .14s ease;
}
.notif-history-btn:hover { background:rgba(127,127,127,.12); }

/* Bildirim Merkezi modalı */
.notif-center-overlay {
  position:fixed; inset:0; z-index:400; display:flex; align-items:flex-start; justify-content:center;
  padding:6vh 16px 16px; background:rgba(8,12,20,.5); backdrop-filter:blur(4px); animation:acctPop .16s ease;
}
.notif-center {
  width:100%; max-width:680px; max-height:90vh; display:flex; flex-direction:column;
  border:1px solid var(--border); border-radius:20px; background:var(--surface-solid,#fff);
  box-shadow:0 30px 80px rgba(8,12,20,.4); overflow:hidden;
}
.notif-center-head { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; padding:18px 20px 14px; }
.notif-center-head-copy strong { display:block; font-size:18px; font-weight:780; letter-spacing:-.03em; }
.notif-center-head-copy span { display:block; margin-top:2px; font-size:12px; font-weight:600; color:var(--muted); }
.notif-center-head-actions { display:flex; align-items:center; gap:6px; }
.notif-center-close { width:32px; height:32px; flex:0 0 auto; display:grid; place-items:center; padding:0; border:1px solid transparent; border-radius:10px; background:transparent; font-size:22px; line-height:1; color:var(--muted); cursor:pointer; }
.notif-center-close:hover { background:rgba(127,127,127,.1); color:var(--text); }

.notif-center-body { flex:1; overflow-y:auto; padding:6px 4px 12px; }
.notif-center-body .notif-item { padding:12px 18px; }
.notif-center-body .notif-item-sub { white-space:normal; }
.notif-day-sep { padding:14px 18px 6px; font-size:10.5px; font-weight:750; letter-spacing:.08em; text-transform:uppercase; color:var(--muted); }

/* Dark tema */
html[data-theme="dark"] .notif-readall:hover { background:rgba(10,132,255,.16); }

html[data-theme="dark"] .notif-history-btn { background:rgba(255,255,255,.05); }
html[data-theme="dark"] .notif-history-btn:hover { background:rgba(255,255,255,.1); }
html[data-theme="dark"] .notif-center { border-color:rgba(255,255,255,.1); background:#1c1c1e; box-shadow:0 30px 80px rgba(0,0,0,.6); }
html[data-theme="dark"] .notif-center-close:hover { background:rgba(255,255,255,.08); }
html[data-theme="dark"] .notif-ico.k-ticket { color:#64aef7; background:rgba(10,132,255,.16); }
html[data-theme="dark"] .notif-ico.k-order { color:#4ade80; background:rgba(48,184,90,.16); }
html[data-theme="dark"] .notif-ico.k-price { color:#fbbf24; background:rgba(255,159,10,.18); }
html[data-theme="dark"] .notif-ico.k-calendar,html[data-theme="dark"] .notif-ico.k-reminder { color:#b794f6; background:rgba(139,92,246,.18); }
html[data-theme="dark"] .notif-item.pending { background:rgba(255,159,10,.08); }

html[data-theme="dark"] .notif-item.critical.pending { background:rgba(255,69,58,.1); }

@media (max-width:640px) {
  .notif-panel { width:auto; }
  .notif-center-overlay { padding:0; align-items:flex-end; }
  .notif-center { max-width:100%; max-height:92vh; border-radius:18px 18px 0 0; }

}

/* Single-line desktop chrome: the floating page dock shares this bar. */
@media (hover:hover) and (min-width:781px) {
  .topbar {
    height:64px;
    padding-right:28px;
    padding-left:28px;
  }
  
}

/* İyimser sohbet gönderimi: bekleyen/başarısız balon durumu */
.msg-bubble.is-pending { opacity:.72; }
.msg-bubble.is-failed { box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--danger,#e5484d) 70%,transparent); }
.msg-time.is-pending .msg-pin { display:none; }
.msg-state { display:inline-flex; align-items:center; gap:6px; color:var(--muted); }
.msg-state svg { width:12px; height:12px; }
.msg-state[data-state="sent"] { color:var(--accent); }
.msg-state[data-state="failed"] { color:var(--danger,#e5484d); font-weight:650; }
.msg-state-action {
  padding:1px 7px; border:1px solid currentColor; border-radius:999px;
  background:transparent; color:inherit; font:650 10px inherit; cursor:pointer;
}
.msg-state-action:hover,.msg-state-action:focus-visible { background:color-mix(in srgb,var(--danger,#e5484d) 12%,transparent); }

/* Kişi sohbeti: Görüldü + yazıyor… (2026-11-04). Görüldü yalnız son mesaj
   benimse, sağda, saat satırının altında sakin bir satır. */
.msg-seen { align-self:flex-end; margin:-3px 4px 8px; font-size:10px; color:var(--muted); letter-spacing:.01em; animation:msgSeenIn .24s ease-out; }
@keyframes msgSeenIn { from { opacity:0; transform:translateY(-2px); } to { opacity:1; transform:none; } }
.msg-convo-status.is-typing { color:var(--accent, #3b82f6); }
.msg-typing-dots { display:inline-flex; gap:2px; margin-left:3px; vertical-align:middle; }
.msg-typing-dots i { width:3px; height:3px; border-radius:50%; background:currentColor; opacity:.35; animation:msgTypingDot 1.1s infinite ease-in-out; }
.msg-typing-dots i:nth-child(2) { animation-delay:.15s; }
.msg-typing-dots i:nth-child(3) { animation-delay:.3s; }
@keyframes msgTypingDot { 0%,60%,100% { opacity:.35; transform:none; } 30% { opacity:1; transform:translateY(-2px); } }
.msg-user-sub .is-typing { color:var(--accent, #3b82f6); }
@media (prefers-reduced-motion: reduce) { .msg-seen, .msg-typing-dots i { animation:none; } }
/* Profil paneli altı: görünen sürüm (2026-11-05). Sessiz, tek satır. */
.am-version { margin:-2px 0 0; padding:0 24px 12px; font-size:11px; line-height:1.4; color:var(--muted); font-variant-numeric:tabular-nums; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; user-select:text; }
.am-version:empty { display:none; }

/* ── assets/styles/notes.css ── */
/* ─── Hızlı Notlar ────────────────────────────────────────────────────────
   Apple Notes'in sakin, kâğıt odaklı hissi; mevcut Dashboard tasarım diliyle.
   Bu dosya yalnızca Notlar ürün yüzeyini ve paylaşılan sohbet kartını etkiler. */

.notes-page {
  max-width: 1580px;
  min-height: 0;
  padding: 22px;
}

.workspace-notes-app {
  --notes-yellow: #ffcc3d;
  --notes-ink: #1d1d1f;
  --notes-muted: #77777c;
  display: grid;
  grid-template-columns: 230px 340px minmax(0, 1fr);
  min-height: 0;
  height: calc(100dvh - 158px);
  max-height: 1040px;
  overflow: hidden;
  color: var(--notes-ink);
  background: #fff;
  border: 1px solid rgba(32, 31, 29, .1);
  border-radius: 26px;
  box-shadow: 0 24px 70px rgba(38, 36, 31, .12), 0 2px 8px rgba(38, 36, 31, .05);
}

.notes-loading {
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 13px;
  color: #77777c;
  background: #fbfbfa;
}

.notes-loading span,
.notes-dialog-loading span {
  width: 20px;
  height: 20px;
  border: 2px solid rgba(255, 159, 10, .22);
  border-top-color: #f59e0b;
  border-radius: 50%;
  animation: notes-spin .7s linear infinite;
}

@keyframes notes-spin { to { transform: rotate(360deg); } }

/* Sidebar */
.notes-sidebar {
  display: flex;
  min-width: 0;
  min-height: 0;
  flex-direction: column;
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: 22px 14px 16px;
  background:
    radial-gradient(circle at 15% 0%, rgba(255, 206, 70, .18), transparent 35%),
    linear-gradient(180deg, #f3f2ef, #ecebe7);
  border-right: 1px solid rgba(31, 31, 31, .08);
}

.notes-sidebar nav { display: grid; gap: 5px; }

.notes-side-item {
  display: grid;
  grid-template-columns: 26px minmax(0, 1fr) auto;
  align-items: center;
  min-height: 42px;
  padding: 7px 10px;
  color: #454441;
  background: transparent;
  border: 0;
  border-radius: 11px;
  font: inherit;
  cursor: pointer;
  text-align: left;
  transition: background .15s, color .15s, transform .15s;
}

.notes-side-item:hover { background: rgba(255, 255, 255, .58); }
.notes-side-item:active { transform: scale(.985); }
.notes-side-item.active { color: #26220f; background: rgba(255, 199, 42, .56); box-shadow: inset 0 0 0 1px rgba(212, 151, 0, .08); }
.notes-side-item > span { font-size: 17px; text-align: center; }
.notes-side-item strong { overflow: hidden;  font-weight: 650; text-overflow: ellipsis; white-space: nowrap; }
.notes-side-item b { min-width: 23px; color: #8a877e;  font-weight: 600; text-align: right; }
.notes-side-item.active b { color: #65531c; }

.notes-sidebar-foot {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: auto;
  padding: 14px 9px 2px;
  color: #77756f;
  border-top: 1px solid rgba(30, 30, 30, .07);
  
}

.notes-sync-dot {
  display: inline-block;
  flex: 0 0 auto;
  width: 7px;
  height: 7px;
  background: #34c759;
  border-radius: 50%;
  box-shadow: 0 0 0 3px rgba(52, 199, 89, .12);
}

.notes-sync-dot.saving { background: #ff9f0a; box-shadow: 0 0 0 3px rgba(255, 159, 10, .13); animation: notes-pulse 1s ease infinite; }
@keyframes notes-pulse { 50% { opacity: .35; } }

/* Note list */
.notes-list-pane {
  display: flex;
  min-width: 0;
  min-height: 0;
  flex-direction: column;
  overflow: hidden;
  background: #f9f9f8;
  border-right: 1px solid rgba(31, 31, 31, .09);
}

.notes-list-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 23px 18px 13px;
}

.notes-list-head h2 { margin: 0;  line-height: 1.15; letter-spacing: -.035em; }
.notes-list-head > div > span { display: block; margin-top: 4px; color: #89898e; font-size: 11px; }
.notes-list-head-actions { display: flex; align-items: center; gap: 7px; }
.notes-select-btn {
  min-height: 32px;
  padding: 6px 10px;
  color: #7a5a07;
  background: #fff8dc;
  border: 1px solid rgba(199, 143, 0, .16);
  border-radius: 9px;
  font: 700 10.5px inherit;
  cursor: pointer;
}
.notes-select-btn:hover:not(:disabled), .notes-select-btn.active { background: #ffefae; }
.notes-select-btn:disabled { cursor: default; opacity: .42; }
.notes-new-btn {
  display: grid;
  width: 35px;
  height: 35px;
  flex: 0 0 auto;
  place-items: center;
  padding: 0 0 2px;
  color: #805a00;
  background: #ffd95f;
  border: 0;
  border-radius: 50%;
  box-shadow: 0 5px 14px rgba(175, 116, 0, .17);
  font-size: 23px;
  cursor: pointer;
  transition: transform .15s, filter .15s;
}
.notes-new-btn:hover { filter: brightness(.98); transform: translateY(-1px); }
.notes-new-btn:active { transform: scale(.94); }

.notes-search {
  display: flex;
  align-items: center;
  gap: 7px;
  margin: 0 14px 12px;
  padding: 8px 11px;
  color: #8a8a8f;
  background: #ececea;
  border: 1px solid transparent;
  border-radius: 10px;
  transition: background .15s, border-color .15s, box-shadow .15s;
}

.notes-search:focus-within { background: #fff; border-color: rgba(255, 159, 10, .55); box-shadow: 0 0 0 3px rgba(255, 159, 10, .1); }
.notes-search > span { font-size: 18px; line-height: 1; }
.notes-search input {
  width: 100%;
  min-width: 0;
  padding: 0;
  color: #242426;
  background: transparent;
  border: 0;
  outline: 0;
  font: 500 12.5px inherit;
}

.notes-bulk-bar {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 7px 10px;
  margin: 0 14px 10px;
  padding: 9px 10px;
  background: #fff8dc;
  border: 1px solid rgba(199, 143, 0, .14);
  border-radius: 11px;
}
.notes-bulk-bar > button, .notes-bulk-bar > span button {
  min-height: 28px;
  padding: 5px 8px;
  color: #6d5517;
  background: #fff;
  border: 1px solid rgba(130, 101, 25, .16);
  border-radius: 8px;
  font: 700 9.5px inherit;
  cursor: pointer;
}
.notes-bulk-bar > strong { color: #8a743c; font-size: 9.5px; text-align: right; }
.notes-bulk-bar > span { display: flex; grid-column: 1 / -1; justify-content: flex-end; gap: 6px; }
.notes-bulk-bar button.restore { color: #276445; background: #effaf3; border-color: #cfe9d8; }
.notes-bulk-bar button.delete { color: #c92833; background: #fff1f2; border-color: #f3cdd1; }
.notes-bulk-bar button:disabled { cursor: default; opacity: .4; }

.notes-list {
  min-height: 0;
  flex: 1 1 auto;
  overflow-x: hidden;
  overflow-y: auto;
  padding: 0 10px 16px;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
  -webkit-overflow-scrolling: touch;
}
.notes-list-item {
  position: relative;
  display: flex;
  width: 100%;
  min-height: 103px;
  margin: 2px 0;
  padding: 14px 13px 12px 16px;
  overflow: hidden;
  color: #242426;
  background: transparent;
  border: 0;
  border-bottom: 1px solid rgba(31, 31, 31, .075);
  border-radius: 12px;
  font: inherit;
  cursor: pointer;
  text-align: left;
  transition: background .14s, box-shadow .14s;
}

.notes-list-item:hover { background: rgba(255, 255, 255, .72); }
.notes-list-item.active { background: #fff2bd; border-color: transparent; box-shadow: inset 0 0 0 1px rgba(216, 157, 0, .12); }
.notes-list-item.bulk-selected { background: #fff0aa; border-color: transparent; box-shadow: inset 0 0 0 1px rgba(216, 157, 0, .16); }
.notes-list-item.bulk-disabled { cursor: not-allowed; opacity: .48; }
.notes-list-item.bulk-selectable .notes-list-copy, .notes-list-item.bulk-disabled .notes-list-copy { margin-left: 34px; }
.notes-bulk-check {
  position: absolute;
  left: 13px;
  top: 50%;
  display: grid;
  width: 21px;
  height: 21px;
  place-items: center;
  color: #fff;
  background: #fff;
  border: 1.5px solid #c9c7c0;
  border-radius: 50%;
  font-size: 11px;
  font-weight: 850;
  transform: translateY(-50%);
}
.notes-list-item.bulk-selected .notes-bulk-check { background: #e3a900; border-color: #d69f00; box-shadow: 0 0 0 3px rgba(227, 169, 0, .12); }
.notes-list-item.bulk-disabled .notes-bulk-check { color: #a4a39e; background: #eee; border-color: #ddd; }
/* Takvim notlarında seçim: kutucuk için yer aç ve paylaşılan notu ayır
   (paylaşılan silinirse herkesten kalkar, bu yüzden ayrı onay istenir). */
.notes-calendar-item.bulk-selectable .notes-list-copy { margin-left: 34px; }
.notes-calendar-item.is-shared-note.bulk-selected .notes-bulk-check { background: #c92833; border-color: #b52028; box-shadow: 0 0 0 3px rgba(201,40,51,.12); }
.notes-list-accent { position: absolute; inset: 15px auto 15px 0; width: 3px; border-radius: 3px; }
.notes-list-accent.c-yellow { background: #f2b90b; }
.notes-list-accent.c-blue { background: #4d9cff; }
.notes-list-accent.c-mint { background: #35b98b; }
.notes-list-accent.c-pink { background: #f25a8c; }
.notes-list-accent.c-lavender { background: #9b7be6; }
.notes-list-copy { display: block; min-width: 0; width: 100%; }
.notes-list-copy > strong { display: block; overflow: hidden; font-size: 13.5px; font-weight: 730; letter-spacing: -.01em; text-overflow: ellipsis; white-space: nowrap; }
.notes-list-copy > strong i { margin-right: 6px; color: #d49500; font-size: 10px; font-style: normal; }
.notes-list-copy small { display: block; margin-top: 7px; overflow: hidden; color: #707075;  line-height: 1.45; text-overflow: ellipsis; white-space: nowrap; }
.notes-list-copy time { margin-right: 8px; color: #313136; font-weight: 650; }
.notes-list-copy em { display: block; margin-top: 7px; color: #9a8a5b;  font-style: normal; font-weight: 600; }
.notes-list-empty { display: grid; min-height: 280px; place-content: center; justify-items: center; padding: 30px; color: #9a9995; text-align: center; }
.notes-list-empty > span { display: grid; width: 51px; height: 51px; place-items: center; margin-bottom: 14px; color: #b68200; background: #fff2bd; border-radius: 16px; font-size: 25px; }
.notes-list-empty strong { color: #5c5b57; font-size: 14px; }
.notes-list-empty small { max-width: 210px; margin-top: 5px; font-size: 11px; }

/* Takvimin gerçek notları — çalışma alanı notlarından ayrı, günlere göre */
.notes-calendar-list { padding-top: 2px; }
.notes-calendar-group { margin: 0 0 14px; }
.notes-calendar-group > h3 {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 8px;
  margin: 0;
  padding: 10px 8px 5px;
  color: #313136;
  font-size: 11.5px;
  letter-spacing: -.01em;
}
.notes-calendar-group > h3 time { color: #a0a0a4; font-size: 9px; font-weight: 600; }
.notes-calendar-item { min-height: 88px; margin-bottom: 2px; }
.notes-calendar-item.is-locked { opacity: .72; }
.notes-calendar-loading {
  display: flex;
  min-height: 250px;
  align-items: center;
  justify-content: center;
  gap: 10px;
  color: #8e8e93;
  font-size: 11px;
}
.notes-calendar-loading > span {
  width: 17px;
  height: 17px;
  border: 2px solid rgba(255, 159, 10, .2);
  border-top-color: #e7a000;
  border-radius: 50%;
  animation: notes-spin .7s linear infinite;
}

/* Editor */
.notes-editor-pane { min-width: 0; min-height: 0; overflow: hidden; background: #fffefa; }
.notes-editor-shell { position: relative; display: flex; height: 100%; min-width: 0; min-height: 0; flex-direction: column; overflow: hidden; background: #fffefa; }
.notes-editor-shell::before { content: ''; position: absolute; inset: 0 0 auto; height: 3px; z-index: 3; }
.notes-editor-shell.c-yellow::before { background: #f5bf1f; }
.notes-editor-shell.c-blue::before { background: #4d9cff; }
.notes-editor-shell.c-mint::before { background: #35b98b; }
.notes-editor-shell.c-pink::before { background: #f25a8c; }
.notes-editor-shell.c-lavender::before { background: #9b7be6; }

.notes-editor-topbar {
  display: flex;
  min-height: 64px;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 20px;
  background: rgba(255, 255, 255, .9);
  border-bottom: 1px solid rgba(31, 31, 31, .075);
  backdrop-filter: blur(18px);
}

.notes-editor-status { display: flex; align-items: center; gap: 8px; color: #8a8a8f; font-size: 10.5px; white-space: nowrap; }
.notes-top-actions { display: flex; min-width: 0; align-items: center; justify-content: flex-end; gap: 6px; }
.notes-top-actions button,
.notes-mobile-back {
  display: inline-flex;
  min-height: 34px;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 6px 10px;
  color: #66501a;
  background: #fff8dc;
  border: 1px solid rgba(199, 143, 0, .16);
  border-radius: 10px;
  font: 650 11px inherit;
  cursor: pointer;
  white-space: nowrap;
  transition: background .15s, transform .15s;
}
.notes-top-actions button:hover { background: #ffefae; }
.notes-top-actions button:active { transform: scale(.97); }

.notes-top-actions .notes-delete-action,
.notes-top-actions .notes-permanent-action { color: #c92833; background: #fff2f2; border-color: rgba(215,0,21,.12); }
.notes-top-actions .notes-delete-action:hover,
.notes-top-actions .notes-permanent-action:hover { color: #b41420; background: #ffe6e8; }
.notes-mobile-back { display: none; color: #8a6500; background: transparent; border: 0; }

.notes-formatbar {
  display: flex;
  min-height: 48px;
  align-items: center;
  gap: 5px;
  padding: 7px 20px;
  overflow-x: auto;
  background: #fbfbfa;
  border-bottom: 1px solid rgba(31, 31, 31, .07);
  scrollbar-width: none;
}
.notes-formatbar::-webkit-scrollbar { display: none; }
.notes-formatbar button,
.notes-formatbar select {
  width: auto;
  min-width: 34px;
  height: 32px;
  padding: 5px 9px;
  color: #55555a;
  background: #fff;
  border: 1px solid #e6e5e1;
  border-radius: 8px;
  font: 600 11px inherit;
  cursor: pointer;
  white-space: nowrap;
}
.notes-formatbar button:hover:not(:disabled), .notes-formatbar select:hover:not(:disabled) { color: #6e5000; background: #fff7d9; border-color: #f0d67f; }
.notes-formatbar button:disabled, .notes-formatbar select:disabled { cursor: default; opacity: .45; }
.notes-formatbar select { margin-left: auto; padding-right: 25px; }

.notes-paper { display: flex; width: min(880px, 100%); min-height: 0; flex: 1; flex-direction: column; margin: 0 auto; padding: 36px 50px 22px; overflow-x: hidden; overflow-y: auto; overscroll-behavior: contain; scrollbar-gutter: stable; -webkit-overflow-scrolling: touch; }
.notes-paper-date { color: #a0a0a5;  text-align: center; }
.notes-body-input {
  width: 100%;
  color: #1d1d1f;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  outline: 0;
  resize: none;
}

.notes-body-input {
  min-height: 320px;
  flex: 1;
  
  padding: 0 0 30px;
  font: 400 16px/1.68 var(--font);
  letter-spacing: -.005em;
  
  background-attachment: local;
  caret-color: #d28b00;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}
.notes-body-input:empty::before { content: attr(data-placeholder); color: #b4b4b8; pointer-events: none; }
.notes-body-input:has(> br:only-child)::before { content: attr(data-placeholder); color: #b4b4b8; pointer-events: none; }
.notes-body-input[contenteditable="false"] { cursor: default; }
.notes-body-input div, .notes-body-input p { min-height: 1.68em; margin: 0; }
.notes-body-input h1, .notes-body-input h2, .notes-body-input h3 { margin: .42em 0 .18em; color: #232326; font-weight: 750; letter-spacing: -.025em; }
.notes-body-input h2 { font-size: 1.45em; line-height: 1.35; }
.notes-body-input ul, .notes-body-input ol { margin: .2em 0 .5em; padding-left: 1.45em; }
.notes-body-input li { min-height: 1.68em; padding-left: .15em; }
.notes-body-input hr { height: 1px; margin: .8em 0; background: rgba(76,91,107,.22); border: 0; }

.notes-smart-row { display: flex; min-height: 30px; flex-wrap: wrap; align-items: center; gap: 6px; padding-top: 12px; border-top: 1px solid rgba(31, 31, 31, .065); }
.notes-mention-menu {
  position:sticky;
  z-index:24;
  top:0;
  flex: 0 0 auto;
  max-height: 230px;
  margin: 12px 0 0;
  padding: 6px;
  overflow: auto;
  background: rgba(255,255,255,.98);
  border: 1px solid #e5e2d9;
  border-radius: 13px;
  box-shadow: 0 16px 42px rgba(31,28,20,.15);
}
.notes-mention-menu[hidden] { display: none; }
.notes-mention-menu > button { display: grid; width: 100%; grid-template-columns: 31px minmax(0,1fr); align-items: center; gap: 9px; padding: 7px 9px; color: #333337; background: transparent; border: 0; border-radius: 9px; font: inherit; cursor: pointer; text-align: left; }
.notes-mention-menu > button:hover, .notes-mention-menu > button.active { background: #fff4c8; }
.notes-mention-menu > button > span { display: grid; width: 29px; height: 29px; place-items: center; color: #fff; background: #1785d1; border-radius: 9px; font-size: 9px; font-weight: 800; }
.notes-mention-menu > button > span.user { border-radius: 50%; }
.notes-mention-menu > button > span.customer { background: #7b61c8; }
.notes-mention-menu > button > span.order { background: #268d68; }
.notes-mention-menu > button div { min-width: 0; }
.notes-mention-menu > button strong, .notes-mention-menu > button small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.notes-mention-menu > button strong { font-size: 11.5px; }
.notes-mention-menu > button small { margin-top: 2px; color: #8a8a8f; font-size: 9.5px; }
.notes-reference-chips{display:flex;min-height:32px;flex-wrap:wrap;align-items:center;justify-content:center;gap:7px;margin:16px 0 0}
.notes-reference-chips[hidden]{display:none}
.notes-reference-chips>button,.notes-reference-chips>span{min-width:0;max-width:100%;display:inline-flex;align-items:center;gap:7px;padding:6px 9px;border:1px solid transparent;border-radius:999px;font:inherit}
.notes-reference-chips>button{cursor:pointer;transition:transform .14s ease,filter .14s ease}
.notes-reference-chips>button:hover{transform:translateY(-1px);filter:brightness(1.03)}
.notes-reference-chips>button>span,.notes-reference-chips>span>span{font-size:9px;font-weight:800;opacity:.72}
.notes-reference-chips b{overflow:hidden;max-width:260px;font-size:12px;text-overflow:ellipsis;white-space:nowrap}
.notes-reference-chips i{font-size:10px;font-style:normal;opacity:.72}
.notes-reference-chips .is-customer{color:#6840a8;background:#f2eaff;border-color:#dfcefa}
.notes-reference-chips .is-order{color:#176d50;background:#e9f8f1;border-color:#c9ebdb}
html[data-theme="dark"] .notes-reference-chips .is-customer{color:#d5baff;background:rgba(139,92,246,.16);border-color:rgba(177,137,240,.25)}
html[data-theme="dark"] .notes-reference-chips .is-order{color:#8cddb9;background:rgba(38,141,104,.16);border-color:rgba(87,188,151,.24)}
.notes-smart-chip { display: inline-flex; min-height: 25px; align-items: center; padding: 4px 9px; color: #665a34; background: #fff6d3; border: 1px solid rgba(215, 166, 27, .14); border-radius: 999px;  font-weight: 650; }
.notes-smart-chip.mention { color: #7651af; background: #f2eaff; border-color: #e3d1ff; }
.notes-smart-chip.link { color: #1769aa; background: #e9f5ff; border-color: #cbe8ff; }
.notes-smart-chip.time { color: #126fae; background: #e9f7ff; border-color: #c8e9fa; }
.notes-smart-chip.priority { color: #a34700; background: #fff0de; border-color: #ffd9ad; }
.notes-smart-chip.calendar { color: #147743; background: #e8f8ef; border-color: #c8edd8; }

.notes-editor-footer { display: flex; min-height: 46px; align-items: center; gap: 12px; padding: 8px 20px; color: #96969a; background: #fbfbfa; border-top: 1px solid rgba(31, 31, 31, .07); font-size: 10.5px; }
.notes-editor-footer > span { margin-left: auto; }
.notes-editor-footer > strong { color: #8d6900; font-size: 10px; }
.notes-collab-avatars { display: flex; align-items: center; padding-left: 4px; }
.notes-collab-avatars > span, .notes-collab-avatars > b { display: grid; width: 27px; height: 27px; place-items: center; margin-left: -5px; color: #fff; border: 2px solid #fbfbfa; border-radius: 50%; font-size: 8px; font-weight: 800; }
.notes-collab-avatars > b { color: #6e6e73; background: #e9e9e7; }

.notes-editor-empty { display: grid; height: 100%; place-content: center; justify-items: center; padding: 40px; color: #909095; text-align: center; background: radial-gradient(circle at 50% 45%, #fffdf4, #fff 45%); }
.notes-editor-empty > span { display: grid; width: 74px; height: 74px; place-items: center; color: #9c7100; background: linear-gradient(145deg, #ffe582, #ffc83e); border-radius: 22px; box-shadow: 0 14px 35px rgba(191, 127, 0, .16); font-size: 38px; }
.notes-editor-empty h2 { margin: 20px 0 5px; color: #343437; font-size: 19px; }
.notes-editor-empty p { max-width: 330px; margin: 0; font-size: 12px; }
.notes-editor-empty button { margin-top: 20px; padding: 9px 15px; color: #614800; background: #ffd860; border: 0; border-radius: 10px; font: 700 12px inherit; cursor: pointer; }

.notes-bulk-editor { display: grid; height: 100%; place-content: center; justify-items: center; padding: 40px; color: #8a8a8f; text-align: center; background: radial-gradient(circle at 50% 45%, #fffdf4, #fff 46%); }
.notes-bulk-editor > span { display: grid; width: 72px; height: 72px; place-items: center; color: #795900; background: #ffdf72; border-radius: 50%; box-shadow: 0 14px 36px rgba(191,127,0,.14); font-size: 30px; font-weight: 800; }
.notes-bulk-editor h2 { margin: 19px 0 5px; color: #343437; font-size: 20px; }
.notes-bulk-editor p { max-width: 360px; margin: 0; font-size: 12px; line-height: 1.5; }
.notes-bulk-editor > div { display: flex; gap: 8px; margin-top: 20px; }
.notes-bulk-editor button { min-height: 38px; padding: 8px 14px; border-radius: 10px; font: 750 11px inherit; cursor: pointer; }
.notes-bulk-editor button.restore { color: #276445; background: #effaf3; border: 1px solid #cfe9d8; }
.notes-bulk-editor button.delete { color: #c92833; background: #fff1f2; border: 1px solid #f3cdd1; }

.notes-calendar-paper {
  width: min(820px, 100%);
  min-height: 0;
  flex: 1;
  margin: 0 auto;
  padding: 48px 58px 36px;
  overflow: auto;
  background-image: repeating-linear-gradient(to bottom, transparent 0, transparent 31px, rgba(87, 115, 145, .12) 31px, rgba(87, 115, 145, .12) 32px);
  background-position: 0 176px;
}
.notes-calendar-date { color: #9b9ba0; text-align: center; }
.notes-calendar-date strong { display: block; color: #77777c; font-size: 12px; font-weight: 720; }
.notes-calendar-date small { display: block; margin-top: 3px; font-size: 9.5px; font-weight: 500; text-transform: capitalize; }
.notes-calendar-paper h1 { margin: 21px 0 8px; color: #1d1d1f; font-size: 27px; line-height: 1.2; letter-spacing: -.035em; }
.notes-calendar-time { display: inline-flex; min-height: 27px; align-items: center; margin: 3px 0 16px; padding: 4px 9px; color: #176fa8; background: #eaf6ff; border-radius: 999px; font-size: 11px; font-weight: 750; }
.notes-calendar-body { min-height: 260px; color: #2d2d30;  line-height: 2; overflow-wrap: anywhere; }
.notes-calendar-paper .notes-smart-row { margin-top: 22px; }
.notes-calendar-locked {
  display: grid;
  min-height: 0;
  flex: 1;
  place-content: center;
  justify-items: center;
  padding: 40px;
  color: #85858a;
  text-align: center;
}
.notes-calendar-locked > span { display: grid; width: 68px; height: 68px; place-items: center; color: #4c765e; background: #e7f5ec; border-radius: 21px; font-size: 33px; }
.notes-calendar-locked h2 { margin: 18px 0 5px; color: #343437; font-size: 19px; }
.notes-calendar-locked p { max-width: 300px; margin: 0; font-size: 11.5px; }
.notes-calendar-locked button { margin-top: 18px; padding: 9px 15px; color: #24563b; background: #dff2e6; border: 1px solid #c8e5d2; border-radius: 10px; font: 700 11px inherit; cursor: pointer; }

/* Dialogs */
.notes-dialog-layer { position: fixed; inset: 0; z-index: 12050; display: grid; place-items: center; padding: 20px; }
.notes-dialog-backdrop { position: absolute; inset: 0; background: rgba(20, 20, 22, .44); backdrop-filter: blur(13px); }
.notes-dialog {
  position: relative;
  display: flex;
  width: min(520px, calc(100vw - 32px));
  max-height: min(720px, calc(100dvh - 36px));
  flex-direction: column;
  overflow: hidden;
  color: #252527;
  background: rgba(255, 255, 255, .97);
  border: 1px solid rgba(255, 255, 255, .66);
  border-radius: 22px;
  box-shadow: 0 28px 90px rgba(0, 0, 0, .25);
  animation: notes-dialog-in .18s ease-out;
}
@keyframes notes-dialog-in { from { opacity: 0; transform: scale(.975) translateY(6px); } }
.notes-dialog > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 15px; padding: 22px 22px 16px; border-bottom: 1px solid #ececea; }
.notes-dialog > header > div { display: grid; grid-template-columns: 38px 1fr; column-gap: 12px; }
.notes-dialog > header > div > span { grid-row: 1 / 3; display: grid; width: 38px; height: 38px; place-items: center; color: #765600; background: #ffdf71; border-radius: 11px; font-size: 20px; }
.notes-dialog h3 { margin: 1px 0 0; font-size: 17px; letter-spacing: -.02em; }
.notes-dialog header p { grid-column: 2; margin: 3px 0 0; color: #828287; font-size: 11px; line-height: 1.4; }
.notes-dialog > header > button { width: 32px; height: 32px; flex: 0 0 auto; padding: 0; color: #737378; background: #eee; border: 0; border-radius: 50%; font-size: 22px; cursor: pointer; }
.notes-dialog > footer { display: flex; justify-content: flex-end; gap: 9px; padding: 14px 20px 18px; background: #fafaf9; border-top: 1px solid #ececea; }
.notes-dialog > footer button { min-height: 38px; padding: 8px 15px; border-radius: 10px; font: 700 12px inherit; cursor: pointer; }
.notes-dialog-cancel { color: #55555a; background: #fff; border: 1px solid #dededb; }
.notes-dialog-primary { color: #513b00; background: #ffd457; border: 1px solid #efbd28; box-shadow: 0 5px 12px rgba(173, 112, 0, .12); }
.notes-dialog-loading { display: flex; min-height: 180px; align-items: center; justify-content: center; gap: 11px; color: #7d7d82; font-size: 12px; }
.notes-dialog-empty { padding: 35px; color: #8e8e93; text-align: center; }
.notes-people-list { overflow: auto; padding: 8px 12px; }
.notes-person-row { display: grid; grid-template-columns: 39px minmax(0, 1fr) auto; align-items: center; gap: 11px; min-height: 58px; padding: 7px 9px; border-bottom: 1px solid #efefed; }
.notes-person-row > span { display: grid; width: 36px; height: 36px; place-items: center; color: #fff; border-radius: 50%; font-size: 10px; font-weight: 800; }
.notes-person-row > div { min-width: 0; }
.notes-person-row strong { display: block; overflow: hidden; font-size: 12.5px; text-overflow: ellipsis; white-space: nowrap; }
.notes-person-row small { display: block; margin-top: 2px; color: #919196; font-size: 10px; }
.notes-person-row select { width: auto; min-width: 132px; padding: 7px 25px 7px 9px; font-size: 10.5px; }
.notes-person-row.selectable { position: relative; grid-template-columns: 39px minmax(0, 1fr) 25px; cursor: pointer; }
.notes-person-row.selectable > input { position: absolute; opacity: 0; pointer-events: none; }
.notes-person-row.selectable > i { display: grid; width: 21px; height: 21px; place-items: center; color: transparent; background: #fff; border: 1px solid #d9d9d6; border-radius: 50%; font-size: 11px; font-style: normal; }
.notes-person-row.selectable:has(input:checked) { background: #fffae8; }
/* :has() DEĞİL kardeş seçici: :has kümesindeki "> i" etiketi sayfadaki her stil
   yazımında bütün <i> öğelerini yeniden hesaplatıyordu (2026-10-17, takip sürükleme). */
.notes-person-row.selectable > input:checked ~ i { color: #5d4500; background: #ffd351; border-color: #e8b92c; }

.notes-calendar-preview { margin: 16px 20px 4px; padding: 14px; background: #fff8df; border: 1px solid #f4df98; border-radius: 12px; }
.notes-calendar-preview strong { display: block; overflow: hidden; font-size: 13px; text-overflow: ellipsis; white-space: nowrap; }
.notes-calendar-preview p { margin: 5px 0 0; overflow: hidden; color: #7b7258; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.notes-calendar-fields { display: grid; grid-template-columns: 1.3fr 1fr 1fr; gap: 10px; padding: 14px 20px 20px; }
.notes-calendar-fields label > span { display: block; margin-bottom: 6px; color: #77777c; font-size: 9.5px; font-weight: 750; letter-spacing: .07em; text-transform: uppercase; }
.notes-calendar-fields input, .notes-calendar-fields select { min-height: 39px; padding: 8px 9px; color: #29292c; background: #fff; border: 1px solid #dededb; border-radius: 9px; font-size: 11px; }

/* Shared note card inside chat bubbles */
.workspace-note-chat-card {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr);
  gap: 10px;
  width: min(310px, 100%);
  padding: 12px;
  color: #2b2b2d;
  background: linear-gradient(145deg, #fffdf3, #fff7d7);
  border: 1px solid rgba(209, 157, 17, .24);
  border-radius: 13px;
  cursor: pointer;
  text-align: left;
}
.workspace-note-chat-card > span { display: grid; width: 38px; height: 38px; place-items: center; color: #6e5000; background: #ffd558; border-radius: 10px; font-size: 21px; }
.workspace-note-chat-card > div { min-width: 0; }
.workspace-note-chat-card small { display: block; color: #987000; font-size: 8px; font-weight: 800; letter-spacing: .08em; }
.workspace-note-chat-card strong { display: block; margin-top: 2px; overflow: hidden; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.workspace-note-chat-card p { display: -webkit-box; margin: 4px 0 0; overflow: hidden; color: #716b59; font-size: 10.5px; line-height: 1.35; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.workspace-note-chat-card em { display: block; margin-top: 7px; color: #9a7100; font-size: 9px; font-style: normal; font-weight: 650; }

/* Existing navigation / hero integration */
.nav-note-symbol { display: block; width: 18px; height: 18px; stroke-width: 1.75; }

/* Sağ alttaki "Hızlı not" hapı (2026-10-01): yazılı etiket + sarı simge kutusu.
   Zemin temadan gelir; sarı yalnız simge kutusunda kalır, koyu temada da
   sırıtmaz. Kâğıt açıkken aynı düğme "Kapat" olur (.is-open). */
.floating-quick-note {
  --fqn-paper: var(--desk-paper, white);
  --fqn-ink: var(--desk-ink, rgb(29, 37, 51));
  --fqn-line: rgba(16, 24, 40, .1);
  position: fixed;
  right: 22px;
  bottom: 22px;
  z-index: 951;
  display: none;
  align-items: center;
  gap: 10px;
  height: 46px;
  padding: 0 18px 0 6px;
  color: var(--fqn-ink);
  background: var(--fqn-paper);
  border: 1px solid var(--fqn-line);
  border-radius: 999px;
  box-shadow: 0 10px 28px rgba(16, 24, 40, .14), 0 2px 6px rgba(16, 24, 40, .08);
  font: inherit;
  font-size: 13.5px;
  font-weight: 750;
  letter-spacing: -.005em;
  white-space: nowrap;
  cursor: pointer;
  transition: transform .16s cubic-bezier(.2,.75,.25,1), box-shadow .16s ease, border-color .16s ease;
}
/* Sohbet çubuğu küçültülmüş olsa da hızlı not düğmesi yerinde kalır. */
#msgDock:not([hidden]) ~ .floating-quick-note { display: inline-flex; }
.floating-quick-note .fqn-icon {
  position: relative;
  display: grid;
  width: 34px;
  height: 34px;
  flex: none;
  place-items: center;
  color: rgb(90, 63, 0);
  background: linear-gradient(150deg, rgb(255, 229, 138), rgb(255, 201, 58));
  border-radius: 50%;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.7), inset 0 -1px 0 rgba(160,104,0,.18);
  transition: background .16s ease, color .16s ease;
}
.floating-quick-note .fqn-icon svg { position: absolute; width: 19px; height: 19px; stroke-width: 1.9; transition: opacity .14s ease, transform .16s cubic-bezier(.2,.75,.25,1); }
.floating-quick-note .fqn-icon-close { opacity: 0; transform: rotate(-45deg) scale(.7); }
.floating-quick-note .fqn-label { display: grid; }
.floating-quick-note .fqn-label > span { grid-area: 1 / 1; transition: opacity .14s ease; }
.floating-quick-note .fqn-label-close { opacity: 0; }
.floating-quick-note:hover, .floating-quick-note:focus-visible {
  transform: translateY(-1px);
  border-color: color-mix(in srgb, rgb(224, 168, 0) 45%, var(--fqn-line));
  box-shadow: 0 14px 34px rgba(16, 24, 40, .18), 0 2px 6px rgba(16, 24, 40, .08), 0 0 0 4px rgba(255, 196, 40, .16);
  outline: 0;
}
.floating-quick-note:active { transform: translateY(0); }
.floating-quick-note.is-open .fqn-icon { color: var(--fqn-ink); background: color-mix(in srgb, var(--fqn-ink) 8%, var(--fqn-paper)); box-shadow: none; }
.floating-quick-note.is-open .fqn-icon-pen { opacity: 0; transform: rotate(45deg) scale(.7); }
.floating-quick-note.is-open .fqn-icon-close { opacity: 1; transform: none; }
.floating-quick-note.is-open .fqn-label-open { opacity: 0; }
.floating-quick-note.is-open .fqn-label-close { opacity: 1; }
html[data-theme="dark"] .floating-quick-note {
  --fqn-line: rgba(255, 255, 255, .1);
  box-shadow: 0 12px 32px rgba(0, 0, 0, .45), 0 0 0 1px rgba(0, 0, 0, .25);
}
html[data-theme="dark"] .floating-quick-note:hover, html[data-theme="dark"] .floating-quick-note:focus-visible {
  border-color: rgba(255, 201, 58, .45);
  box-shadow: 0 14px 36px rgba(0, 0, 0, .5), 0 0 0 4px rgba(255, 196, 40, .12);
}
@media (prefers-reduced-motion: reduce) {
  .floating-quick-note, .floating-quick-note .fqn-icon svg, .floating-quick-note .fqn-label > span { transition: none; }
  .floating-quick-note:hover, .floating-quick-note:focus-visible { transform: none; }
}

/* Mobilde yer dar: yalnız simge kutusu kalır, etiket gizlenir. */
@media (max-width: 760px) {
  .floating-quick-note { right: 15px; bottom: calc(104px + env(safe-area-inset-bottom)); width: 48px; height: 48px; justify-content: center; padding: 0; gap: 0; }
  .floating-quick-note .fqn-icon { width: 38px; height: 38px; }
  .floating-quick-note .fqn-label { display: none; }
}

/* Dark mode */
html[data-theme="dark"] .workspace-notes-app { --notes-ink: #f5f5f7; --notes-muted: #a1a1a6; color: #f5f5f7; background: #1c1c1e; border-color: rgba(255,255,255,.1); box-shadow: 0 26px 80px rgba(0,0,0,.42); }
html[data-theme="dark"] .notes-loading { color: #a1a1a6; background: #1c1c1e; }
html[data-theme="dark"] .notes-sidebar { background: radial-gradient(circle at 15% 0%, rgba(255,190,36,.12), transparent 35%), linear-gradient(180deg,#292927,#232321); border-color: rgba(255,255,255,.08); }
html[data-theme="dark"] .notes-sidebar-foot { color: #9b9b9f; }
html[data-theme="dark"] .notes-side-item { color: #c7c7cc; }
html[data-theme="dark"] .notes-side-item:hover { background: rgba(255,255,255,.06); }
html[data-theme="dark"] .notes-side-item.active { color: #fff5d0; background: rgba(255,193,38,.22); }
html[data-theme="dark"] .notes-side-item b { color: #929297; }
html[data-theme="dark"] .notes-list-pane { background: #202022; border-color: rgba(255,255,255,.08); }
html[data-theme="dark"] .notes-list-head h2, html[data-theme="dark"] .notes-list-item { color: #f5f5f7; }
html[data-theme="dark"] .notes-search { background: #303033; }
html[data-theme="dark"] .notes-search:focus-within { background: #29292c; }
html[data-theme="dark"] .notes-search input { color: #f5f5f7; }
html[data-theme="dark"] .notes-select-btn { color: #ffd76d; background: rgba(255,193,38,.1); border-color: rgba(255,207,77,.13); }
html[data-theme="dark"] .notes-select-btn:hover:not(:disabled), html[data-theme="dark"] .notes-select-btn.active { background: rgba(255,193,38,.18); }
html[data-theme="dark"] .notes-bulk-bar { background: rgba(255,193,38,.09); border-color: rgba(255,207,77,.13); }
html[data-theme="dark"] .notes-bulk-bar > button, html[data-theme="dark"] .notes-bulk-bar > span button { color: #e3d39f; background: #2c2c2e; border-color: #44403a; }
html[data-theme="dark"] .notes-bulk-bar button.restore { color: #8fddb0; background: rgba(51,173,103,.12); border-color: rgba(98,211,146,.17); }
html[data-theme="dark"] .notes-bulk-bar button.delete { color: #ff8d95; background: rgba(255,69,79,.1); border-color: rgba(255,105,113,.14); }
html[data-theme="dark"] .notes-list-item { border-color: rgba(255,255,255,.07); }
html[data-theme="dark"] .notes-list-item:hover { background: rgba(255,255,255,.045); }
html[data-theme="dark"] .notes-list-item.active { background: rgba(255,198,40,.19); }
html[data-theme="dark"] .notes-list-item.bulk-selected { background: rgba(255,198,40,.16); }
html[data-theme="dark"] .notes-bulk-check { background: #2c2c2e; border-color: #5a5a5e; }
html[data-theme="dark"] .notes-list-item.bulk-selected .notes-bulk-check { background: #dba700; border-color: #edbd28; }
html[data-theme="dark"] .notes-calendar-item.is-shared-note.bulk-selected .notes-bulk-check { background: #b83038; border-color: #d2454d; }
html[data-theme="dark"] .notes-list-copy small { color: #a1a1a6; }
html[data-theme="dark"] .notes-list-copy time { color: #dedee2; }
html[data-theme="dark"] .notes-calendar-group > h3 { color: #e5e5ea; }
html[data-theme="dark"] .notes-calendar-group > h3 time { color: #8e8e93; }
html[data-theme="dark"] .notes-calendar-date strong { color: #c7c7cc; }
html[data-theme="dark"] .notes-editor-pane, html[data-theme="dark"] .notes-editor-shell { background: #1c1c1e; }
html[data-theme="dark"] .notes-editor-topbar { background: rgba(28,28,30,.9); border-color: rgba(255,255,255,.08); }
html[data-theme="dark"] .notes-top-actions button { color: #ffd76d; background: rgba(255,193,38,.1); border-color: rgba(255,207,77,.13); }

html[data-theme="dark"] .notes-formatbar, html[data-theme="dark"] .notes-editor-footer { background: #222224; border-color: rgba(255,255,255,.075); }
html[data-theme="dark"] .notes-formatbar button, html[data-theme="dark"] .notes-formatbar select { color: #d0d0d5; background: #2c2c2e; border-color: #3a3a3c; }
html[data-theme="dark"] .notes-body-input { color: #f5f5f7; }
html[data-theme="dark"] .notes-body-input {  caret-color: #ffd35a; }
html[data-theme="dark"] .notes-body-input h1, html[data-theme="dark"] .notes-body-input h2, html[data-theme="dark"] .notes-body-input h3 { color: #f5f5f7; }
html[data-theme="dark"] .notes-top-actions .notes-delete-action, html[data-theme="dark"] .notes-top-actions .notes-permanent-action { color: #ff7b83; background: rgba(255,69,79,.1); border-color: rgba(255,105,113,.14); }
html[data-theme="dark"] .notes-smart-row { border-color: rgba(255,255,255,.08); }
html[data-theme="dark"] .notes-mention-menu { background: rgba(44,44,46,.98); border-color: #424245; box-shadow: 0 18px 45px rgba(0,0,0,.35); }
html[data-theme="dark"] .notes-mention-menu > button { color: #f5f5f7; }
html[data-theme="dark"] .notes-mention-menu > button:hover, html[data-theme="dark"] .notes-mention-menu > button.active { background: rgba(255,193,38,.13); }
html[data-theme="dark"] .notes-editor-empty { background: radial-gradient(circle at 50% 45%, #292820, #1c1c1e 45%); }
html[data-theme="dark"] .notes-editor-empty h2 { color: #f5f5f7; }
html[data-theme="dark"] .notes-bulk-editor { background: radial-gradient(circle at 50% 45%, #292820, #1c1c1e 45%); }
html[data-theme="dark"] .notes-bulk-editor h2 { color: #f5f5f7; }
html[data-theme="dark"] .notes-bulk-editor button.restore { color: #8fddb0; background: rgba(51,173,103,.12); border-color: rgba(98,211,146,.17); }
html[data-theme="dark"] .notes-bulk-editor button.delete { color: #ff8d95; background: rgba(255,69,79,.1); border-color: rgba(255,105,113,.14); }
html[data-theme="dark"] .notes-calendar-paper { background-image: repeating-linear-gradient(to bottom, transparent 0, transparent 31px, rgba(154,178,202,.14) 31px, rgba(154,178,202,.14) 32px); }
html[data-theme="dark"] .notes-calendar-paper h1, html[data-theme="dark"] .notes-calendar-body, html[data-theme="dark"] .notes-calendar-locked h2 { color: #f5f5f7; }
html[data-theme="dark"] .notes-calendar-time { color: #73bdf0; background: rgba(39,133,198,.16); }
html[data-theme="dark"] .notes-calendar-locked > span { color: #8dd5aa; background: rgba(58,170,104,.14); }
html[data-theme="dark"] .notes-calendar-locked button { color: #9bddb5; background: rgba(58,170,104,.13); border-color: rgba(116,214,158,.16); }
html[data-theme="dark"] .notes-dialog { color: #f5f5f7; background: rgba(35,35,37,.98); border-color: rgba(255,255,255,.1); }
html[data-theme="dark"] .notes-dialog > header, html[data-theme="dark"] .notes-dialog > footer, html[data-theme="dark"] .notes-person-row { border-color: rgba(255,255,255,.08); }
html[data-theme="dark"] .notes-dialog > footer { background: #202022; }
html[data-theme="dark"] .notes-dialog > header > button { color: #ddd; background: #3a3a3c; }
html[data-theme="dark"] .notes-person-row select, html[data-theme="dark"] .notes-calendar-fields input, html[data-theme="dark"] .notes-calendar-fields select { color: #f5f5f7; background: #2c2c2e; border-color: #454548; }
html[data-theme="dark"] .notes-person-row.selectable:has(input:checked) { background: rgba(255,193,38,.09); }
html[data-theme="dark"] .notes-calendar-preview { background: rgba(255,193,38,.09); border-color: rgba(255,207,77,.15); }
html[data-theme="dark"] .notes-dialog-cancel { color: #ddd; background: #303033; border-color: #444447; }
html[data-theme="dark"] .workspace-note-chat-card { color: #f5f5f7; background: linear-gradient(145deg,#333022,#29271f); border-color: rgba(255,207,77,.16); }
html[data-theme="dark"] .workspace-note-chat-card p { color: #c4bfae; }

/* Responsive */
@media (max-width: 1180px) {
  .workspace-notes-app { grid-template-columns: 190px 300px minmax(0, 1fr); }
  .notes-side-item { grid-template-columns: 23px minmax(0,1fr) auto; padding-inline: 7px; }
  .notes-paper { padding-inline: 34px; }
  .notes-top-actions button span { display: none; }
  .notes-top-actions .notes-delete-action span, .notes-top-actions .notes-permanent-action span { display: inline; }
  .notes-top-actions button { min-width: 34px; padding-inline: 8px; font-size: 15px; }
}

@media (max-width: 820px) {
  .notes-page { max-width: none; padding: 8px; }
  .workspace-notes-app { display: grid; grid-template-columns: 1fr; min-height: 0; height: calc(100dvh - 112px); border-radius: 18px; }
  .notes-sidebar { display: none; }
  .notes-list-pane { grid-column: 1; grid-row: 1; border-right: 0; }
  .notes-editor-pane { display: none; grid-column: 1; grid-row: 1; }
  .workspace-notes-app.has-selection .notes-list-pane { display: none; }
  .workspace-notes-app.has-selection .notes-editor-pane { display: block; }
  .notes-mobile-back { display: inline-flex; }
  .notes-editor-status { margin-right: auto; }
  .notes-editor-topbar { padding-inline: 10px; }
  .notes-top-actions { gap: 3px; }
  .notes-top-actions button { min-width: 32px; height: 32px; padding: 5px; }
  .notes-formatbar { padding-inline: 12px; }
  .notes-paper { padding: 28px 22px 18px; }
  .notes-calendar-paper { padding: 34px 24px 24px; }
  .notes-calendar-paper h1 { font-size: 25px; }
  .notes-calendar-body { font-size: 15px; }
  
  .notes-body-input { font-size: 15px; }
  .notes-editor-footer { padding-inline: 13px; }
  .notes-editor-footer > span { display: none; }
}

@media (max-width: 540px) {
  .notes-dialog-layer { padding: 8px; }
  .notes-dialog { width: calc(100vw - 16px); max-height: calc(100dvh - 16px); border-radius: 17px; }
  .notes-calendar-fields { grid-template-columns: 1fr 1fr; }
  .notes-calendar-fields label:last-child { grid-column: 1 / -1; }
  .notes-person-row { grid-template-columns: 35px minmax(0,1fr); }
  .notes-person-row select { grid-column: 2; width: 100%; }
  .notes-person-row.selectable { grid-template-columns: 35px minmax(0,1fr) 23px; }
  .notes-dialog > footer { padding-inline: 13px; }
  
}

/* Müşteri / sipariş odaklı başlıksız not alanı */
.notes-reference-fields {
  position:relative;
  z-index:8;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:7px;
  margin:16px 0 4px;
  padding:0;
}
.notes-reference-field {
  position:relative;
  min-width:0;
  max-width:min(280px,100%);
  display:flex;
  align-items:center;
  gap:5px;
  min-height:34px;
  margin:0;
  padding:3px 5px 3px 10px;
  background:color-mix(in srgb,#ffcc3d 10%,var(--surface-solid,#fff));
  border:1px solid color-mix(in srgb,#c89400 22%,var(--border));
  border-radius:999px;
  transition:border-color .15s,box-shadow .15s,background .15s;
}
.notes-reference-field:focus-within { background:color-mix(in srgb,#ffcc3d 14%,var(--surface-solid,#fff)); border-color:#dfa800; box-shadow:0 0 0 3px rgba(255,193,38,.12); }
.notes-reference-field>span { flex:0 0 auto; color:#846a22; font-size:10px; font-weight:850; letter-spacing:.03em; }
.notes-reference-field>input { min-width:70px; width:150px; height:27px; padding:3px 7px; color:var(--text,#27231a); background:transparent; border:0; border-radius:999px; box-shadow:none; font-family:inherit; font-size:12px; font-weight:700; outline:0; text-overflow:ellipsis; }
.notes-reference-field>input::placeholder { color:var(--muted,#8e8878); font-weight:600; }
html[data-theme="dark"] .notes-reference-field { background:rgba(255,193,38,.08); border-color:rgba(255,210,88,.15); }
html[data-theme="dark"] .notes-reference-field:focus-within { background:rgba(255,193,38,.12); border-color:rgba(255,210,88,.35); }
html[data-theme="dark"] .notes-reference-field>span { color:#e2c977; }
html[data-theme="dark"] .notes-reference-field>input { color:#f5f5f7; background:transparent; }
.notes-reference-suggestions[hidden] { display:none!important; }
.notes-reference-suggestions {
  position:absolute;
  top:calc(100% + 7px);
  left:0;
  z-index:140;
  width:min(430px,calc(100vw - 54px));
  max-height:min(430px,55vh);
  overflow:auto;
  padding:6px;
  background:var(--surface-solid,#fff);
  border:1px solid var(--border,#dedede);
  border-radius:14px;
  box-shadow:0 20px 48px rgba(18,20,27,.2);
  overscroll-behavior:contain;
}
.notes-reference-fields .notes-reference-field:nth-child(2) .notes-reference-suggestions { left:auto; right:0; }
.notes-reference-suggestion {
  position:relative;
  width:100%;
  min-width:0;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:8px;
  margin:0;
  padding:9px 10px;
  color:var(--text,#242424);
  background:transparent;
  border:0;
  border-radius:10px;
  box-shadow:none;
  font:inherit;
  text-align:left;
  cursor:pointer;
}
.notes-reference-suggestion+.notes-reference-suggestion { border-top:1px solid color-mix(in srgb,var(--border,#ddd) 70%,transparent); }
.notes-reference-suggestion:hover,.notes-reference-suggestion:focus-visible { z-index:2; background:color-mix(in srgb,#ffcc3d 9%,var(--surface-solid,#fff)); outline:0; }
.notes-reference-suggestion.order { grid-template-columns:minmax(105px,.65fr) minmax(0,1fr) auto; }
.notes-reference-suggestion-copy { min-width:0; display:grid; gap:2px; }
.notes-reference-suggestion-copy strong,.notes-reference-suggestion-copy small,.notes-reference-suggestion>em { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.notes-reference-suggestion-copy strong { color:var(--text,#242424); font-size:12px; font-weight:850; }
.notes-reference-suggestion-copy small { color:var(--muted,#777); font-size:9px; }
.notes-reference-suggestion>em { color:var(--muted,#777); font-size:9px; font-style:normal; }
.notes-reference-suggestion>b { padding:4px 7px; color:#846200; background:rgba(255,193,38,.14); border-radius:999px; font-size:9px; }
.notes-reference-empty { padding:14px 10px; color:var(--muted,#777); font-size:11px; text-align:center; }
.notes-reference-customer-hover,.notes-reference-suggestion>.photo-order-hover { grid-column:1 / -1; max-height:0; overflow:hidden; opacity:0; transition:max-height .18s ease,opacity .15s ease,padding .18s ease,margin .18s ease; }
.notes-reference-suggestion:hover .notes-reference-customer-hover,.notes-reference-suggestion:focus-visible .notes-reference-customer-hover { max-height:180px; margin-top:3px; padding-top:7px; opacity:1; border-top:1px solid var(--border,#ddd); }
.notes-reference-suggestion:hover>.photo-order-hover,.notes-reference-suggestion:focus-visible>.photo-order-hover { max-height:360px; margin-top:3px; padding:8px; opacity:1; border-width:1px; border-color:var(--border,#ddd); }
.notes-reference-customer-hover { display:grid; gap:5px; color:var(--muted,#777); font-size:9px; }
.notes-reference-customer-hover>small { color:#8f6a00; font-weight:800; }
.notes-reference-customer-hover>div { min-width:0; display:grid; grid-template-columns:70px minmax(0,1fr); gap:8px; }
.notes-reference-customer-hover>div b { color:var(--text,#242424); }
.notes-reference-customer-hover>div span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.notes-reference-customer-hover>i { font-style:normal; font-weight:750; }

/* Sağ alttaki bağımsız sarı post-it */
.quick-sticky-note {
  position:fixed;
  right:22px;
  bottom:86px;
  z-index:12020;
  display:flex;
  width:min(370px,calc(100vw - 28px));
  min-height:390px;
  max-height:min(570px,calc(100dvh - 120px));
  flex-direction:column;
  overflow:hidden;
  color-scheme:light;
  color:#382b08;
  background:linear-gradient(145deg,#ffe783,#ffd24b 55%,#f7c83b);
  border:1px solid rgba(157,108,0,.3);
  border-radius:8px 8px 22px 8px;
  box-shadow:0 24px 60px rgba(37,27,0,.28),inset 0 1px rgba(255,255,255,.72);
  transform-origin:bottom right;
  animation:quickStickyIn .18s ease-out;
}
.quick-sticky-note::after { content:""; position:absolute; right:0; bottom:0; width:25px; height:25px; background:linear-gradient(135deg,rgba(151,100,0,.16) 0 49%,#fff0a5 51%); border-radius:4px 0 18px 0; pointer-events:none; }
@keyframes quickStickyIn { from { opacity:0; transform:translateY(12px) scale(.96); } }
.quick-sticky-note>header { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:14px 15px 10px; border-bottom:1px solid rgba(115,81,0,.13); }
.quick-sticky-note>header>div:first-child { display:grid; gap:2px; }
.quick-sticky-note>header span { color:#6c5000; font-size:13px; font-weight:900; letter-spacing:.12em; }
.quick-sticky-note>header small { color:#8c711f; font-size:11px; font-weight:700; }
.quick-sticky-note>header>div:last-child { display:flex; gap:5px; }
.quick-sticky-note>header button { width:31px; height:31px; display:grid; place-items:center; padding:0; color:#624a09; background:rgba(255,255,255,.35); border:1px solid rgba(112,78,0,.13); border-radius:9px; font-size:18px; cursor:pointer; }
.quick-sticky-note>header button:hover { background:rgba(255,255,255,.58); }
.quick-sticky-note>header button svg { width:18px; height:18px; stroke-width:1.9; }
.quick-sticky-note>header .quick-sticky-save-new { color:#4f6900; background:rgba(255,255,255,.5); }
.quick-sticky-note>header .quick-sticky-save-new:hover { background:rgba(255,255,255,.72); }
.quick-sticky-note>header .quick-sticky-trash-new { color:#8a3b12; }
.quick-sticky-note>header .quick-sticky-trash-new:hover { color:#7a3210; background:rgba(255,255,255,.62); }
.quick-sticky-mention-menu[hidden] { display:none!important; }
.quick-sticky-mention-menu {
  --bg:#fff1af;
  --surface:#fffdf0;
  --surface-solid:#fffdf0;
  --text:#382b08;
  --muted:#816d34;
  --border:rgba(112,78,0,.16);
  --accent:#b17c00;
  position:relative;
  z-index:12;
  flex:0 1 auto;
  max-height:min(250px,45dvh);
  margin:8px 12px 0;
  overflow:auto;
  padding:6px;
  background:#fff8d9;
  border:1px solid rgba(112,78,0,.2);
  border-radius:14px;
  box-shadow:0 18px 42px rgba(72,49,0,.26);
  overscroll-behavior:contain;
}
.quick-sticky-mention-item {
  width:100%;
  min-width:0;
  display:grid;
  grid-template-columns:30px minmax(0,1fr);
  align-items:center;
  gap:8px;
  padding:8px;
  color:#382b08;
  background:transparent;
  border:0;
  border-radius:10px;
  box-shadow:none;
  font:inherit;
  text-align:left;
  cursor:pointer;
}
.quick-sticky-mention-item.order { grid-template-columns:30px minmax(92px,.7fr) minmax(0,1fr); }
.quick-sticky-mention-item+.quick-sticky-mention-item { border-top:1px solid rgba(112,78,0,.12); }
.quick-sticky-mention-item:hover,.quick-sticky-mention-item.active { background:rgba(255,193,38,.18); outline:0; }
.quick-sticky-mention-item>span { display:grid; width:28px; height:28px; place-items:center; color:#fff; background:#7b61c8; border-radius:9px; font-size:9px; font-weight:900; }
.quick-sticky-mention-item.order>span { background:#268d68; }
.quick-sticky-mention-item>div { min-width:0; }
.quick-sticky-mention-item strong,.quick-sticky-mention-item small,.quick-sticky-mention-item>em { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.quick-sticky-mention-item strong { color:#382b08; font-size:11px; font-weight:850; }
.quick-sticky-mention-item small,.quick-sticky-mention-item>em { color:#816d34; font-size:8.5px; }
.quick-sticky-mention-item>em { font-style:normal; }
.quick-sticky-mention-item>.notes-reference-customer-hover,.quick-sticky-mention-item>.photo-order-hover { grid-column:1 / -1; max-height:0; overflow:hidden; opacity:0; transition:max-height .18s ease,opacity .15s ease,padding .18s ease,margin .18s ease; }
.quick-sticky-mention-item:hover>.notes-reference-customer-hover,.quick-sticky-mention-item.active>.notes-reference-customer-hover { max-height:180px; margin-top:3px; padding-top:7px; opacity:1; border-top:1px solid rgba(112,78,0,.12); }
.quick-sticky-mention-item:hover>.photo-order-hover,.quick-sticky-mention-item.active>.photo-order-hover { max-height:340px; margin-top:3px; padding:8px; opacity:1; border-width:1px; border-color:rgba(112,78,0,.16); }
.quick-sticky-mention-item .notes-reference-customer-hover>div b { color:#382b08; }
.quick-sticky-mention-empty { padding:14px 10px; color:#816d34; font-size:11px; text-align:center; }
.notes-reference-chips.is-quick{min-height:0;justify-content:flex-start;margin:8px 14px 0}
.notes-reference-chips.is-quick>button{padding:5px 8px;box-shadow:0 3px 8px rgba(91,63,0,.1)}
.notes-reference-chips.is-quick span{font-size:8px;opacity:.88}.notes-reference-chips.is-quick b{max-width:230px;font-size:10.5px}
.notes-reference-chips.is-quick i{opacity:.82}
.notes-reference-chips.is-quick .is-customer{color:#56338d;background:rgba(248,239,255,.86);border-color:rgba(106,67,169,.2)}
.notes-reference-chips.is-quick .is-order{color:#155c45;background:rgba(235,252,244,.88);border-color:rgba(25,110,81,.18)}
html[data-theme="dark"] .notes-reference-chips.is-quick .is-customer{color:#3e216d;background:#f2e8ff;border-color:#8f68c5}
html[data-theme="dark"] .notes-reference-chips.is-quick .is-order{color:#104f3a;background:#e2f8ed;border-color:#4c9278}
.quick-sticky-note>textarea {
  width:auto;
  min-height:210px;
  flex:1;
  margin:6px 14px 6px;
  padding:8px 7px 20px;
  resize:none;
  color:#3b2a08!important;
  background-color:transparent!important;
  background-image:repeating-linear-gradient(to bottom,transparent 0,transparent 31px,rgba(98,72,14,.2) 31px,rgba(98,72,14,.2) 32px)!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  outline:0;
  font-family:var(--font);
  font-size:16px;
  font-weight:500;
  letter-spacing:-.01em;
  line-height:32px;
  text-shadow:0 1px 0 rgba(255,255,255,.42),0 1.4px 1px rgba(76,45,0,.25);
  caret-color:#6e4d00;
  -webkit-font-smoothing:antialiased;
}
.quick-sticky-note>textarea::placeholder { color:rgba(75,57,13,.46)!important; font-family:inherit; font-weight:700; text-shadow:0 1px rgba(255,255,255,.35); }
html[data-theme="dark"] .quick-sticky-note { color:#382b08; background:linear-gradient(145deg,#ffe783,#ffd24b 55%,#f7c83b); border-color:rgba(157,108,0,.3); }
html[data-theme="dark"] .quick-sticky-note>textarea { color:#3b2a08!important; background-color:transparent!important; background-image:repeating-linear-gradient(to bottom,transparent 0,transparent 31px,rgba(98,72,14,.2) 31px,rgba(98,72,14,.2) 32px)!important; border:0!important; box-shadow:none!important; }
.quick-sticky-note>footer { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:7px 38px 12px 15px; color:#80691f; font-size:11px; }
.quick-sticky-note>footer b { font-size:11px; white-space:nowrap; }
.quick-sticky-note>footer span>b { display:inline-grid; width:18px; height:18px; margin-right:3px; place-items:center; color:#fff8d9; background:#8a6908; border-radius:50%; }

/* Not ekranındaki okunabilirliği en az 1.5 kata yaklaştır */

.notes-sidebar-foot { font-size:14px; }
.notes-side-item strong { font-size:16px; }
.notes-side-item b { font-size:14px; }
.notes-list-head h2 { font-size:28px; }
.notes-list-head>div>span { font-size:14px; }
.notes-search input { font-size:16px; }
.notes-list-copy>strong { font-size:18px; }
.notes-list-copy small { font-size:15px; }
.notes-list-copy em { font-size:13px; }
.notes-editor-status,.notes-editor-footer { font-size:13px; }
.notes-top-actions button,.notes-formatbar button,.notes-formatbar select { font-size:13px; }
.notes-paper-date { font-size:13px; }
.notes-body-input { margin-top:18px; font-size:24px; line-height:1.58; background-image:repeating-linear-gradient(to bottom,transparent 0,transparent calc(1.58em - 1px),rgba(87,115,145,.17) calc(1.58em - 1px),rgba(87,115,145,.17) 1.58em); }
html[data-theme="dark"] .notes-body-input { background-image:repeating-linear-gradient(to bottom,transparent 0,transparent calc(1.58em - 1px),rgba(154,178,202,.18) calc(1.58em - 1px),rgba(154,178,202,.18) 1.58em); }
.notes-body-input div,.notes-body-input p,.notes-body-input li { min-height:1.58em; }
.notes-smart-chip { font-size:13px; }
.notes-calendar-body { font-size:22px; }

@media(max-width:820px) {
  .notes-reference-fields { margin-top:12px; }
  .notes-reference-field { max-width:calc(100vw - 66px); }
  .notes-reference-suggestions { width:min(390px,calc(100vw - 60px)); }
  .notes-body-input { font-size:22px; }
  .quick-sticky-note { right:12px; bottom:calc(162px + env(safe-area-inset-bottom)); width:calc(100vw - 24px); max-height:calc(100dvh - 190px); }
}

/* ── assets/styles/settings-page.css ── */
/* ─── AYARLAR — macOS/Linear çizgisinde yalın tercih sayfası (2026-10-26) ───
   Bölüm başlığı kartın DIŞINDA; her bölüm tek kâğıt grup, satırlar 1px
   ayraçla ayrılır: solda ad + tek satır açıklama, sağda kontrol. Renkli ikon
   rozeti, harf rozeti, iç içe kutu, büyük harf etiket YOK. */

.has-profile-photo { color:transparent!important; background-size:cover!important; background-position:center!important; background-repeat:no-repeat!important; }
.account-avatar.has-profile-photo .account-avatar-status,.account-menu-avatar.has-profile-photo .account-avatar-status { color:initial; }

.settings-page {
  --set-paper:var(--desk-paper,var(--surface-solid));
  --set-line:var(--desk-line,var(--border));
  --set-soft:var(--desk-soft,var(--surface-raised));
  --set-ink:var(--desk-ink,var(--text));
  --set-muted:var(--desk-muted,var(--muted));
  max-width:1080px; margin-inline:auto; padding:8px 0 48px;
}
.settings-page label { margin:0; color:inherit; font-size:inherit; font-weight:inherit; letter-spacing:normal; text-transform:none; }

.settings-saved-state { display:inline-flex; align-items:center; gap:6px; margin-top:12px; padding:6px 10px; color:var(--set-muted); font-size:12px; font-weight:500; white-space:nowrap; transition:color .15s ease; }
.settings-saved-state::before { content:""; width:6px; height:6px; border-radius:50%; background:var(--success); }
.settings-saved-state.is-saved { color:var(--success); }

.settings-page-layout { display:grid; grid-template-columns:196px minmax(0,1fr); gap:40px; align-items:start; }
.settings-page-nav { position:sticky; top:92px; display:grid; gap:2px; }
.settings-page-nav button {
  min-height:34px; display:flex; align-items:center; gap:10px; padding:6px 10px;
  color:var(--set-muted); background:transparent; border:0; border-radius:8px;
  font-family:var(--font); font-size:13px; font-weight:500; text-align:left; cursor:pointer;
  transition:background-color .13s ease,color .13s ease;
}
.settings-page-nav button:hover { color:var(--set-ink); background:var(--set-soft); }
.settings-page-nav button.active { color:var(--set-ink); background:var(--set-soft); font-weight:600; }
.settings-page-nav svg { width:16px; height:16px; flex:0 0 auto; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.settings-page-nav button.active svg { color:var(--accent); }

.settings-page-content { min-width:0; max-width:760px; display:grid; gap:40px; }
.settings-section { scroll-margin-top:92px; min-width:0; }
.settings-section-head { margin-bottom:12px; }
.settings-section-head h3 { display:flex; align-items:center; gap:10px; margin:0; color:var(--set-ink); font-size:16px; font-weight:650; letter-spacing:-.01em; }
.settings-section-head p { margin:4px 0 0; color:var(--set-muted); font-size:13px; line-height:1.45; }
.settings-group-title { margin:24px 0 8px; color:var(--set-ink); font-size:13px; font-weight:600; }

.settings-group { overflow:hidden; background:var(--set-paper); border:1px solid var(--set-line); border-radius:12px; box-shadow:var(--v2-card-shadow,var(--shadow)); }
.settings-row { min-height:60px; display:flex; align-items:center; justify-content:space-between; gap:24px; padding:12px 16px; }
.settings-row + .settings-row,.settings-group-foot { border-top:1px solid var(--set-line); }
label.settings-row { cursor:pointer; }
.settings-row-copy { min-width:0; flex:1 1 auto; display:grid; gap:2px; }
.settings-row-copy strong { color:var(--set-ink); font-size:13.5px; font-weight:550; }
.settings-row-copy small { color:var(--set-muted); font-size:12.5px; line-height:1.4; }
.settings-row-control { flex:0 0 auto; display:flex; align-items:center; justify-content:flex-end; gap:8px; }

.settings-group-foot { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:12px 16px; background:color-mix(in srgb,var(--set-soft) 55%,var(--set-paper)); }
.settings-group-foot>span { color:var(--set-muted); font-size:12.5px; }
.settings-footnote { margin:12px 0 0; padding:0 4px; color:var(--set-muted); font-size:12px; line-height:1.55; }

/* Kimlik satırı: avatar + ad/e-posta + fotoğraf düğmeleri */
.settings-identity-row { justify-content:flex-start; gap:14px; padding-block:16px; }
.settings-profile-avatar { width:48px; height:48px; flex:0 0 48px; display:grid; place-items:center; border-radius:50%; color:#fff; background:var(--accent); font-size:18px; font-weight:650; }
.settings-identity-row .settings-row-copy strong { font-size:14.5px; font-weight:600; }
.settings-identity-row .settings-row-copy strong,.settings-identity-row .settings-row-copy small { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }

/* Alanlar */
.settings-input,.settings-select,.settings-bday select {
  height:34px; min-height:0; margin:0; padding:0 10px; color:var(--set-ink); background:var(--set-paper);
  border:1px solid var(--set-line); border-radius:8px; font-family:var(--font); font-size:13px; font-weight:500;
  transition:border-color .13s ease,box-shadow .13s ease;
}
.settings-row .settings-input:not(.settings-time) { width:260px; }
.settings-select { min-width:160px; }
.settings-bday select:first-child { width:84px; }
.settings-bday select:last-child { width:132px; }
.settings-input:focus,.settings-select:focus,.settings-bday select:focus { outline:0; border-color:var(--accent); box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 16%,transparent); }
.settings-time { width:124px; }
.settings-range-sep { color:var(--set-muted); }
.settings-quiet-hours { transition:opacity .15s ease; }
.settings-quiet-hours.is-disabled { opacity:.45; }
.settings-quiet-hours.is-disabled input { cursor:not-allowed; }

.settings-range { width:260px; }
.settings-range input[type=range] { flex:1 1 auto; min-width:0; margin:0; accent-color:var(--accent); }
.settings-range output { min-width:52px; color:var(--set-ink); font-size:12.5px; font-weight:600; font-variant-numeric:tabular-nums; text-align:right; }

.settings-color-row { gap:8px; }
.settings-color-row button { width:22px; height:22px; padding:0; background:var(--swatch); border:0; border-radius:50%; box-shadow:inset 0 0 0 1px rgba(0,0,0,.08); cursor:pointer; transition:box-shadow .13s ease; }
.settings-color-row button.selected { box-shadow:0 0 0 2px var(--set-paper),0 0 0 4px var(--swatch); }
.settings-color-row input[type=color] { width:22px; height:22px; flex:0 0 22px; padding:0; overflow:hidden; border:1px dashed var(--set-muted); border-radius:50%; appearance:none; -webkit-appearance:none; background:transparent; cursor:pointer; }
.settings-color-row input[type=color]:focus-visible,.settings-color-row button:focus-visible { outline:2px solid var(--accent); outline-offset:3px; }
.settings-color-row input[type=color]::-webkit-color-swatch-wrapper { padding:2px; }
.settings-color-row input[type=color]::-webkit-color-swatch { border:0; border-radius:50%; }
.settings-color-row input[type=color]::-moz-color-swatch { border:0; border-radius:50%; }

/* Düğmeler — §3.1 hiyerarşisi; görünüm tasarim-v2 düğme kalıbından gelir */
.settings-primary-btn,.settings-secondary-btn,.settings-text-btn {
  height:32px; display:inline-flex; align-items:center; justify-content:center; gap:6px; padding:0 12px;
  border-radius:8px; font-family:var(--font); font-size:12.5px; font-weight:600; white-space:nowrap; cursor:pointer;
}
.settings-primary-btn { color:#fff; background:var(--accent); border:1px solid transparent; }
.settings-secondary-btn { color:var(--set-ink); background:var(--set-paper); border:1px solid var(--set-line); }
.settings-text-btn { color:var(--set-muted); background:transparent; border:0; }
.settings-text-btn:hover:not(:disabled) { color:var(--danger); }
.settings-primary-btn:disabled,.settings-secondary-btn:disabled { opacity:.5; cursor:default; }
.settings-text-btn:disabled { display:none; }
.settings-icon-btn { width:34px; height:34px; min-height:0; flex:0 0 34px; display:grid; place-items:center; padding:0; color:var(--set-ink); background:var(--set-paper); border:1px solid var(--set-line); border-radius:8px; cursor:pointer; transition:background-color .13s ease; }
.settings-icon-btn:hover { background:var(--set-soft); }
.settings-icon-btn svg { width:14px; height:14px; stroke-width:2; stroke-linejoin:round; fill:currentColor; }

.settings-segmented { display:inline-flex; gap:2px; padding:2px; background:var(--set-soft); border-radius:8px; }
.settings-segmented button { height:28px; padding:0 12px; color:var(--set-muted); background:transparent; border:0; border-radius:6px; font-family:var(--font); font-size:12.5px; font-weight:550; cursor:pointer; }

.settings-link-row { color:inherit; text-decoration:none; transition:background-color .13s ease; }
.settings-link-row:hover { background:var(--set-soft); }
.settings-row-chevron { width:16px; height:16px; flex:0 0 auto; color:var(--set-muted); stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }

/* Güvenlik: kod durumu başlıkta küçük hap */
.settings-pin-status { display:inline-flex; align-items:center; gap:6px; height:22px; padding:0 8px; border-radius:999px; color:var(--set-muted); background:var(--set-soft); font-size:11.5px; font-weight:550; letter-spacing:0; }
.settings-pin-status::before { content:""; width:6px; height:6px; border-radius:50%; background:var(--warning); }
.settings-pin-status.is-set { color:var(--success); background:color-mix(in srgb,var(--success) 10%,transparent); }
.settings-pin-status.is-set::before { background:var(--success); }
.settings-pin-form .note-pin-cells { --pin-size:34px; gap:6px; }
.settings-pin-form .note-pin-cells span { height:40px; border-radius:8px; }

html[data-density="compact"] .card { padding:14px; border-radius:16px; }
html[data-density="compact"] table th,html[data-density="compact"] table td { padding-top:8px; padding-bottom:8px; }
html[data-density="compact"] .settings-row { min-height:50px; padding-block:8px; }

@media(max-width:900px) {
  .settings-page-layout { grid-template-columns:1fr; gap:20px; }
  .settings-page-nav { position:static; display:flex; gap:4px; overflow-x:auto; scrollbar-width:none; }
  .settings-page-nav::-webkit-scrollbar { display:none; }
  .settings-page-nav button { flex:0 0 auto; }
  .settings-page-nav .settings-saved-state { display:none; }
  .settings-page-content { max-width:none; }
}

@media(max-width:620px) {
  .settings-page-content { gap:32px; }
  .settings-row { flex-wrap:wrap; gap:10px 16px; padding:12px 14px; }
  .settings-row-copy { flex:1 1 0; }
  .settings-row-control.is-wide { width:100%; justify-content:flex-start; }
  .settings-quiet-hours .settings-row-control { width:100%; }
  .settings-quiet-hours .settings-time { flex:1; width:auto; }
  .settings-row .settings-input:not(.settings-time),.settings-range { width:100%; }
  .settings-input,.settings-select,.settings-bday select { height:44px; font-size:16px; }
  .settings-bday select:first-child { width:96px; }
  .settings-bday select:last-child { flex:1; width:auto; }
  .settings-segmented { width:100%; }
  .settings-segmented button { flex:1; }
  .settings-identity-row .settings-row-control { width:100%; justify-content:flex-start; padding-left:62px; }
}

/* ── Admin: Veri Yedeği kartı ─────────────────────────────────────
   Yedek dosyası bulut tamamen kaybolsa bile geri dönülecek tek kopya;
   kartın kendisi sade, ama yedek eskiyince başlık uyarı rengine döner. */
#page-admin .admin-backup-card .admin-backup-row {
  display:flex; flex-wrap:wrap; gap:10px; margin-top:4px;
}
#page-admin .admin-backup-card .admin-panel-meta.is-warning {
  color:var(--danger,#d94848);
  background:color-mix(in srgb,var(--danger,#d94848) 12%,transparent);
}
#page-admin .admin-backup-card .upload-result:empty { display:none; }
#page-admin .admin-backup-card .admin-backup-note {
  margin:10px 0 0; font-size:12px; line-height:1.5; color:var(--muted);
}
#page-admin .admin-backup-card .admin-backup-note:empty { display:none; }
#page-admin .admin-backup-card .progress-bar { margin-top:12px; }
#page-admin .admin-backup-card .admin-backup-progress-label {
  margin-top:6px; font-size:12px; color:var(--muted); text-align:center;
}

/* ── assets/styles/tips.css ── */
/* İpuçları › Yardım (2026-10-23, TASARIM-DILI.md §3.41)
   Üstte bölümlü sekme + soru araması; altta solda önizleme, sağda sorular.
   Önizleme (hm-*) gerçek ekranların sade çizimidir: yalnız jeton renkleri,
   kutu içinde kutu yok, işaretli öğe tek vurgu rengini taşır. */
#page-tips.tips-page { max-width: 1320px; padding-bottom: 72px; }
#page-tips button { font-family: inherit; }

/* ── Üst şerit: sekmeler + arama ───────────────────────────────────────── */
.help-bar { display: flex; align-items: center; gap: 12px; margin: 4px 0 20px; }
.help-tabs { display: inline-flex; align-items: center; gap: 2px; padding: 3px; border-radius: 11px; background: color-mix(in srgb, var(--desk-ink) 5.5%, transparent); }
.help-tabs > button {
  display: inline-flex; align-items: center; gap: 6px; min-height: 30px; padding: 5px 12px;
  border: 0; border-radius: 8px; background: transparent; color: var(--desk-muted);
  font-size: 12.5px; font-weight: 600; cursor: pointer; white-space: nowrap;
  transition: color .16s ease, background .16s ease, box-shadow .16s ease;
}
.help-tabs > button b { color: var(--desk-muted); font-size: 11px; font-weight: 600; font-variant-numeric: tabular-nums; }
.help-tabs > button:hover:not(:disabled) { color: var(--desk-ink); }
.help-tabs > button.active { background: var(--desk-paper); color: var(--desk-ink); box-shadow: var(--v2-lift, 0 0 0 1px var(--desk-line)); }
.help-tabs > button:disabled { opacity: .45; cursor: default; }
.help-tabs > button:focus-visible { outline: 2px solid var(--accent); outline-offset: 1px; }
.help-search { position: relative; display: flex; align-items: center; margin-left: auto; width: min(280px, 40vw); }
.help-search svg { position: absolute; left: 10px; width: 15px; height: 15px; stroke-width: 2; color: var(--desk-muted); pointer-events: none; }
#page-tips .help-search input {
  width: 100%; height: 34px; padding: 0 12px 0 32px; border: 1px solid transparent; border-radius: 10px;
  background: color-mix(in srgb, var(--desk-ink) 5%, transparent); color: var(--desk-ink);
  font: 500 13px/1 var(--font); transition: background-color .16s ease, border-color .16s ease, box-shadow .16s ease;
}
#page-tips .help-search input::placeholder { color: var(--desk-muted); }
#page-tips .help-search input:focus { outline: none; border-color: color-mix(in srgb, var(--accent) 55%, var(--desk-line)); background: var(--desk-paper); box-shadow: 0 0 0 4px color-mix(in srgb, var(--accent) 14%, transparent); }

/* ── Yerleşim ──────────────────────────────────────────────────────────── */
.help-layout { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(0, 1fr); gap: 24px; align-items: start; }
.help-stage-col { position: sticky; top: calc(var(--shell-top, 56px) + 16px); }
.help-empty { margin: 32px 0; color: var(--desk-muted); font-size: 13px; }

/* ── Önizleme sahnesi ──────────────────────────────────────────────────── */
.help-stage { border: 1px solid var(--desk-line); border-radius: 16px; background: var(--desk-paper); box-shadow: var(--v2-card-shadow, var(--shadow)); overflow: hidden; }
.help-stage-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 16px; color: var(--desk-muted); font-size: 11px; font-weight: 600; }
.help-stage-head > span:first-child { text-transform: uppercase; letter-spacing: .1em; }
.help-stage-count { font-variant-numeric: tabular-nums; }
.help-canvas {
  position: relative; display: grid; grid-template-columns: minmax(0, 1fr); align-content: center; gap: 12px; min-height: 360px; padding: 28px 24px;
  background:
    radial-gradient(circle at 1px 1px, color-mix(in srgb, var(--desk-ink) 9%, transparent) 1px, transparent 0) 0 0 / 16px 16px,
    var(--desk-soft);
  border-block: 1px solid var(--desk-line);
  font-size: 12px; color: var(--desk-ink);
}
.help-canvas.is-enter > * { animation: helpSceneIn .2s cubic-bezier(.2, .75, .25, 1) both; }
@keyframes helpSceneIn { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
.help-stage-foot { display: flex; align-items: center; gap: 12px; padding: 12px 12px 12px 16px; }
.help-caption { flex: 1; margin: 0; color: var(--desk-ink); font-size: 13px; line-height: 1.45; }
.help-caption b { font-weight: 650; }
.help-stage-nav { display: flex; gap: 4px; }
.help-nav-btn {
  display: grid; place-items: center; width: 32px; height: 32px; border: 1px solid var(--desk-line); border-radius: 9px;
  background: var(--desk-paper); color: var(--desk-ink); cursor: pointer; transition: border-color .16s ease, background .16s ease;
}
.help-nav-btn svg { width: 16px; height: 16px; stroke-width: 2; }
.help-nav-btn.is-next { border-color: var(--accent); background: var(--accent); color: var(--on-accent, white); }
.help-nav-btn:disabled { opacity: .4; cursor: default; }
.help-nav-btn:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }

/* ── Sorular ───────────────────────────────────────────────────────────── */
.help-questions { display: grid; gap: 6px; }
.help-group { margin: 12px 0 2px; color: var(--desk-muted); font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.help-group:first-child { margin-top: 0; }
.help-q { border: 1px solid transparent; border-radius: 14px; transition: background .16s ease, border-color .16s ease; }
.help-q:hover { background: color-mix(in srgb, var(--desk-ink) 3%, transparent); }
.help-q.is-open { border-color: var(--desk-line); background: var(--desk-paper); box-shadow: var(--v2-card-shadow, var(--shadow)); }
.help-q-head {
  display: grid; grid-template-columns: 24px minmax(0, 1fr) 16px; align-items: center; gap: 8px; width: 100%;
  padding: 12px 14px; border: 0; background: transparent; color: var(--desk-ink); text-align: left; cursor: pointer;
}
.help-q-head:focus-visible { outline: 2px solid var(--accent); outline-offset: -2px; border-radius: 14px; }
.help-q-no { color: var(--desk-muted); font-size: 11px; font-weight: 600; font-variant-numeric: tabular-nums; }
.help-q-title { font-size: 14px; font-weight: 600; line-height: 1.35; }
.help-q.is-open .help-q-title { font-weight: 680; }
.help-q-head > svg { width: 16px; height: 16px; stroke-width: 2; color: var(--desk-muted); transition: transform .16s ease; }
.help-q.is-open .help-q-head > svg { transform: rotate(180deg); }
.help-q-body { padding: 0 16px 16px 46px; }
.help-q-why { margin: 0 0 12px; color: var(--desk-muted); font-size: 13px; line-height: 1.5; }
.help-steps { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; counter-reset: help-step; }
.help-steps li { position: relative; padding-left: 28px; color: var(--desk-ink); font-size: 13px; line-height: 1.5; counter-increment: help-step; }
.help-steps li::before {
  content: counter(help-step); position: absolute; left: 0; top: 1px; display: grid; place-items: center; width: 20px; height: 20px;
  border-radius: 50%; background: var(--accent-soft); color: var(--accent); font-size: 11px; font-weight: 700; font-variant-numeric: tabular-nums;
}
.help-steps b, .help-q-note b { font-weight: 650; }
.help-q-note { margin: 12px 0 0; padding-top: 12px; border-top: 1px solid var(--desk-line); color: var(--desk-muted); font-size: 12px; line-height: 1.5; }
.help-q-actions { margin-top: 12px; }
.help-q-actions .btn { display: inline-flex; align-items: center; gap: 6px; }
.help-stage-slot:empty { display: none; }
.help-q-body .help-stage-slot { margin: 0 -4px 12px; }

/* ── Kısayollar sekmesi ────────────────────────────────────────────────── */
.help-keys-edit, .help-keys-fixed { align-self: start; padding: 16px; border: 1px solid var(--desk-line); border-radius: 16px; background: var(--desk-paper); box-shadow: var(--v2-card-shadow, var(--shadow)); }
.help-keys-fixed { background: transparent; box-shadow: none; }
.help-keys-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; margin-bottom: 8px; }
.help-keys-head b { display: block; font-size: 16px; font-weight: 680; letter-spacing: -.02em; }
.help-keys-head small { display: block; margin-top: 4px; color: var(--desk-muted); font-size: 12px; line-height: 1.45; }
.help-keys-head .btn { flex: 0 0 auto; }
.help-keys-group, .help-keys-fixed-group { margin-top: 16px; }
.help-keys-group .help-group, .help-keys-fixed-group .help-group { margin: 0 0 4px; }
.help-key-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 4px 12px; min-height: 40px; padding: 4px 0; }
.help-key-row + .help-key-row { border-top: 1px solid var(--desk-line); }
.help-key-desc { min-width: 0; color: var(--desk-ink); font-size: 13px; line-height: 1.35; }
.help-key-desc small { margin-left: 8px; color: var(--accent); font-size: 11px; font-weight: 600; }
.help-key-row.is-fixed { min-height: 34px; }
.help-key-row.is-fixed .help-key-desc { color: var(--desk-muted); font-size: 12.5px; }
.help-key-combo { display: inline-flex; align-items: center; gap: 4px; }
.help-key-combo i { color: var(--desk-muted); font-size: 11px; font-style: normal; }
.help-key-combo kbd, .help-key-btn {
  min-width: 26px; height: 26px; display: inline-flex; align-items: center; justify-content: center; padding: 0 8px;
  border: 1px solid var(--desk-line); border-bottom-width: 2px; border-radius: 7px; background: var(--desk-paper);
  color: var(--desk-ink); font: 650 12px/1 var(--font);
}
.help-key-btn { min-width: 34px; cursor: pointer; transition: border-color .16s ease, box-shadow .16s ease; }
.help-key-btn:hover { border-color: color-mix(in srgb, var(--accent) 45%, var(--desk-line)); }
.help-key-btn:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
.help-key-row.is-changed .help-key-btn { border-color: color-mix(in srgb, var(--accent) 45%, var(--desk-line)); color: var(--accent); }
.help-key-row.is-capturing .help-key-btn { min-width: 96px; border-color: var(--accent); background: var(--accent-soft); color: var(--accent); box-shadow: 0 0 0 4px color-mix(in srgb, var(--accent) 14%, transparent); }
.help-key-error { grid-column: 1 / -1; margin: 0; color: var(--danger); font-size: 12px; }
.help-keys-foot { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 16px; padding-top: 12px; border-top: 1px solid var(--desk-line); }
.help-keys-foot p { margin: 0; color: var(--desk-muted); font-size: 12px; line-height: 1.5; }
.help-keys-foot .btn { flex: 0 0 auto; }

/* ── Kısayol şeridi (sayfanın sonunda) ─────────────────────────────────── */
.tips-keys {
  display: flex; align-items: center; flex-wrap: wrap; gap: 12px 16px; margin: 32px 0 0; padding: 14px 16px;
  border: 1px solid var(--desk-line); border-radius: 16px; background: var(--desk-paper);
}
.tips-keys-copy { flex: 1 1 210px; min-width: 0; }
.tips-keys-eyebrow { color: var(--accent); font-size: 10px; font-weight: 700; letter-spacing: .1em; }
.tips-keys-copy h2 { margin: 4px 0 2px; color: var(--desk-ink); font-size: 15px; font-weight: 680; letter-spacing: -.02em; }
.tips-keys-copy p { margin: 0; color: var(--desk-muted); font-size: 12px; line-height: 1.5; }
.tips-keys-chips { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }
.tips-keys-chip { display: inline-flex; align-items: center; gap: 4px; padding: 4px 10px 4px 6px; border-radius: 999px; background: var(--desk-soft); }
.tips-keys-chip kbd, .hm-keys kbd, .hm-key, .hm-search kbd {
  min-width: 24px; height: 22px; display: inline-flex; align-items: center; justify-content: center; padding: 0 6px;
  border: 1px solid var(--desk-line); border-bottom-width: 2px; border-radius: 6px; background: var(--desk-paper);
  color: var(--desk-ink); font: 650 11px/1 var(--font);
}
.tips-keys-chip i { color: var(--desk-muted); font-size: 11px; font-style: normal; }
.tips-keys-chip small { margin-left: 2px; color: var(--desk-muted); font-size: 11px; font-weight: 550; }
.tips-keys-open {
  display: inline-flex; align-items: center; gap: 8px; min-height: 32px; padding: 6px 12px; border: 1px solid var(--desk-line);
  border-radius: 10px; background: var(--desk-paper); color: var(--desk-ink); font-size: 12px; font-weight: 600; cursor: pointer;
}
.tips-keys-open:hover { border-color: color-mix(in srgb, var(--desk-ink) 18%, var(--desk-line)); }
.tips-keys-open:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }

/* ── Önizleme parçaları (hm-*) ─────────────────────────────────────────── */
.help-canvas > *, .hm-win, .hm-notes, .hm-card-notes { min-width: 0; }
.help-canvas svg { width: 16px; height: 16px; stroke-width: 1.9; flex: 0 0 auto; }
.hm-muted { color: var(--desk-muted); font-weight: 500; }
.hm-win { position: relative; border: 1px solid var(--desk-line); border-radius: 14px; background: var(--desk-paper); box-shadow: var(--shadow); }
.hm-win-head { display: flex; align-items: center; gap: 8px; min-width: 0; padding: 10px 14px; border-bottom: 1px solid var(--desk-line); }
.hm-win-head b { overflow: hidden; font-size: 12.5px; font-weight: 650; white-space: nowrap; text-overflow: ellipsis; }
.hm-win-head > span { color: var(--desk-muted); font-size: 11px; white-space: nowrap; }
.hm-win-head > .hm-status { margin-left: auto; padding: 2px 8px; border-radius: 999px; background: var(--accent-soft); color: var(--accent); font-weight: 650; }
.hm-win-head > .hm-status.is-closed { background: var(--success-soft); color: var(--success); }
.hm-faded { opacity: .45; }

.hm-reply { display: grid; grid-template-columns: 26px minmax(0, 1fr) auto; gap: 10px; align-items: start; padding: 12px 14px; }
.hm-reply + .hm-reply { border-top: 1px solid var(--desk-line); }
.hm-reply.is-hover { background: var(--desk-soft); }
.hm-av { display: grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; background: var(--accent-soft); color: var(--accent); font-size: 11px; font-weight: 700; }
.hm-av.is-bursa { background: color-mix(in srgb, var(--bursa) 15%, transparent); color: var(--bursa); }
.hm-av.is-ist { background: color-mix(in srgb, var(--istanbul) 15%, transparent); color: var(--istanbul); }
.hm-reply-meta { display: flex; align-items: baseline; gap: 6px; }
.hm-reply-meta b { font-size: 12px; font-weight: 650; }
.hm-reply-meta span { color: var(--desk-muted); font-size: 11px; }
.hm-reply-body p { margin: 2px 0 0; font-size: 12.5px; line-height: 1.45; }
.hm-trail { display: block; margin-top: 4px; color: var(--desk-muted); font-size: 11px; font-style: italic; }
.hm-acts { display: flex; align-items: center; gap: 2px; }
.hm-ib { position: relative; display: grid; place-items: center; width: 30px; height: 30px; border: 0; border-radius: 8px; background: transparent; color: var(--desk-muted); }
.hm-ib.is-on { background: var(--accent-soft); color: var(--accent); }
.hm-ib.is-hover { background: var(--desk-soft); }

/* İşaretli öğe: tek vurgu halkası + ipucu + imleç. Basılınca sonraki adım. */
.hm-hit { position: relative; cursor: pointer; font: inherit; }
button.hm-ib.hm-hit, .hm-select.hm-hit { color: var(--accent); background: var(--accent-soft); box-shadow: 0 0 0 2px var(--accent); }
.hm-btn.hm-hit, .hm-menu-item.hm-hit, .hm-hit-block, .hm-orow.hm-hit, .hm-folder.hm-hit, .hm-board.hm-hit, .hm-board-tab.hm-hit, .hm-chip.hm-hit, .hm-day.hm-hit, .hm-key.hm-hit {
  box-shadow: 0 0 0 2px var(--accent), 0 0 0 6px color-mix(in srgb, var(--accent) 14%, transparent);
}
.hm-hit:hover { filter: brightness(1.03); }
.hm-hit:focus-visible { outline: 2px solid var(--accent); outline-offset: 4px; }
.hm-tip {
  position: absolute; bottom: calc(100% + 10px); left: 50%; z-index: 2; padding: 6px 10px; border: 1px solid var(--desk-line);
  border-radius: 9px; background: var(--desk-paper); color: var(--desk-ink); box-shadow: 0 10px 26px rgba(15, 23, 42, .16);
  font: 680 11.5px/1.2 var(--font); white-space: nowrap; transform: translateX(-50%); pointer-events: none;
}
.hm-tip::after {
  content: ""; position: absolute; left: 50%; bottom: -5px; width: 8px; height: 8px; border-right: 1px solid var(--desk-line);
  border-bottom: 1px solid var(--desk-line); background: var(--desk-paper); transform: translateX(-50%) rotate(45deg);
}
.hm-cursor { position: absolute; right: -12px; bottom: -16px; z-index: 3; width: 20px; height: 20px; color: var(--desk-ink); pointer-events: none; animation: helpCursorIn .5s cubic-bezier(.2, .75, .25, 1) .15s both; }
.hm-cursor svg { width: 20px; height: 20px; }
@keyframes helpCursorIn { from { opacity: 0; transform: translate(14px, 14px); } to { opacity: 1; transform: none; } }

.hm-btn {
  position: relative; display: inline-flex; align-items: center; justify-content: center; gap: 6px; height: 30px; padding: 0 12px;
  border: 1px solid var(--desk-line); border-radius: 9px; background: var(--desk-paper); color: var(--desk-ink);
  font-size: 12px; font-weight: 600; white-space: nowrap;
}
.hm-btn svg { width: 14px; height: 14px; }
.hm-btn.is-primary { border-color: var(--accent); background: var(--accent); color: var(--on-accent, white); }
.hm-btn.is-on { border-color: color-mix(in srgb, var(--accent) 40%, var(--desk-line)); color: var(--accent); }

.hm-dialog { display: grid; gap: 10px; max-width: 420px; width: 100%; justify-self: center; padding: 16px; border: 1px solid var(--desk-line); border-radius: 16px; background: var(--desk-paper); box-shadow: 0 18px 44px rgba(15, 23, 42, .18); }
.hm-dialog-head b { display: block; font-size: 13.5px; font-weight: 680; }
.hm-dialog-head small { color: var(--desk-muted); font-size: 11.5px; }
.hm-dialog-foot { display: flex; justify-content: flex-end; gap: 8px; margin-top: 4px; }
.hm-field { display: grid; gap: 4px; }
.hm-field small { color: var(--desk-muted); font-size: 11px; font-weight: 600; }
.hm-field > span { display: flex; align-items: center; justify-content: space-between; gap: 8px; min-height: 32px; padding: 0 10px; border: 1px solid var(--desk-line); border-radius: 9px; font-size: 12px; }
.hm-field.is-area > span { min-height: 52px; align-items: flex-start; padding-top: 8px; }
.hm-field i, .hm-chip { font-style: normal; }
.hm-order-pick { display: grid; gap: 8px; padding-top: 10px; border-top: 1px solid var(--desk-line); }
.hm-order-pick b { font-size: 12px; font-weight: 650; }
.hm-check { display: flex; align-items: center; gap: 8px; font-size: 12px; }
.hm-check i { display: grid; place-items: center; width: 16px; height: 16px; border: 1.5px solid var(--desk-line); border-radius: 5px; }
.hm-check.is-on i { border-color: var(--accent); background: var(--accent); color: var(--on-accent, white); }
.hm-check i svg { width: 12px; height: 12px; stroke-width: 2.6; }

.hm-chip { display: inline-flex; align-items: center; gap: 4px; padding: 2px 8px; border-radius: 999px; background: var(--desk-soft); color: var(--desk-ink); font-size: 11px; font-weight: 600; white-space: nowrap; }
.hm-chip svg { width: 12px; height: 12px; }
.hm-chip.is-soft { color: var(--desk-muted); }
.hm-chip.is-filter { background: var(--accent-soft); color: var(--accent); }
.hm-chip.is-termin { background: var(--warning-fill); color: var(--warning-ink); }
.hm-chip i { color: var(--desk-muted); }

.hm-notes { display: grid; grid-template-columns: minmax(0, 1fr); gap: 2px; padding: 4px 0; }
.hm-notes-head { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 8px 14px; }
.hm-notes-head b { font-size: 12px; font-weight: 650; }
.hm-seg { display: inline-flex; gap: 2px; padding: 2px; border-radius: 8px; background: color-mix(in srgb, var(--desk-ink) 5.5%, transparent); }
.hm-seg i { padding: 2px 8px; border-radius: 6px; color: var(--desk-muted); font-size: 11px; font-style: normal; font-weight: 600; }
.hm-seg i.on { background: var(--desk-paper); color: var(--desk-ink); box-shadow: var(--v2-lift, 0 0 0 1px var(--desk-line)); }
.hm-seg.is-lg i { padding: 4px 12px; font-size: 12px; }
.hm-note { display: grid; gap: 4px; padding: 8px 14px; border-radius: 10px; }
.hm-dialog .hm-note { padding: 10px 12px; background: var(--desk-soft); }
.hm-note.is-fresh { background: color-mix(in srgb, var(--accent) 8%, transparent); }
.hm-note-meta { display: flex; align-items: center; gap: 6px; color: var(--desk-muted); font-size: 11px; }
.hm-note-meta em { margin-left: auto; color: var(--accent); font-style: normal; font-weight: 650; }
.hm-note p { margin: 0; font-size: 12.5px; line-height: 1.45; }
.hm-composer { display: flex; align-items: center; gap: 8px; margin: 6px 14px 8px; padding: 6px 6px 6px 10px; border: 1px solid var(--desk-line); border-radius: 22px; background: var(--desk-paper); }
.hm-composer-text { flex: 1; min-width: 0; overflow: hidden; font-size: 12.5px; white-space: nowrap; text-overflow: ellipsis; }
.hm-composer .hm-ib { width: 28px; height: 28px; border-radius: 50%; }

.hm-toast { display: inline-flex; align-items: center; gap: 8px; justify-self: center; padding: 8px 14px; border-radius: 10px; background: var(--desk-ink); color: var(--desk-paper); font-size: 12px; font-weight: 600; box-shadow: 0 18px 44px rgba(15, 23, 42, .18); }
.hm-toast span { display: grid; place-items: center; width: 18px; height: 18px; border-radius: 50%; background: var(--success); color: white; }
.hm-toast span svg { width: 12px; height: 12px; stroke-width: 2.6; }

.hm-split { display: grid; grid-template-columns: 150px minmax(0, 1fr); gap: 12px; align-items: start; }
.hm-split.is-side { grid-template-columns: 160px minmax(0, 1fr); }
.hm-rail, .hm-side { display: grid; gap: 2px; padding: 8px; border: 1px solid var(--desk-line); border-radius: 14px; background: var(--desk-paper); }
.hm-folder, .hm-side-item { position: relative; display: flex; align-items: center; justify-content: space-between; gap: 6px; min-height: 30px; padding: 0 10px; border: 0; border-radius: 8px; background: transparent; color: var(--desk-ink); font-size: 12px; font-weight: 600; text-align: left; }
.hm-folder b { color: var(--desk-muted); font-size: 11px; font-variant-numeric: tabular-nums; }
.hm-folder.is-active, .hm-side-item.is-active { background: var(--desk-soft); box-shadow: var(--v2-lift, 0 0 0 1px var(--desk-line)); }
.hm-side small { margin: 8px 10px 2px; color: var(--desk-muted); font-size: 10px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.hm-parked { display: grid; gap: 1px; padding: 6px 10px; border-radius: 8px; }
.hm-parked b { font-size: 12px; font-weight: 650; font-variant-numeric: tabular-nums; }
.hm-parked span { overflow: hidden; color: var(--desk-muted); font-size: 11px; white-space: nowrap; text-overflow: ellipsis; }
.hm-parked.is-fresh { background: var(--accent-soft); }
.hm-parked.is-fresh b { color: var(--accent); }

.hm-list { padding: 4px 0; }
.hm-trow { display: grid; grid-template-columns: minmax(0, 1fr) auto; grid-template-rows: auto auto; column-gap: 8px; padding: 8px 14px; }
.hm-trow + .hm-trow { border-top: 1px solid var(--desk-line); }
.hm-trow.is-active { background: var(--desk-soft); }
.hm-trow-title { display: flex; align-items: center; gap: 6px; min-width: 0; overflow: hidden; font-size: 12.5px; font-weight: 550; white-space: nowrap; text-overflow: ellipsis; }
.hm-trow.is-unread .hm-trow-title { font-weight: 700; }
.hm-dot { width: 7px; height: 7px; flex: 0 0 7px; border-radius: 50%; background: var(--accent); }
.hm-trow-meta { grid-column: 1; color: var(--desk-muted); font-size: 11px; }
.hm-trow-time { grid-column: 2; grid-row: 1; color: var(--desk-muted); font-size: 11px; font-variant-numeric: tabular-nums; }
.hm-trow-time.is-stale { color: var(--warning); font-weight: 650; }

.hm-orow { position: relative; display: grid; grid-template-columns: 22px 48px minmax(0, 1fr) auto 58px 66px; align-items: center; gap: 8px; width: 100%; padding: 8px 14px; border: 0; background: transparent; color: var(--desk-ink); text-align: left; }
.hm-orow + .hm-orow, .hm-results .hm-orow + .hm-orow { border-top: 1px solid var(--desk-line); }
.hm-orow.is-selected { background: color-mix(in srgb, var(--accent) 6%, transparent); }
.hm-orow.hm-hit { border-radius: 10px; background: var(--desk-paper); }
.hm-select { position: relative; display: grid; place-items: center; width: 22px; height: 22px; padding: 0; border: 0; border-radius: 50%; background: transparent; color: var(--desk-muted); }
.hm-select.is-on { color: var(--accent); }
.hm-select svg { width: 18px; height: 18px; }
.hm-sip, .hm-sip-sm { font-weight: 700; letter-spacing: .015em; font-variant-numeric: tabular-nums; }
.hm-sip { font-size: 18px; letter-spacing: -.01em; }
.hm-sip-sm { font-size: 12.5px; }
.hm-orow-firm { overflow: hidden; font-size: 12px; font-weight: 600; white-space: nowrap; text-overflow: ellipsis; }
.hm-orow-fabric { color: var(--desk-muted); font-size: 11.5px; white-space: nowrap; }
.hm-orow-kg { color: var(--desk-ink); font-size: 12px; font-weight: 600; text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.hm-stage { justify-self: end; padding: 2px 8px; border-radius: 999px; background: var(--desk-soft); color: var(--desk-muted); font-size: 11px; font-weight: 600; }
.hm-results { display: grid; gap: 0; padding: 8px; border: 1px solid var(--desk-line); border-radius: 14px; background: var(--desk-paper); box-shadow: 0 18px 44px rgba(15, 23, 42, .18); }
.hm-results > small { padding: 6px 8px 4px; color: var(--desk-muted); font-size: 10px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }

.hm-topbar { display: flex; justify-content: center; }
.hm-search { display: flex; align-items: center; gap: 8px; width: min(360px, 100%); height: 38px; padding: 0 12px; border: 1px solid transparent; border-radius: 10px; background: color-mix(in srgb, var(--desk-ink) 6%, transparent); color: var(--desk-muted); font-size: 12.5px; }
.hm-search > span { flex: 1; text-align: left; }
.hm-search.is-focus { border-color: color-mix(in srgb, var(--accent) 55%, var(--desk-line)); background: var(--desk-paper); box-shadow: 0 0 0 4px color-mix(in srgb, var(--accent) 14%, transparent); }
.hm-typed { color: var(--desk-ink); }
.hm-typed::after { content: ""; display: inline-block; width: 1.5px; height: 14px; margin-left: 1px; vertical-align: -2px; background: var(--accent); }
.hm-hit-block { display: block; width: auto; padding: 0; border: 0; border-radius: 10px; background: transparent; color: inherit; text-align: left; }
.hm-topbar .hm-hit-block { width: min(360px, 100%); }
.hm-topbar .hm-hit-block .hm-search { width: 100%; }

.hm-order-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 14px; border-bottom: 1px solid var(--desk-line); }
.hm-order-head > div:first-child { display: grid; gap: 2px; min-width: 0; }
.hm-meta { overflow: hidden; color: var(--desk-muted); font-size: 11.5px; white-space: nowrap; text-overflow: ellipsis; }
.hm-facts { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); padding: 4px 0; }
.hm-facts > span, .hm-facts > .hm-hit-block { display: grid; gap: 2px; padding: 10px 14px; }
.hm-facts > span + span, .hm-facts > span + .hm-hit-block, .hm-facts > .hm-hit-block + span { border-left: 1px solid var(--desk-line); }
.hm-facts small { color: var(--desk-muted); font-size: 10px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.hm-facts b { font-size: 13px; font-weight: 650; font-variant-numeric: tabular-nums; white-space: nowrap; }
.hm-fact-hit { margin: 4px; }
.hm-fact-hit b { color: var(--accent); }
.hm-scope { padding: 8px 14px 0; }

.hm-has-menu { overflow: visible; padding-bottom: 8px; }
.hm-menu { display: grid; gap: 2px; width: min(330px, 100%); padding: 6px; border: 1px solid var(--desk-line); border-radius: 14px; background: var(--desk-paper); box-shadow: 0 18px 44px rgba(15, 23, 42, .18); }
.hm-has-menu .hm-menu { margin: -2px 10px 0 auto; }
.hm-menu.is-up { justify-self: center; }
.hm-menu-item { position: relative; display: grid; grid-template-columns: 28px minmax(0, 1fr) auto; align-items: center; gap: 10px; width: 100%; padding: 7px 8px; border: 0; border-radius: 9px; background: transparent; color: var(--desk-ink); text-align: left; }
.hm-menu-item.is-dim { opacity: .55; }
.hm-menu-item.hm-hit { background: var(--desk-soft); }
.hm-menu-ic { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 8px; background: var(--accent-soft); color: var(--accent); }
.hm-menu-copy { display: grid; gap: 1px; min-width: 0; }
.hm-menu-copy b { font-size: 12px; font-weight: 650; }
.hm-menu-copy small { overflow: hidden; color: var(--desk-muted); font-size: 10.5px; font-weight: 450; white-space: nowrap; text-overflow: ellipsis; }
.hm-menu-caret { color: var(--desk-muted); }

.hm-dock { display: flex; align-items: center; gap: 6px; justify-self: center; padding: 6px 8px 6px 14px; border: 1px solid var(--desk-line); border-radius: 14px; background: var(--desk-paper); box-shadow: 0 18px 44px rgba(15, 23, 42, .18); }
.hm-dock > i { width: 1px; height: 20px; margin: 0 4px; background: var(--desk-line); }
.hm-dock-count { font-size: 12px; color: var(--desk-muted); white-space: nowrap; }
.hm-dock-count b { color: var(--desk-ink); font-weight: 700; }
.hm-dock-more { display: inline-flex; align-items: center; gap: 4px; padding: 0 8px; color: var(--desk-muted); font-size: 12px; font-weight: 600; }
.hm-dock-wrap { display: grid; gap: 8px; justify-items: center; }

.hm-toolbar { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }
.hm-empty { padding: 36px 16px; text-align: center; }
.hm-empty p { margin: 0; color: var(--desk-muted); font-size: 12.5px; }

.hm-sheets { position: relative; height: 230px; }
.hm-sheet { position: absolute; top: 10px; left: 50%; display: grid; gap: 8px; align-content: start; width: 170px; height: 210px; padding: 16px; border: 1px solid var(--desk-line); border-radius: 6px; background: var(--desk-paper); box-shadow: var(--shadow); transform: translateX(calc(-50% + (var(--i, 1) - 1) * 46px)) rotate(calc((var(--i, 1) - 1) * 4deg)); }
.hm-sheets.is-single .hm-sheet { width: 200px; transform: translateX(-50%); }
.hm-sheet small { color: var(--desk-muted); font-size: 10px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.hm-sheet b { font-size: 14px; font-weight: 700; }
.hm-sheet i { height: 7px; border-radius: 4px; background: var(--desk-soft); }
.hm-sheet i:nth-of-type(2n) { width: 72%; }

.hm-trow-termin { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 14px; }
.hm-trow-termin + .hm-trow-termin { border-top: 1px solid var(--desk-line); }
.hm-trow-termin > span:first-child { display: grid; gap: 1px; min-width: 0; }
.hm-trow-termin b { font-size: 12.5px; font-weight: 650; }
.hm-trow-termin small { color: var(--desk-muted); font-size: 11px; }
.hm-cal { display: grid; grid-template-columns: repeat(7, 1fr); gap: 2px 4px; padding: 10px 14px 14px; text-align: center; }
.hm-cal > small { color: var(--desk-muted); font-size: 10px; font-weight: 600; }
.hm-day { position: relative; display: grid; place-items: center; justify-self: center; width: 26px; height: 26px; padding: 0; border: 0; border-radius: 50%; background: transparent; color: var(--desk-ink); font-size: 11.5px; font-variant-numeric: tabular-nums; }
.hm-day.is-today { box-shadow: inset 0 0 0 1.5px var(--accent); color: var(--accent); font-weight: 650; }
.hm-day.hm-hit { background: var(--accent); color: var(--on-accent, white); font-weight: 700; }
/* Notlar ve Takvim sahneleri: seçili gün, kayıtlı gün noktası, gün bölümü, iki yuvarlak düğme. */
.hm-day.is-selected { background: var(--accent-soft); color: var(--accent); font-weight: 650; }
.hm-day.is-marked::after { content: ""; position: absolute; bottom: 2px; width: 4px; height: 4px; border-radius: 50%; background: var(--accent); }
.hm-day.hm-hit.is-marked::after { background: var(--on-accent, white); }
.hm-cal-day { display: grid; border-top: 1px solid var(--desk-line); }
.hm-cal-day > small { padding: 10px 14px 2px; color: var(--desk-muted); font-size: 10px; font-weight: 700; letter-spacing: .08em; }
.hm-cal-day > p { margin: 0; padding: 6px 14px 10px; font-size: 12px; }
.hm-cal-quick { display: flex; justify-content: center; gap: 10px; padding: 10px 14px 14px; border-top: 1px solid var(--desk-line); }
.hm-cal-quick .hm-ib { width: 34px; height: 34px; border-radius: 50%; box-shadow: inset 0 0 0 1px var(--desk-line); }
.hm-detect { display: flex; flex-wrap: wrap; gap: 6px; padding: 0 14px 12px; }
.hm-win-head > .hm-seg, .hm-win-head > .hm-acts { margin-left: auto; }
.hm-note-editor { position: relative; display: grid; gap: 8px; padding: 12px 14px 14px; }
.hm-note-editor > p { margin: 0; font-size: 12.5px; line-height: 1.55; }
.hm-menu-group { padding: 6px 8px 2px; color: var(--desk-muted); font-size: 10px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.hm-menu .hm-av { width: 28px; height: 28px; }
.hm-checks { display: grid; gap: 10px; padding: 12px 14px; }
.hm-dialog-foot.is-inset { padding: 0 14px 14px; }
.hm-keys { display: flex; justify-content: center; gap: 6px; }
.hm-keys kbd, .hm-key { min-width: 34px; height: 30px; font-size: 13px; }
.hm-key { position: relative; cursor: pointer; }
.hm-keys kbd.on { border-color: var(--accent); color: var(--accent); }

.hm-board { position: relative; display: flex; align-items: center; gap: 10px; width: 100%; min-height: 36px; padding: 0 10px; border: 0; border-radius: 9px; background: transparent; color: var(--desk-ink); font-size: 12.5px; font-weight: 600; text-align: left; }
.hm-board i { width: 8px; height: 8px; border-radius: 50%; background: var(--c); }
.hm-board small { margin-left: auto; color: var(--desk-muted); font-size: 11px; font-weight: 500; }
.hm-board.hm-hit { background: var(--desk-soft); }
.hm-board-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, .8fr); gap: 12px; align-items: start; }
.hm-board-grid.is-one { grid-template-columns: minmax(0, 360px); justify-content: center; }
.hm-card { position: relative; display: grid; gap: 8px; padding: 12px 14px; border: 1px solid var(--desk-line); border-radius: 14px; background: var(--desk-paper); box-shadow: var(--shadow); }
.hm-card.is-fresh, .hm-card.is-picked { box-shadow: 0 0 0 2px var(--accent), var(--shadow); }
.hm-card.is-ghost { opacity: .6; }
.hm-card-head { display: flex; align-items: baseline; gap: 6px; min-width: 0; }
.hm-card-firm { margin-left: auto; overflow: hidden; color: var(--desk-muted); font-size: 11px; font-weight: 600; white-space: nowrap; text-overflow: ellipsis; }
.hm-steps { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 4px; }
.hm-steps span { display: grid; justify-items: center; gap: 4px; color: var(--desk-muted); font-size: 10px; font-weight: 600; white-space: nowrap; }
.hm-steps i { display: grid; place-items: center; width: 16px; height: 16px; border: 1.5px solid var(--desk-line); border-radius: 50%; }
.hm-steps i svg { width: 10px; height: 10px; stroke-width: 2.8; }
.hm-steps .is-done { color: var(--desk-ink); }
.hm-steps .is-done i { border-color: transparent; background: var(--desk-soft); color: var(--success); }
.hm-steps .is-now { color: var(--accent); }
.hm-steps .is-now i { border: 2px solid var(--accent); box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent) 16%, transparent); }
.hm-win > .hm-steps { padding: 10px 14px 12px; border-top: 1px solid var(--desk-line); }
.hm-card-fabric { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding-top: 8px; border-top: 1px solid var(--desk-line); }
.hm-card-fabric > span:first-child { display: grid; gap: 1px; }
.hm-card-fabric b { font-size: 12px; font-weight: 650; }
.hm-card-fabric small { color: var(--desk-muted); font-size: 11px; }
.hm-card-notes { position: relative; display: grid; grid-template-columns: minmax(0, 1fr); gap: 4px; margin: 0 -14px -12px; padding: 4px 0 8px; border-top: 1px solid var(--desk-line); }
.hm-card-notes .hm-notes-head { padding: 6px 14px; }
.hm-card-notes .hm-composer { margin-right: 52px; }
.hm-card-last { margin: 0; padding: 0 56px 6px 14px; font-size: 12px; color: var(--desk-ink); }
.hm-note-add { position: absolute; right: 12px; bottom: 10px; width: 34px; height: 34px; border-radius: 50%; }
.hm-live { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 8px 10px; border-radius: 10px; background: var(--desk-soft); }
.hm-live > span { display: grid; gap: 1px; }
.hm-live b { font-size: 12px; font-weight: 650; }
.hm-live small { color: var(--desk-muted); font-size: 11px; }

.hm-mapview { display: grid; grid-template-columns: minmax(0, 1fr) 210px; gap: 12px; align-items: center; }
.hm-map { position: relative; height: 220px; border-radius: 14px; background: color-mix(in srgb, var(--desk-ink) 4%, var(--desk-paper)); border: 1px solid var(--desk-line); overflow: hidden; }
.hm-map::before { content: ""; position: absolute; inset: 50% -10% auto; height: 16px; background: color-mix(in srgb, var(--desk-ink) 7%, transparent); transform: rotate(-14deg); }
.hm-bld { position: absolute; width: 46px; height: 46px; border-radius: 8px; background: var(--desk-paper); border: 1px solid var(--desk-line); box-shadow: var(--shadow); left: 14%; top: 18%; }
.hm-bld.is-b { left: 40%; top: 10%; }
.hm-bld.is-c { left: 58%; top: 52%; }
.hm-bld.is-d { left: 22%; top: 62%; }
.hm-bld.is-on { border-color: var(--accent); box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent) 22%, transparent); }
.hm-bld em { position: absolute; top: -24px; left: 50%; padding: 2px 6px; border-radius: 6px; background: var(--accent); color: var(--on-accent, white); font-size: 10px; font-style: normal; font-weight: 700; transform: translateX(-50%); }
.hm-drawer { display: grid; gap: 4px; padding: 12px 0 4px; border: 1px solid var(--desk-line); border-radius: 14px; background: var(--desk-paper); box-shadow: var(--shadow); }
.hm-drawer > b { padding: 0 14px; font-size: 13px; font-weight: 680; }
.hm-drawer > small { padding: 0 14px 6px; color: var(--desk-muted); font-size: 11px; }
.hm-drawer .hm-trow-termin { border-top: 1px solid var(--desk-line); }

/* ── Dar ekran ─────────────────────────────────────────────────────────── */
@media (max-width: 900px) {
  .help-layout { grid-template-columns: minmax(0, 1fr); }
  .help-q-body { padding: 0 14px 14px; }
  .help-q-body .help-stage-slot { margin: 0 -2px 14px; }
  .help-canvas { min-height: 300px; padding: 20px 14px; }
}
@media (max-width: 760px) {
  .help-keys-head, .help-keys-foot { flex-direction: column; align-items: stretch; }
  .help-bar { flex-wrap: wrap; }
  .help-tabs { order: 2; width: 100%; overflow-x: auto; scrollbar-width: none; }
  .help-tabs > button { flex: 1 0 auto; }
  .help-search { order: 1; width: 100%; margin-left: 0; }
  #page-tips .help-search input { height: 44px; font-size: 16px; }
  .hm-split, .hm-split.is-side { grid-template-columns: minmax(0, 1fr); }
  .hm-split > .hm-rail, .hm-split > .hm-side { display: flex; flex-wrap: wrap; }
  .hm-side small, .hm-parked:not(.is-fresh) { display: none; }
  .hm-orow { grid-template-columns: 22px 46px minmax(0, 1fr) 56px; }
  .hm-orow-fabric, .hm-stage { display: none; }
  .hm-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .hm-facts > span:nth-child(3) { border-left: 0; }
  .hm-board-grid { grid-template-columns: minmax(0, 1fr); }
  .hm-board-grid > .is-ghost { display: none; }
  .hm-mapview { grid-template-columns: minmax(0, 1fr); }
  .hm-reply { grid-template-columns: 26px minmax(0, 1fr); }
  .hm-reply .hm-acts { grid-column: 1 / -1; justify-content: flex-end; }
}
@media (max-width: 520px) {
  #page-tips.tips-page { padding-inline: 14px; }
  .help-tabs > button { padding-inline: 10px; }
  .help-tabs > button b { display: none; }
  .tips-keys-open { width: 100%; justify-content: center; }
}
@media (prefers-reduced-motion: reduce) {
  .help-canvas.is-enter > *, .hm-cursor { animation: none; }
  .help-q-head > svg, .help-tabs > button { transition: none; }
}

/* Takip pano şeridi (SABİT PANOLAR · PANOLARIM), renk seçimi, tek satırlık hap grubu. */
.hm-boards-strip { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; padding: 10px 12px; border-bottom: 1px solid var(--desk-line); }
.hm-boards-strip > small { color: var(--desk-muted); font-size: 10px; font-weight: 650; letter-spacing: .08em; }
.hm-board-tab { display: inline-flex; align-items: center; gap: 6px; min-height: 28px; padding: 0 10px; border: 1px solid var(--desk-line); border-radius: 9px; background: var(--desk-paper); color: var(--desk-ink); font-size: 11.5px; font-weight: 600; }
.hm-board-tab i { width: 7px; height: 7px; border-radius: 50%; background: var(--c); }
.hm-board-tab b { color: var(--desk-muted); font-size: 10.5px; font-weight: 600; font-variant-numeric: tabular-nums; }
.hm-board-tab.is-on { border-color: color-mix(in srgb, var(--accent) 40%, var(--desk-line)); }
.hm-strip-sep { width: 1px; height: 18px; margin: 0 4px; background: var(--desk-line); }
.hm-boards-strip + .hm-board-grid { padding: 12px; }
.hm-swatches { display: flex; gap: 8px; }
.hm-swatches i { width: 18px; height: 18px; border-radius: 50%; background: var(--c); }
.hm-swatches i.is-on { box-shadow: 0 0 0 2px var(--desk-paper), 0 0 0 4px var(--c); }
.hm-seg-row { display: flex; flex-wrap: wrap; gap: 6px; }
/* Takip panosunun sonundaki yuvarlak + (watch-quick-add-slot): kartın yanında sessiz yuva. */
.hm-lane-add { display: grid; place-items: center; min-height: 120px; border: 1px dashed var(--desk-line); border-radius: 14px; }
.hm-lane-add .hm-ib { width: 40px; height: 40px; border-radius: 50%; }
.hm-dialog .hm-field > span > .hm-composer-text { flex: 1; }
/* Yeni ticket formu ve Bursa sipariş girişi önizlemeleri. */
.hm-win.hm-pad { display: grid; gap: 10px; padding: 14px; }
.hm-tk-step { display: flex; align-items: center; gap: 8px; }
.hm-tk-step small { color: var(--desk-muted); font-size: 11px; font-weight: 650; }
.hm-tk-n { display: grid; place-items: center; width: 20px; height: 20px; border-radius: 50%; background: var(--accent-soft); color: var(--accent); font-size: 10.5px; font-weight: 700; }
.hm-menu.is-flat { position: static; box-shadow: none; }
.hm-indent { padding-left: 28px; }
.hm-bursa-card { display: grid; gap: 10px; padding: 14px; border: 1px solid var(--desk-line); border-radius: 14px; background: var(--desk-paper); }
.hm-bursa-head { display: flex; align-items: center; gap: 8px; font-size: 13px; }
.hm-bursa-colors { display: grid; gap: 6px; }
.hm-bursa-color { display: flex; justify-content: space-between; gap: 10px; min-height: 30px; align-items: center; padding: 0 10px; border: 1px solid var(--desk-line); border-radius: 9px; font-size: 12px; }
.hm-bursa-color b { font-weight: 600; font-variant-numeric: tabular-nums; }
.hm-bursa-color.is-focus { border-color: var(--accent); box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent) 14%, transparent); }
.hm-bursa-add { color: var(--accent); font-size: 12px; font-weight: 600; }
.hm-bursa-colors > .hm-btn { justify-self: start; }
.hm-bursa-spec { display: grid; gap: 6px; padding-top: 10px; border-top: 1px solid var(--desk-line); }
.hm-bursa-spec > small { color: var(--desk-muted); font-size: 10px; font-weight: 650; letter-spacing: .08em; text-transform: uppercase; }
.hm-basket { display: grid; gap: 4px; padding: 12px 14px; border: 1px solid var(--desk-line); border-radius: 14px; background: var(--desk-paper); }
.hm-basket.is-fresh { border-color: color-mix(in srgb, var(--accent) 40%, var(--desk-line)); }
.hm-basket-head { display: flex; align-items: center; gap: 8px; padding-bottom: 6px; }
.hm-basket-head > .hm-ib, .hm-basket-head > .hm-hit, .hm-basket-head > .hm-status { margin-left: auto; }
.hm-basket-line { display: grid; grid-template-columns: 64px minmax(0, 1fr) auto; gap: 10px; align-items: center; padding: 6px 0; border-top: 1px solid var(--desk-line); font-size: 12px; }
.hm-basket > .hm-status, .hm-basket-head > .hm-status { padding: 2px 8px; border-radius: 999px; background: var(--success-soft); color: var(--success); font-size: 11px; font-weight: 650; }
.hm-erp-no { color: var(--success); font-weight: 650; }
.hm-drop-new { display: flex; align-items: center; justify-content: center; gap: 6px; width: 100%; min-height: 34px; border: 1px dashed var(--desk-line); border-radius: 10px; background: transparent; color: var(--desk-muted); font-size: 12px; }
.hm-drop-new.hm-hit { box-shadow: 0 0 0 2px var(--accent), 0 0 0 6px color-mix(in srgb, var(--accent) 14%, transparent); color: var(--accent); }
.hm-chip.hm-hit { border: 0; }

/* Ana sayfa (2026-10-25): selamlama satırı + gündem, pano ızgarası, düzen şeridi. */
.hm-home-hero { display: flex; align-items: flex-end; justify-content: space-between; gap: 12px; padding: 14px 14px 10px; }
.hm-home-greet { display: block; font-size: 17px; font-weight: 700; letter-spacing: -.02em; }
.hm-agenda { display: flex; flex-wrap: wrap; align-items: center; gap: 2px; margin: 4px 0 0 -6px; color: var(--desk-muted); font-size: 11.5px; }
.hm-agenda-date { padding: 4px 6px; font-weight: 600; }
.hm-agenda-item { display: inline-flex; align-items: center; gap: 4px; padding: 4px 6px; border: 0; border-radius: 7px; background: none; color: var(--desk-muted); font-size: 11.5px; }
.hm-agenda-item b { color: var(--desk-ink); font-weight: 700; }
.hm-agenda-item i { width: 6px; height: 6px; border-radius: 50%; background: var(--desk-muted); opacity: .6; }
.hm-agenda-item.is-overdue i { background: var(--danger); opacity: 1; }
.hm-agenda-item.is-overdue b { color: var(--danger); }
.hm-agenda-item.is-soon i { background: var(--warning-fill); opacity: 1; }
.hm-agenda-item.is-accent i { background: var(--accent); opacity: 1; }
.hm-agenda-item.hm-hit { box-shadow: 0 0 0 2px var(--accent), 0 0 0 6px color-mix(in srgb, var(--accent) 14%, transparent); }
.hm-deck { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); grid-auto-rows: 24px; gap: 5px; padding: 8px 14px 10px; }
.hm-deck.is-editing { background-image: linear-gradient(to bottom, transparent calc(100% - 1px), color-mix(in srgb, var(--desk-line) 70%, transparent) 0); }
.hm-tile { display: flex; flex-direction: column; justify-content: space-between; min-width: 0; padding: 4px 7px; border: 1px solid var(--desk-line); border-radius: 9px; background: var(--desk-paper); color: var(--desk-ink); text-align: left; }
.hm-deck.is-editing .hm-tile { border-style: dashed; }
.hm-tile b { overflow: hidden; font-size: 11px; font-weight: 650; white-space: nowrap; text-overflow: ellipsis; }
.hm-tile small { color: var(--desk-muted); font-size: 10px; }
.hm-tile.is-new, .hm-tile.is-selected { border: 1px solid var(--accent); background: color-mix(in srgb, var(--accent) 7%, var(--desk-paper)); }
.hm-deck-bar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 6px 8px; padding: 8px 14px; border-bottom: 1px solid var(--desk-line); font-size: 11.5px; }
.hm-deck-bar-r, .hm-presets { display: flex; align-items: center; gap: 4px; }
.hm-deck-bar-r { gap: 8px; }
.hm-presets small { margin-right: 2px; color: var(--desk-muted); font-size: 11px; }
.hm-preset { display: grid; place-items: center; min-width: 30px; height: 26px; padding: 0 6px; border: 1px solid var(--desk-line); border-radius: 7px; background: var(--desk-paper); color: var(--desk-muted); font-size: 11px; font-weight: 650; }
.hm-preset.is-on { border-color: var(--accent); background: var(--accent-soft); color: var(--accent); }
.hm-preset.is-armed { border-style: dashed; }
.hm-preset.hm-hit { box-shadow: 0 0 0 2px var(--accent), 0 0 0 6px color-mix(in srgb, var(--accent) 14%, transparent); }
.hm-size-bar { display: flex; align-items: center; gap: 8px; margin: 0 14px 10px; padding: 8px 10px; border: 1px solid var(--desk-line); border-radius: 10px; font-size: 11.5px; }
.hm-size-bar > .hm-muted { margin-left: auto; }
.hm-menu.is-flat { margin: 0 14px 10px; box-shadow: none; }
.hm-menu.is-flat .hm-menu-item { grid-template-columns: 34px minmax(0, 1fr) auto; }
.hm-win-head > .hm-acts > .hm-btn + .hm-btn { margin-left: 6px; }

/* Takip Merkezi › Plan satırının sade kopyası (help-guide.js helpPlanRow). Renkler
   Plan'ın renk anahtarıyla aynı sırada: örme bekliyor · örgü · ham · boya · hazır · sevk. */
.hm-plan-row {
  display: grid; grid-template-columns: 50px minmax(0, 1fr) auto; grid-template-areas: "sip who termin" ". bar wait" ". step acts";
  align-items: center; gap: 6px 12px; padding: 10px 14px;
}
.hm-plan-row > .hm-sip-sm { grid-area: sip; }
.hm-plan-who { grid-area: who; }
.hm-plan-termin { grid-area: termin; }
.hm-plan-bar { grid-area: bar; }
.hm-plan-wait { grid-area: wait; }
.hm-plan-step { grid-area: step; }
.hm-plan-row > .hm-acts { grid-area: acts; }
.hm-plan-row + .hm-plan-row, .hm-plan-group + .hm-plan-row { border-top: 1px solid var(--desk-line); }
.hm-plan-row.is-cursor { box-shadow: inset 3px 0 0 var(--accent); }
.hm-plan-row.is-fresh { background: color-mix(in srgb, var(--accent) 8%, transparent); }
.hm-plan-row .hm-sip-sm { display: inline-flex; align-items: center; gap: 6px; }
.hm-plan-rank { display: inline-grid; place-items: center; width: 18px; height: 18px; border-radius: 50%; background: var(--accent-soft); color: var(--accent); font-size: 10.5px; }
.hm-plan-who, .hm-plan-bar, .hm-plan-wait, .hm-plan-termin { display: grid; gap: 3px; min-width: 0; }
.hm-plan-who b, .hm-plan-step b { overflow: hidden; font-size: 12px; font-weight: 650; text-overflow: ellipsis; white-space: nowrap; }
.hm-plan-who small, .hm-plan-step small, .hm-plan-bar small, .hm-plan-wait small, .hm-plan-termin small { overflow: hidden; color: var(--desk-muted); font-size: 10.5px; text-overflow: ellipsis; white-space: nowrap; }
.hm-plan-who .hm-chip { justify-self: start; }
.hm-plan-bar small { display: flex; align-items: center; gap: 4px; }
.hm-plan-bar small b { color: var(--desk-ink); font-weight: 650; }
.hm-plan-track { display: flex; height: 7px; overflow: hidden; border-radius: 999px; background: var(--desk-soft); }
.hm-plan-track i { min-width: 3px; }
.hm-plan-track .is-wait { background: color-mix(in srgb, var(--desk-ink) 30%, var(--desk-paper)); }
.hm-plan-track .is-knit { background: color-mix(in srgb, var(--warning-fill) 86%, var(--danger)); }
.hm-plan-track .is-raw { background: color-mix(in srgb, var(--warning) 34%, color-mix(in srgb, var(--desk-ink) 46%, var(--desk-paper))); }
.hm-plan-track .is-dye { background: var(--accent); }
.hm-plan-track .is-ready { background: var(--success); }
.hm-plan-track .is-shipped { background: color-mix(in srgb, var(--success) 58%, black); }
.hm-plan-doubt { display: inline-flex; color: var(--warning); }
.hm-plan-doubt svg { width: 12px; height: 12px; }
.hm-plan-wait { text-align: right; }
.hm-plan-wait b { font-size: 13px; font-weight: 700; }
.hm-plan-wait b i { color: var(--desk-muted); font-size: 10px; font-style: normal; font-weight: 500; }
.hm-plan-step { display: flex; align-items: center; gap: 8px; min-width: 0; }
.hm-plan-step > span:last-child { display: grid; gap: 2px; min-width: 0; }
.hm-plan-step-ic { display: inline-flex; flex: none; color: var(--success); }
.hm-plan-step-ic svg { width: 18px; height: 18px; }
.hm-plan-termin { justify-items: end; text-align: right; }
.hm-plan-termin b { font-size: 12px; font-weight: 650; }
.hm-plan-termin.is-late b { color: var(--danger); }
.hm-plan-row > .hm-acts { display: flex; align-items: center; gap: 2px; }
.hm-plan-row > .hm-acts > .hm-btn { margin: 0 2px; }
.hm-plan-sides { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; padding: 10px 14px; }
.hm-plan-side { position: relative; display: inline-flex; align-items: center; gap: 6px; min-height: 30px; padding: 0 10px; border: 0; border-radius: 9px; background: transparent; color: var(--desk-muted); font: inherit; font-size: 12px; font-weight: 600; }
.hm-plan-side.is-on { background: var(--desk-soft); color: var(--desk-ink); }
.hm-plan-side b { color: var(--desk-muted); font-weight: 600; }
.hm-plan-side em { padding: 1px 6px; border-radius: 999px; background: var(--danger-fill, color-mix(in srgb, var(--danger) 14%, transparent)); color: var(--danger); font-size: 10.5px; font-style: normal; }
.hm-plan-side.hm-hit { cursor: pointer; }
.hm-plan-sides > .hm-btn { margin-left: auto; }
.hm-plan-group { display: flex; align-items: center; gap: 8px; padding: 10px 14px 6px; }
.hm-plan-group b { font-size: 12.5px; font-weight: 700; }
.hm-plan-group small { color: var(--desk-muted); font-size: 11px; }
.hm-plan-group > .hm-btn { margin-left: auto; }
.hm-plan-detail { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; padding: 8px 14px 12px 76px; border-top: 1px dashed var(--desk-line); }
.hm-plan-detail span { display: grid; gap: 2px; align-content: start; min-width: 0; }
.hm-plan-detail small { color: var(--desk-muted); font-size: 9.5px; font-weight: 700; letter-spacing: .08em; }
.hm-plan-detail b { font-size: 11.5px; font-weight: 600; }
.hm-plan-detail em { color: var(--desk-muted); font-size: 10.5px; font-style: normal; }
/* Adım kartı dar: bekleme düşer, çubuk ve adım tam genişlikte, simgeler alt satırda. */
.page-help-canvas .hm-plan-row { grid-template-areas: "sip who termin" ". bar bar" ". step step" "acts acts acts"; }
.page-help-canvas .hm-plan-wait { display: none; }
.page-help-canvas .hm-plan-row > .hm-acts { justify-content: flex-end; }
.page-help-canvas .hm-plan-detail { grid-template-columns: 1fr; padding-left: 14px; }
@media (max-width: 600px) {
  .hm-plan-row { grid-template-areas: "sip who termin" ". step step" "acts acts acts"; }
  .hm-plan-bar, .hm-plan-wait { display: none; }
  .hm-plan-row > .hm-acts { justify-content: flex-end; }
  .hm-plan-detail { grid-template-columns: 1fr; padding-left: 14px; }
}

/* ── Sayfa içi yardım (2026-10-24, TASARIM-DILI.md §3.43) ──────────────────
   Araç çubuğundaki yuvarlak ? düğmesi, altından inen soru menüsü ve sağ altta
   adım kartı. Kart ekranı karartmaz; işaretli gerçek öğe tek vurgu halkası taşır. */
.page-help-btn {
  display: grid; place-items: center; width: 38px; height: 38px; padding: 0; flex: 0 0 auto;
  border: 1px solid var(--desk-line); border-radius: 50%; background: var(--desk-paper); color: var(--desk-muted);
  font: 650 15px/1 var(--font); cursor: pointer; box-shadow: var(--v2-card-shadow, none);
  transition: border-color .16s ease, color .16s ease, transform .16s cubic-bezier(.2, .75, .25, 1);
}
.page-help-btn:hover { color: var(--desk-ink); border-color: color-mix(in srgb, var(--desk-ink) 18%, var(--desk-line)); }
.page-help-btn[aria-expanded="true"] { color: var(--accent); border-color: color-mix(in srgb, var(--accent) 40%, var(--desk-line)); }
.page-help-btn:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
@media (prefers-reduced-motion: no-preference) { .page-help-btn:active { transform: scale(.94); } }
/* Komşu düğmelerin boyunu alır: Siparişler araç çubuğu 44, sipariş detayı başlığı 36, Notlar liste başlığı 30. */
#page-orders .orders-toolbar .page-help-btn { width: 44px; height: 44px; }
#orderModal .page-help-btn.is-modal { width: 36px; height: 36px; font-size: 14px; box-shadow: none; }
.page-help-btn.is-sm { width: 30px; height: 30px; font-size: 13px; box-shadow: none; }
/* Başlık satırının sağ ucunda (Yeni ticket formu, Bursa sipariş girişi ilk adımı). */
.tk-form-head > .page-help-btn, .bursa-step > .page-help-btn { margin-left: auto; align-self: flex-start; }

.page-help-menu {
  position: fixed; z-index: 1200; padding: 6px; border: 1px solid var(--desk-line); border-radius: 14px;
  background: var(--desk-paper); color: var(--desk-ink); box-shadow: var(--shadow-popover, 0 12px 32px rgba(0, 0, 0, .18));
  font-family: var(--font); animation: helpSceneIn .16s cubic-bezier(.2, .75, .25, 1) both;
  overflow-y: auto; overscroll-behavior: contain;
}
.page-help-menu-head { padding: 8px 10px 6px; color: var(--desk-muted); font-size: 11px; font-weight: 600; }
.page-help-q {
  display: flex; align-items: flex-start; gap: 10px; width: 100%; padding: 9px 10px; border: 0; border-radius: 9px;
  background: transparent; color: var(--desk-ink); font: inherit; text-align: left; cursor: pointer;
}
.page-help-q > span {
  display: grid; place-items: center; flex: 0 0 18px; height: 18px; margin-top: 1px; border: 1px solid var(--desk-line); border-radius: 50%;
  color: var(--desk-muted); font-size: 10.5px; font-weight: 650;
}
.page-help-q > b { font-size: 12.5px; font-weight: 550; line-height: 1.4; }
.page-help-q:hover, .page-help-q:focus-visible { outline: none; background: color-mix(in srgb, var(--desk-ink) 5%, transparent); }
.page-help-q:hover > span, .page-help-q:focus-visible > span { color: var(--accent); border-color: color-mix(in srgb, var(--accent) 45%, var(--desk-line)); }
.page-help-menu-foot { margin-top: 4px; padding: 6px 4px 2px; border-top: 1px solid var(--desk-line); }
.page-help-menu-foot button {
  display: inline-flex; align-items: center; gap: 4px; padding: 4px 6px; border: 0; border-radius: 7px;
  background: transparent; color: var(--accent); font: 600 12px/1.2 var(--font); cursor: pointer;
}
.page-help-menu-foot svg { width: 14px; height: 14px; stroke-width: 2; }

.page-help-tour {
  position: fixed; right: 20px; bottom: 20px; z-index: 1150; width: min(360px, calc(100vw - 24px));
  display: grid; gap: 10px; padding: 12px 14px 14px; border: 1px solid color-mix(in srgb, var(--accent) 38%, var(--desk-line));
  border-radius: 16px; background: var(--desk-paper); color: var(--desk-ink); font-family: var(--font);
  box-shadow: var(--shadow-popover, 0 12px 32px rgba(0, 0, 0, .18)); animation: helpSceneIn .2s cubic-bezier(.2, .75, .25, 1) both;
}
.page-help-tour-head { display: flex; align-items: center; justify-content: space-between; gap: 8px; color: var(--accent); font-size: 11px; font-weight: 600; font-variant-numeric: tabular-nums; }
.page-help-x { display: grid; place-items: center; width: 26px; height: 26px; border: 0; border-radius: 8px; background: transparent; color: var(--desk-muted); cursor: pointer; }
.page-help-x:hover { color: var(--desk-ink); background: color-mix(in srgb, var(--desk-ink) 6%, transparent); }
.page-help-x svg { width: 15px; height: 15px; stroke-width: 2; }
.page-help-tour-q { font-size: 13px; font-weight: 650; line-height: 1.35; }
.help-canvas.page-help-canvas { align-content: start; min-height: 0; max-height: 230px; overflow: hidden; padding: 14px 12px; border: 1px solid var(--desk-line); border-radius: 12px; zoom: .78; }
.page-help-caption { margin: 0; font-size: 13px; line-height: 1.45; }
.page-help-caption b { font-weight: 650; }
.page-help-miss { margin: -4px 0 0; color: var(--desk-muted); font-size: 11.5px; line-height: 1.4; }
.page-help-tour-foot { display: flex; align-items: center; gap: 6px; }
.page-help-dots { display: flex; gap: 4px; margin-right: auto; }
.page-help-dots i { width: 14px; height: 3px; border-radius: 2px; background: var(--desk-line); }
.page-help-dots i.is-on { background: var(--accent); }
.page-help-link { padding: 4px 6px; border: 0; border-radius: 7px; background: transparent; color: var(--desk-muted); font: 600 11.5px/1.2 var(--font); cursor: pointer; }
.page-help-link:hover { color: var(--accent); }
.page-help-tour .help-nav-btn { width: 30px; height: 30px; }
.page-help-tour .page-help-next { min-height: 30px; padding: 0 14px; border-radius: 9px; }

/* İşaretli gerçek öğe: yalnız İÇ halka (kaydırılan şeritler dış halkayı kırpar); yerleşime dokunmaz. */
html body .page-help-spot.page-help-spot {
  outline: 2px solid var(--accent); outline-offset: -2px; opacity: 1; visibility: visible;
}
@media (prefers-reduced-motion: no-preference) {
  html body .page-help-spot.page-help-spot { animation: pageHelpSpotIn .5s cubic-bezier(.2, .75, .25, 1) 1 both; }
  @keyframes pageHelpSpotIn { from { outline-color: transparent; } to { outline-color: var(--accent); } }
}
@media (max-width: 500px) {
  .page-help-tour { right: 10px; left: 10px; width: auto; bottom: calc(env(safe-area-inset-bottom, 0px) + 76px); }
  .help-canvas.page-help-canvas { max-height: 170px; zoom: .68; }
}

/* ── assets/styles/watchlist.css ── */
/* ─── Order selection + personal watchlist ─────────────────────── */
.order-selection-launcher{display:inline-flex;align-items:center;gap:8px;flex:0 0 auto;border:1px solid var(--border);background:var(--surface);font:700 11px inherit;cursor:pointer;transition:.18s ease}.order-selection-launcher:hover,.order-selection-launcher.has-selection{border-color:color-mix(in srgb,var(--accent) 42%,var(--border));background:color-mix(in srgb,var(--accent) 8%,var(--surface));color:var(--accent)}.order-selection-launcher svg{stroke-width:1.9}.order-selection-launcher b{display:grid;place-items:center;padding:0 5px;background:var(--accent);color:#fff;font:800 9px var(--font-numeric)}.order-selection-launcher b[hidden]{display:none}
.order-number-head{display:inline-flex;align-items:center;gap:9px}.order-select-btn {width:24px;height:24px;display:grid;place-items:center;flex:0 0 24px;padding:0;border:1px solid color-mix(in srgb,var(--muted) 28%,transparent);border-radius:8px;background:color-mix(in srgb,var(--surface-solid,#fff) 86%,transparent);color:var(--muted);cursor:pointer;transition:transform .14s ease,border-color .14s ease,background .14s ease,color .14s ease}.order-number-head>button.is-partial span{border-radius:2px;background:currentColor;box-shadow:inset 0 0 0 2px var(--surface)}.order-number-head>button.is-selected,.order-select-btn.is-selected{border-color:var(--accent);background:var(--accent);color:#fff;box-shadow:0 5px 12px color-mix(in srgb,var(--accent) 25%,transparent)}.order-select-btn svg{width:17px;height:17px;stroke-width:1.8}.order-select-btn svg path{opacity:0;transform:scale(.65);transform-origin:center;transition:.14s ease}.order-select-btn.is-selected svg path{opacity:1;transform:scale(1)}.order-select-btn:hover{border-color:var(--accent);color:var(--accent);transform:translateY(-1px)}.order-select-btn.is-selected:hover{color:#fff}.order-row.is-selected>td{background:color-mix(in srgb,var(--accent) 7%,var(--surface-solid,#fff))!important}.order-row.is-selected>td:first-child{box-shadow:inset 3px 0 0 var(--accent),1px 0 var(--border)!important}
.order-selection-dock{position:fixed;z-index:390;left:50%;bottom:24px;width:min(720px,calc(100vw - 28px));transform:translateX(-50%);filter:drop-shadow(0 22px 34px rgba(0,0,0,.28))}.order-selection-dock[hidden]{display:none}.order-selection-dock-main{min-height:72px;display:flex;align-items:center;gap:9px;padding:9px 11px;border:1px solid color-mix(in srgb,var(--muted) 28%,transparent);border-radius:24px;background:color-mix(in srgb,var(--surface-solid,#1c1c1e) 91%,transparent);box-shadow:inset 0 1px 0 rgba(255,255,255,.09);backdrop-filter:blur(30px) saturate(1.35)}.selection-summary{min-width:112px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:6px 8px;border:0;background:transparent;color:var(--text);cursor:pointer;text-align:left}.selection-summary>span{display:grid;grid-template-columns:auto 1fr;align-items:baseline;gap:5px}.selection-summary b{font:850 18px var(--font-numeric)}.selection-summary small{font-size:8px;color:var(--muted);white-space:nowrap}.selection-summary svg{width:16px;height:16px;transition:transform .18s}.selection-summary[aria-expanded=true] svg{transform:rotate(180deg)}.selection-dock-separator{width:1px;align-self:stretch;margin:4px 0;background:var(--border)}.selection-actions{display:flex;align-items:center;gap:8px;flex:1;justify-content:center}.selection-action,
.selection-clear {width:48px;height:48px;display:grid;place-items:center;flex:0 0 48px;padding:0;border:1px solid color-mix(in srgb,var(--action-color,var(--muted)) 45%,var(--border));border-radius:15px;background:color-mix(in srgb,var(--action-color,var(--muted)) 8%,transparent);color:var(--action-color,var(--muted));cursor:pointer;transition:.16s ease}.selection-action:hover,
.selection-clear:hover {transform:translateY(-2px);background:color-mix(in srgb,var(--action-color,var(--muted)) 16%,transparent);box-shadow:0 8px 16px color-mix(in srgb,var(--action-color,var(--muted)) 15%,transparent)}.selection-action svg,
.selection-clear svg {width:24px;height:24px;stroke-width:1.9}.selection-action.is-calendar{--action-color:#64b5f6}.selection-action.is-print{--action-color:#5ac8fa}.selection-action.is-ticket{--action-color:#a78bfa}.selection-action.is-watch{--action-color:#ff9f0a}.selection-action.is-complete{--action-color:#30d158}.selection-action.is-remove{--action-color:#ff5d55}.selection-clear{--action-color:var(--muted)}.order-selection-list{max-height:300px;overflow:auto;margin:0 22px -9px;padding:11px 11px 19px;border:1px solid var(--border);border-bottom:0;border-radius:19px 19px 0 0;background:color-mix(in srgb,var(--surface-solid,#1c1c1e) 96%,transparent);backdrop-filter:blur(25px)}.order-selection-list[hidden]{display:none}.selection-list-row{display:grid;grid-template-columns:minmax(0,1fr) 28px;align-items:center;gap:7px;padding:7px 8px;border-bottom:1px solid color-mix(in srgb,var(--border) 70%,transparent)}.selection-list-row:last-child{border-bottom:0}.selection-list-row>button:first-child{min-width:0;display:flex;align-items:center;gap:10px;border:0;background:none;color:inherit;text-align:left;cursor:pointer}.selection-list-row strong{color:var(--accent);font:800 9px var(--font-numeric)}.selection-list-row span{min-width:0;overflow:hidden;color:var(--muted);font-size:8px;text-overflow:ellipsis;white-space:nowrap}.selection-list-row>button:last-child{width:28px;height:28px;border:0;border-radius:8px;background:transparent;color:var(--muted);cursor:pointer}.selection-list-row>button:last-child:hover{background:rgba(255,69,58,.11);color:#ff453a}
.selection-action.is-favorite{--action-color:#f0a000}#orderSelectionDock .selection-action.is-favorite:not(.is-on) svg path{fill:none;stroke:currentColor;stroke-width:1.8}#orderSelectionDock .selection-action.is-favorite.is-on{color:var(--action-color);background:color-mix(in srgb,var(--action-color) 12%,var(--surface-solid))}.selection-action.is-report{--action-color:color-mix(in srgb,var(--danger) 50%,var(--warning-fill))}
.selection-action.is-share{--action-color:#0a84ff}
.order-favorite-star{width:11px;height:11px;flex:0 0 11px;margin-left:-3px;color:#3f4652;fill:currentColor}
html[data-theme=dark] .order-favorite-star{color:#b6becb}
#page-orders .orders-filter-fields .favorites-filter-btn{min-height:38px;display:inline-flex;align-items:center;justify-content:center;gap:6px;flex:0 0 auto;padding:0 12px;border:1px solid color-mix(in srgb,#f0a000 42%,var(--border));border-radius:11px;background:color-mix(in srgb,#f0a000 8%,var(--surface-solid,#fff));color:#ab7100;font:750 11.5px inherit;cursor:pointer;white-space:nowrap}
#page-orders .orders-filter-fields .favorites-filter-btn svg{width:15px;height:15px;flex:0 0 auto}
#page-orders .orders-filter-fields .favorites-filter-btn:hover,#page-orders .orders-filter-fields .favorites-filter-btn.is-active{border-color:#f0a000;background:color-mix(in srgb,#f0a000 18%,var(--surface-solid,#fff));color:#9b6500;box-shadow:0 4px 10px color-mix(in srgb,#f0a000 13%,transparent)}
html[data-theme=dark] #page-orders .orders-filter-fields .favorites-filter-btn{background:color-mix(in srgb,#f0a000 14%,#202227);color:#ffc44d}

.watchlist-page{padding-bottom:72px}.watchlist-page-app{display:grid;gap:18px}.watchlist-loading{min-height:540px;display:grid;place-content:center;justify-items:center;gap:10px;color:var(--muted)}.watchlist-loading>span{width:28px;height:28px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:watchSpin .8s linear infinite}@keyframes watchSpin{to{transform:rotate(360deg)}}

.watchlist-command{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border:1px solid var(--border);border-radius:18px;background:var(--surface)}.watchlist-command>label{min-width:240px;max-width:520px;display:flex;align-items:center;gap:10px;flex:1;padding:0 13px;border:1px solid var(--border);border-radius:12px;background:var(--surface-solid,#fff)}.watchlist-command>label svg{width:17px;height:17px;flex:0 0 auto;color:var(--muted);stroke-width:1.8}.watchlist-command input{width:100%;height:44px;border:0;outline:0;background:transparent;color:var(--text);font:650 10px inherit}.watchlist-command>div{display:flex;gap:8px}.watchlist-command select,.watchlist-command button{height:44px;padding:0 14px;border:1px solid var(--border);border-radius:12px;background:var(--surface-solid,#fff);color:var(--text);font:750 9px inherit;cursor:pointer}.watchlist-command button{display:flex;align-items:center;gap:7px}.watchlist-command button span{color:var(--accent);font-size:15px}

.watch-order-card{position:relative;min-width:0;overflow:hidden;border:1px solid color-mix(in srgb,var(--stage-color) 16%,var(--border));background:color-mix(in srgb,var(--surface-solid,#fff) 97%,var(--stage-color));box-shadow:0 7px 18px rgba(0,0,0,.045);transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.watch-order-card:hover{border-color:color-mix(in srgb,var(--stage-color) 43%,var(--border));box-shadow:0 13px 28px rgba(0,0,0,.085);transform:translateY(-2px)}.watch-order-card.is-complete{opacity:.8}.watch-order-card>header{display:flex;align-items:center;justify-content:space-between;padding-left:3px}.watch-order-termin.is-danger{background:rgba(255,69,58,.1);color:#ff453a}.watch-order-termin.is-warning{background:rgba(255,159,10,.11);color:#d87900}
.watch-order-card.is-transfer-focus{border-color:color-mix(in srgb,var(--board-color) 74%,#fff);box-shadow:0 0 0 3px color-mix(in srgb,var(--board-color) 22%,transparent),0 18px 38px color-mix(in srgb,var(--board-color) 18%,transparent);animation:watchlistTransferFocus 1.25s ease-in-out 2}
@keyframes watchlistTransferFocus{50%{transform:translateY(-4px);box-shadow:0 0 0 6px color-mix(in srgb,var(--board-color) 12%,transparent),0 22px 46px color-mix(in srgb,var(--board-color) 26%,transparent)}}
.watchlist-picker-backdrop{position:fixed;z-index:900;inset:0;display:grid;place-items:center;padding:18px;background:rgba(3,6,14,.56);backdrop-filter:blur(14px)}.watchlist-picker-backdrop[hidden]{display:none}.watchlist-picker{width:min(640px,calc(100vw - 30px));max-height:min(760px,calc(100vh - 36px));overflow:auto;border:1px solid color-mix(in srgb,var(--accent) 24%,var(--border));border-radius:25px;background:var(--surface-solid,#fff);box-shadow:0 34px 90px rgba(0,0,0,.35)}.watchlist-picker>header{position:sticky;z-index:2;top:0;display:flex;align-items:center;justify-content:space-between;gap:15px;padding:21px 22px 16px;border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--surface-solid,#fff) 92%,transparent);backdrop-filter:blur(20px)}.watchlist-picker>header>span{display:grid;gap:4px}.watchlist-picker>header small{color:var(--accent);font-weight:850;letter-spacing:.15em}.watchlist-picker>header strong{font-size:17px}.watchlist-picker>header button{width:34px;height:34px;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--muted);font-size:20px;cursor:pointer}#watchlistPickerBody{padding:17px}
html[data-theme=dark] .watch-order-card{background:color-mix(in srgb,#202023 96%,var(--stage-color))}html[data-theme=dark] .order-selection-dock-main,html[data-theme=dark] .order-selection-list{background:rgba(31,31,34,.94)}

@media(max-width:900px){.watchlist-command{align-items:stretch;flex-direction:column}.watchlist-command>label{max-width:none}.watchlist-command>div{flex-wrap:wrap}.watchlist-command select,.watchlist-command button{flex:1}.order-selection-dock{bottom:14px}.selection-summary{min-width:86px}.selection-summary small{display:none}.selection-action,
.selection-clear {width:43px;height:43px;flex-basis:43px;border-radius:13px}.selection-action svg,
.selection-clear svg {width:21px;height:21px}}
@media(max-width:620px){.watchlist-command>div{display:grid;grid-template-columns:1fr 1fr}.watchlist-command select{grid-column:1/-1}.order-selection-dock-main{gap:5px;padding:7px;border-radius:20px}.selection-dock-separator{display:none}.selection-summary{min-width:62px;padding:4px}.selection-summary>span{display:grid;grid-template-columns:1fr}.selection-summary b{font-size:16px}.selection-summary svg{display:none}.selection-actions{gap:5px;overflow-x:auto;justify-content:flex-start}.selection-action,
.selection-clear {width:39px;height:39px;flex-basis:39px;border-radius:12px}.order-selection-list{margin-inline:8px}}
@media(prefers-reduced-motion:reduce){.watch-order-card,
.selection-action,
.order-select-btn {transition:none}.watchlist-loading>span{animation:none}}

/* İzleme panoları · yüksek okunabilirlik ve daha güçlü kart hiyerarşisi */
.order-selection-launcher{
  position:relative;
  width:44px;
  min-width:44px;
  height:44px;
  min-height:44px;
  justify-content:center;
  padding:0;
  border-radius:13px;
  color:var(--text);
}
.order-selection-launcher svg{width:21px;height:21px}
.order-selection-launcher b{
  position:absolute;
  top:-7px;
  right:-7px;
  min-width:22px;
  height:22px;
  border:2px solid var(--surface-solid,#fff);
  border-radius:8px;
  font-size:10px;
}

.watchlist-command input{font-size:14px}
.watchlist-command select,.watchlist-command button{font-size:13px}

.watch-order-card{padding:18px;border-radius:19px}
.watch-order-card>header{gap:10px}

.watchlist-picker>header small{font-size:10px}

/* İzleme Listem · sipariş odaklı yoğun grid monitörü */
.watchlist-board-groups{min-width:0;display:grid;grid-template-columns:minmax(0,1fr);gap:8px}
/* Izgara sütunu içerik genişliğine açılmasın: yatay kayan pano şeridi ve boş
   ekran çizimi telefonda sayfayı 390px'ten 456px'e taşırıyordu (2026-09-23). */
#watchlistPageApp{grid-template-columns:minmax(0,1fr)}
.watchlist-order-grid{min-width:0}
/* Pano şeridi header'ın altında bir süzgeçtir: kutusu yok, sekmeler header'ın
   bölümlü denetiminden küçük/sakin (TASARIM-DILI §2.2–2.3, 2026-10-18). */
.watchlist-board-group{min-width:0;display:grid;grid-template-columns:150px minmax(0,1fr);align-items:center;gap:10px;padding:0;border:0;border-radius:0;background:transparent}
.watchlist-board-group>header{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:8px}
.watchlist-board-group>header>span{min-width:0;display:grid;gap:2px}.watchlist-board-group>header b{color:var(--muted);font-size:11px;font-weight:700;letter-spacing:.06em}
.watchlist-board-group>header>button{height:31px;display:inline-flex;align-items:center;gap:4px;padding:0 9px;border:1px dashed color-mix(in srgb,var(--accent) 38%,var(--border));border-radius:9px;background:var(--accent-soft);color:var(--accent);font-family:inherit;font-size:11px;font-weight:600;white-space:nowrap;cursor:pointer}
.watchlist-board-group>header>button:hover{border-style:solid;background:color-mix(in srgb,var(--accent) 12%,var(--surface-solid,#fff))}
.watchlist-board-group .watchlist-board-tabs{padding:0}

html[data-theme=dark] .watchlist-board-group{background:transparent}
.watchlist-board-tabs{
  display:flex;
  align-items:center;
  gap:8px;
  overflow-x:auto;
  padding:2px 2px 5px;
  scrollbar-width:none;
}
.watchlist-board-tabs::-webkit-scrollbar{display:none}
.watchlist-board-tab{--tab-color:var(--accent);position:relative;min-width:max-content;flex:0 0 auto}
.watchlist-board-tabs button{
  min-width:max-content;
  height:33px;
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:0 10px;
  border:1px solid var(--border);
  border-radius:10px;
  background:var(--surface-solid,#fff);
  color:var(--muted);
  font-family:inherit;
  font-size:13px;
  font-weight:600;
  cursor:pointer;
  transition:.16s ease;
}
.watchlist-board-tabs button:hover{border-color:color-mix(in srgb,var(--tab-color) 40%,var(--border));color:color-mix(in srgb,var(--tab-color) 76%,var(--text))}
.watchlist-board-tabs button.active{border-color:color-mix(in srgb,var(--tab-color) 58%,var(--border));background:color-mix(in srgb,var(--tab-color) 10%,var(--surface-solid,#fff));color:color-mix(in srgb,var(--tab-color) 78%,var(--text));font-weight:650;box-shadow:none}
.watchlist-board-tabs i{width:9px;height:9px;flex:0 0 9px;border-radius:50%;background:var(--tab-color);box-shadow:0 0 0 4px color-mix(in srgb,var(--tab-color) 10%,transparent)}
/* Ortak panolarda çubuk başındaki tek nokta yerine katılımcı yüzleri durur:
   en çok 3 yüz gösterilir, kalanlar "+N" halkasında toplanır — kişi sayısı
   artsa da sekmenin boyu sabit kalır. Renk kişiye sabittir. */
.watchlist-board-tabs .watchlist-tab-people{display:flex;align-items:center;flex:0 0 auto;padding-right:5px}
.watchlist-board-tabs i.watchlist-tab-face{width:19px;height:19px;flex:0 0 19px;display:grid;place-items:center;margin-right:-6px;border:1.5px solid var(--surface-solid,#fff);border-radius:50%;background:#264979;color:#dbeafe;box-shadow:none;font:800 8.5px inherit;font-style:normal;letter-spacing:0}
.watchlist-board-tabs i.watchlist-tab-face.is-1{background:#57358a;color:#eadcff}
.watchlist-board-tabs i.watchlist-tab-face.is-2{background:#176249;color:#d2fae7}
.watchlist-board-tabs i.watchlist-tab-face.is-3{background:#85572a;color:#ffe5bf}
.watchlist-board-tabs i.watchlist-tab-face.is-4{background:#3d4f66;color:#dbe9f6}
.watchlist-board-tabs i.watchlist-tab-face.is-rest{margin-left:8px;border-color:transparent;background:color-mix(in srgb,var(--text) 12%,var(--surface-solid,#fff));color:color-mix(in srgb,var(--text) 72%,transparent);font-size:8px;font-variant-numeric:tabular-nums}
.watchlist-board-tabs .watchlist-tab-people i:last-child{margin-right:0}
.watchlist-board-tabs button.active i.watchlist-tab-face{border-color:color-mix(in srgb,var(--tab-color) 10%,var(--surface-solid,#fff))}
/* Ortak Takip sekmesinin noktası "canlı bağlantı" göstergesi gibidir: küçük,
   yumuşak ve ağır ağır nefes alır — göze batmaz, yalnız canlılığı anlatır. */
.watchlist-board-tab.is-live i{width:7px;height:7px;flex:0 0 7px;background:color-mix(in srgb,var(--tab-color) 84%,transparent);box-shadow:0 0 0 3px color-mix(in srgb,var(--tab-color) 11%,transparent);animation:watchlistLivePulse 3.2s ease-in-out infinite}
@keyframes watchlistLivePulse{50%{opacity:.42}}
@media(prefers-reduced-motion:reduce){.watchlist-board-tab.is-live i{animation:none}}
.watchlist-board-tabs b{min-width:20px;height:20px;display:grid;place-items:center;padding:0 5px;border-radius:6px;background:rgba(127,127,127,.09);font:700 11px var(--font-numeric)}
.watchlist-board-tabs button.active b{background:color-mix(in srgb,var(--tab-color) 62%,#000);color:#fff}
.watchlist-board-tab.is-main .watchlist-board-filter{border-color:color-mix(in srgb,#ffb020 46%,var(--border));box-shadow:inset 0 0 0 1px color-mix(in srgb,#ffb020 13%,transparent)}
.watchlist-board-filter>em.is-main{width:24px;height:24px;display:grid;place-items:center;padding:0;border:1px solid color-mix(in srgb,#ffb020 38%,var(--border));border-radius:8px;background:color-mix(in srgb,#ffb020 10%,var(--surface-solid,#fff));color:#a96800}.watchlist-board-filter>em.is-main svg{width:13px;height:13px;stroke-width:2}
.watchlist-sharer-tabs{display:flex;align-items:center;gap:6px;overflow-x:auto;padding:1px 2px 4px;scrollbar-width:none}
.watchlist-sharer-tabs::-webkit-scrollbar{display:none}
.watchlist-sharer-tabs button{min-width:max-content;height:31px;display:inline-flex;align-items:center;gap:7px;padding:0 10px;border:1px solid var(--border);border-radius:99px;background:var(--surface-solid,#fff);color:var(--muted);font:760 9px inherit;cursor:pointer}
.watchlist-sharer-tabs button:hover{border-color:color-mix(in srgb,var(--accent) 38%,var(--border));color:var(--text)}
.watchlist-sharer-tabs button.active{border-color:color-mix(in srgb,var(--accent) 48%,var(--border));background:var(--accent-soft);color:var(--accent)}
.watchlist-sharer-tabs b{min-width:18px;height:18px;display:grid;place-items:center;padding:0 5px;border-radius:99px;background:rgba(127,127,127,.1);font:800 8px var(--font-numeric)}

.watchlist-board-divider{height:42px;min-width:max-content;display:flex;align-items:center;gap:9px;flex:0 0 auto;padding:0 5px 0 1px;color:var(--muted)}
.watchlist-board-divider>i{width:2px;height:34px;display:block;border-radius:2px;background:color-mix(in srgb,var(--muted) 46%,var(--border));box-shadow:1px 0 0 color-mix(in srgb,var(--surface-solid,#fff) 70%,transparent)}

.watchlist-board-group.is-combined{display:flex;align-items:center;gap:10px;overflow-x:auto;scrollbar-width:none}
.watchlist-board-group.is-combined::-webkit-scrollbar{display:none}
.watchlist-board-group.is-combined>.watchlist-board-group-label{display:flex;align-items:center;gap:7px;flex:0 0 auto;min-width:auto}
.watchlist-board-group.is-combined>.watchlist-board-group-label>span{display:block}
.watchlist-board-group.is-combined>.watchlist-board-group-label small{display:none}
.watchlist-board-group.is-combined>.watchlist-board-tabs{flex:0 0 auto;overflow:visible;padding:0}
.watchlist-board-group.is-combined>.watchlist-board-divider{height:28px;min-width:1px;padding:0 4px}
.watchlist-board-group.is-combined>.watchlist-board-divider>i{width:1px;height:22px;background:var(--border);box-shadow:none}
.watchlist-board-group.is-combined>.watchlist-board-group-label.is-custom{padding-left:2px}
.watchlist-board-group.is-combined>.watchlist-board-group-label>button{height:28px;padding:0 8px}
.watchlist-board-tab.is-custom .watchlist-board-filter{padding-right:12px}

.watchlist-active-board-tools{min-height:54px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:9px 11px 9px 14px;border:1px solid color-mix(in srgb,var(--board-color) 22%,var(--border));border-radius:15px;background:linear-gradient(90deg,color-mix(in srgb,var(--board-color) 7%,var(--surface-solid,#fff)),var(--surface-solid,#fff));box-shadow:0 8px 22px rgba(0,0,0,.045)}
.watchlist-active-board-tools.is-compact{min-height:0;justify-content:space-between;padding:0;border:0;background:transparent;box-shadow:none}
/* Sabit panolarda yalnız müşteri pill'leri var; şerit tüm genişliği kullansın. */
.watchlist-active-board-tools.is-pills-only{gap:0}.watchlist-active-board-tools.is-pills-only .watchlist-customer-pills{flex:1 1 auto}

.watchlist-active-board-actions{display:flex;align-items:center;gap:6px;flex:0 0 auto}:is(.watchlist-active-board-actions,.watchlist-board-actions-menu>div) button{min-height:34px;display:inline-flex;align-items:center;gap:6px;padding:0 10px;border:1px solid var(--border);border-radius:10px;background:var(--surface-solid,#fff);color:var(--muted);font:800 9px inherit;cursor:pointer;transition:.16s ease}:is(.watchlist-active-board-actions,.watchlist-board-actions-menu>div) button:hover{border-color:color-mix(in srgb,var(--board-color) 44%,var(--border));color:var(--text);transform:translateY(-1px)}:is(.watchlist-active-board-actions,.watchlist-board-actions-menu>div) button>span{font-size:13px;line-height:1}:is(.watchlist-active-board-actions,.watchlist-board-actions-menu>div) .is-share{border-color:color-mix(in srgb,var(--board-color) 28%,var(--border));background:color-mix(in srgb,var(--board-color) 7%,var(--surface-solid,#fff));color:color-mix(in srgb,var(--board-color) 78%,var(--text))}:is(.watchlist-active-board-actions,.watchlist-board-actions-menu>div) .is-delete{border-color:rgba(255,69,58,.26);background:rgba(255,69,58,.07);color:#d9352d}:is(.watchlist-active-board-actions,.watchlist-board-actions-menu>div) .is-delete:hover{border-color:#ff453a;background:rgba(255,69,58,.13);color:#ff453a}
:is(.watchlist-active-board-actions,.watchlist-board-actions-menu>div) button>b{min-width:18px;height:18px;display:grid;place-items:center;padding:0 5px;border-radius:99px;background:color-mix(in srgb,var(--board-color) 16%,transparent);font:850 8px var(--font-numeric)}
.watchlist-customer-pills{min-width:0;display:flex;align-items:center;gap:6px;overflow-x:auto;padding:2px 3px 4px 1px;scrollbar-width:none}.watchlist-customer-pills::-webkit-scrollbar{display:none}.watchlist-customer-pill{height:30px;min-width:max-content;display:inline-flex;align-items:center;gap:8px;padding:0 7px 0 11px;border:1px solid color-mix(in srgb,var(--board-color) 20%,var(--border));border-radius:99px;background:color-mix(in srgb,var(--board-color) 4%,var(--surface-solid,#fff));color:var(--muted);font-family:inherit;font-size:11px;font-weight:600;cursor:pointer;transition:.16s ease}.watchlist-customer-pill:hover{border-color:color-mix(in srgb,var(--board-color) 48%,var(--border));color:var(--text);transform:translateY(-1px)}.watchlist-customer-pill.active{border-color:var(--board-color);background:color-mix(in srgb,var(--board-color) 13%,var(--surface-solid,#fff));color:color-mix(in srgb,var(--board-color) 76%,var(--text));font-weight:650}.watchlist-customer-pill b{min-width:19px;height:19px;display:grid;place-items:center;padding:0 6px;border-radius:99px;background:color-mix(in srgb,var(--board-color) 12%,rgba(127,127,127,.1));color:inherit;font:700 11px var(--font-numeric)}.watchlist-customer-pills>.is-empty{color:var(--muted);font-size:9px}.watchlist-shared-board-status{min-width:max-content;display:flex;align-items:center;gap:8px;padding:5px 8px 5px 11px;border:1px solid color-mix(in srgb,var(--board-color) 20%,var(--border));border-radius:99px;background:color-mix(in srgb,var(--board-color) 5%,var(--surface-solid,#fff));font-size:9px}.watchlist-shared-board-status span{color:var(--muted)}.watchlist-shared-board-status b{padding:5px 8px;border-radius:99px;background:color-mix(in srgb,var(--board-color) 12%,transparent);color:color-mix(in srgb,var(--board-color) 76%,var(--text))}
.watchlist-active-board-actions .is-select.active{border-color:color-mix(in srgb,var(--board-color) 54%,var(--border));background:color-mix(in srgb,var(--board-color) 11%,var(--surface-solid,#fff));color:var(--board-color)}
:is(.watchlist-active-board-actions,.watchlist-board-actions-menu>div) .is-accept{border-color:color-mix(in srgb,#30b85a 34%,var(--border));background:color-mix(in srgb,#30b85a 9%,var(--surface-solid,#fff));color:#1c8c45}
:is(.watchlist-active-board-actions,.watchlist-board-actions-menu>div) .is-leave{color:var(--muted)}
:is(.watchlist-active-board-actions,.watchlist-board-actions-menu>div) .is-main{border-color:color-mix(in srgb,#ffb020 32%,var(--border));background:color-mix(in srgb,#ffb020 7%,var(--surface-solid,#fff));color:#a96800}:is(.watchlist-active-board-actions,.watchlist-board-actions-menu>div) .is-main.active{border-color:#ffb020;background:color-mix(in srgb,#ffb020 15%,var(--surface-solid,#fff));color:#8a5700;box-shadow:0 0 0 3px color-mix(in srgb,#ffb020 10%,transparent)}:is(.watchlist-active-board-actions,.watchlist-board-actions-menu>div) .is-main>span{display:grid;place-items:center}:is(.watchlist-active-board-actions,.watchlist-board-actions-menu>div) .is-main svg{width:14px;height:14px;stroke-width:2}
.watchlist-board-actions-menu{position:relative;z-index:60}.watchlist-board-actions-menu>summary{width:39px;height:36px;display:grid;place-items:center;padding:0;border:1px solid var(--border);border-radius:10px;background:var(--surface-solid,#fff);color:var(--muted);cursor:pointer;list-style:none;transition:.16s ease}.watchlist-board-actions-menu>summary::-webkit-details-marker{display:none}.watchlist-board-actions-menu>summary>span{display:block;margin-top:-4px;font-size:15px;font-weight:900;letter-spacing:1px}.watchlist-board-actions-menu>summary:hover,.watchlist-board-actions-menu[open]>summary{border-color:color-mix(in srgb,var(--board-color) 44%,var(--border));background:color-mix(in srgb,var(--board-color) 8%,var(--surface-solid,#fff));color:color-mix(in srgb,var(--board-color) 78%,var(--text));transform:translateY(-1px)}.watchlist-board-actions-menu>div{position:absolute;z-index:80;top:calc(100% + 7px);right:0;width:216px;display:grid;gap:6px;padding:7px;border:1px solid color-mix(in srgb,var(--board-color) 24%,var(--border));border-radius:13px;background:var(--surface-solid,#fff);box-shadow:0 18px 42px rgba(0,0,0,.19)}.watchlist-board-actions-menu>div>button{width:100%;justify-content:flex-start!important;text-align:left}.watchlist-board-actions-menu>div>button.is-delete{margin-top:2px}.watchlist-board-actions-menu>div>button.is-main.active{box-shadow:none}
html[data-theme=dark] .watchlist-active-board-tools{background:linear-gradient(90deg,color-mix(in srgb,var(--board-color) 10%,#202023),#202023)}
html[data-theme=dark] .watchlist-active-board-tools.is-compact{background:transparent}
/* Kart üzerindeki menü düğmesi daha küçüktür ve kartın kendi yüzeyine oturur;
   menü kutusu ızgara gözünden taşmasın diye sağa yaslanır. */
.watchlist-board-actions-menu.is-card>summary{width:30px;height:28px;border-radius:9px;background:color-mix(in srgb,var(--watch-paper,var(--surface-solid,#fff)) 82%,transparent)}
.watchlist-board-actions-menu.is-card>summary>span{margin-top:-5px;font-size:13px}
.watchlist-board-actions-menu.is-card>div{width:min(216px,calc(100vw - 40px))}
html[data-theme=dark] .watchlist-board-actions-menu>summary,html[data-theme=dark] .watchlist-board-actions-menu>div{background:#202227}
.watchlist-board-filter>em{padding:3px 5px;border-radius:5px;background:color-mix(in srgb,var(--tab-color) 11%,transparent);color:color-mix(in srgb,var(--tab-color) 76%,var(--text));font:850 6px inherit;letter-spacing:.05em}
.watch-shared-board-controls.is-locked{position:relative}.watch-shared-board-controls.is-locked:after{content:"Salt okunur paylaşım";position:absolute;right:14px;bottom:11px;z-index:3;padding:5px 8px;border:1px solid color-mix(in srgb,var(--board-color) 20%,var(--border));border-radius:99px;background:color-mix(in srgb,var(--board-color) 7%,var(--surface-solid,#fff));color:var(--muted);font:800 7px inherit;pointer-events:none}
.watchlist-share-backdrop{position:fixed;z-index:930;inset:0;display:grid;place-items:center;padding:18px;background:rgba(3,6,14,.62);backdrop-filter:blur(16px)}.watchlist-share-backdrop[hidden]{display:none}.watchlist-share-dialog{width:min(680px,calc(100vw - 30px));max-height:min(820px,calc(100vh - 36px));overflow:auto;border:1px solid color-mix(in srgb,var(--accent) 25%,var(--border));border-radius:26px;background:var(--surface-solid,#fff);box-shadow:0 34px 100px rgba(0,0,0,.4)}.watchlist-share-dialog>header{position:sticky;z-index:4;top:0;display:flex;align-items:center;justify-content:space-between;gap:15px;padding:20px 22px 16px;border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--surface-solid,#fff) 92%,transparent);backdrop-filter:blur(20px)}.watchlist-share-dialog>header>span{min-width:0;display:grid;gap:4px}.watchlist-share-dialog>header small{color:var(--accent);font-size:10px;font-weight:850;letter-spacing:.14em}.watchlist-share-dialog>header strong{overflow:hidden;font-size:17px;text-overflow:ellipsis;white-space:nowrap}.watchlist-share-dialog>header button{width:35px;height:35px;flex:0 0 35px;border:1px solid var(--border);border-radius:11px;background:var(--surface);color:var(--muted);font-size:20px;cursor:pointer}#watchlistShareBody{display:grid;gap:15px;padding:17px}.watchlist-share-intro{--board-color:var(--accent);display:grid;grid-template-columns:12px minmax(0,1fr);align-items:center;gap:12px;padding:14px;border:1px solid color-mix(in srgb,var(--board-color) 25%,var(--border));border-radius:16px;background:linear-gradient(100deg,color-mix(in srgb,var(--board-color) 10%,var(--surface-solid,#fff)),var(--surface-solid,#fff))}.watchlist-share-intro>i{width:11px;height:11px;border-radius:50%;background:var(--board-color);box-shadow:0 0 0 5px color-mix(in srgb,var(--board-color) 11%,transparent)}.watchlist-share-intro>span{min-width:0;display:grid;gap:4px}.watchlist-share-intro strong{overflow:hidden;font-size:14px;text-overflow:ellipsis;white-space:nowrap}.watchlist-share-intro small{color:var(--muted);font-size:10px}.watchlist-share-members,.watchlist-share-add{display:grid;gap:9px;padding:14px;border:1px solid var(--border);border-radius:18px;background:color-mix(in srgb,var(--surface) 60%,transparent)}.watchlist-share-members>header,.watchlist-share-add>header{display:flex;align-items:center;justify-content:space-between;gap:10px}.watchlist-share-members>header span,.watchlist-share-add>header span{color:var(--muted);font-size:9px;font-weight:850;letter-spacing:.12em}.watchlist-share-members>header b{min-width:22px;height:22px;display:grid;place-items:center;border-radius:99px;background:var(--accent-soft);color:var(--accent);font:850 9px var(--font-numeric)}.watchlist-share-add>header small{color:var(--muted);font-size:9px}.watchlist-share-member{display:grid;grid-template-columns:34px minmax(0,1fr) auto 30px;align-items:center;gap:9px;padding:9px;border:1px solid var(--border);border-radius:13px;background:var(--surface-solid,#fff)}.watchlist-share-avatar{width:34px;height:34px;display:grid;place-items:center;border-radius:11px;background:var(--accent-soft);color:var(--accent);font-size:13px;font-weight:850}.watchlist-share-member>span:nth-child(2){min-width:0;display:grid;gap:2px}.watchlist-share-member strong,.watchlist-share-member small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.watchlist-share-member strong{font-size:11px}.watchlist-share-member small{color:var(--muted);font-size:8px}.watchlist-share-member>div{display:flex;padding:3px;border:1px solid var(--border);border-radius:10px;background:var(--surface)}.watchlist-share-member>div button{height:28px;padding:0 9px;border:0;border-radius:7px;background:transparent;color:var(--muted);font:800 8px inherit;cursor:pointer}.watchlist-share-member>div button.active{background:var(--surface-solid,#fff);color:var(--accent);box-shadow:0 2px 8px rgba(0,0,0,.08)}.watchlist-share-remove{width:30px;height:30px;border:1px solid rgba(255,69,58,.22);border-radius:9px;background:rgba(255,69,58,.06);color:#ff453a;font-size:16px;cursor:pointer}.watchlist-share-search{height:42px;display:flex;align-items:center;gap:8px;padding:0 12px;border:1px solid var(--border);border-radius:12px;background:var(--surface-solid,#fff)}.watchlist-share-search:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.watchlist-share-search>span{color:var(--muted);font-size:20px}.watchlist-share-search input{min-width:0;flex:1;border:0;outline:0;background:transparent;color:var(--text);font:700 11px inherit}.watchlist-share-directory{max-height:230px;display:grid;gap:7px;overflow:auto}.watchlist-share-directory>button{min-width:0;display:grid;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:10px;padding:9px;border:1px solid var(--border);border-radius:13px;background:var(--surface-solid,#fff);color:inherit;text-align:left;cursor:pointer}.watchlist-share-directory>button:hover,.watchlist-share-directory>button.active{border-color:color-mix(in srgb,var(--accent) 50%,var(--border));background:var(--accent-soft)}.watchlist-share-directory>button>i{width:36px;height:36px;display:grid;place-items:center;border-radius:12px;background:color-mix(in srgb,var(--profile-color) 15%,transparent);color:var(--profile-color);font-style:normal;font-size:13px;font-weight:850}.watchlist-share-directory>button>span{min-width:0;display:grid;gap:2px}.watchlist-share-directory strong,.watchlist-share-directory small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.watchlist-share-directory strong{font-size:11px}.watchlist-share-directory small{color:var(--muted);font-size:8px}.watchlist-share-directory em{padding:5px 8px;border-radius:99px;background:var(--accent-soft);color:var(--accent);font:800 8px inherit}.watchlist-share-directory>button>b{color:var(--muted);font-size:18px}.watchlist-share-empty{padding:20px;color:var(--muted);font-size:10px;text-align:center}.watchlist-share-permission{display:grid;gap:9px;padding-top:4px;border-top:1px solid var(--border)}.watchlist-share-permission>span{padding-top:8px;color:var(--muted);font-size:10px}.watchlist-share-permission>span strong{color:var(--text)}.watchlist-share-permission>div{display:grid;grid-template-columns:1fr 1fr;gap:8px}.watchlist-share-permission>div button{display:grid;gap:4px;padding:11px;border:1px solid var(--border);border-radius:13px;background:var(--surface-solid,#fff);color:var(--muted);text-align:left;cursor:pointer}.watchlist-share-permission>div button.active{border-color:var(--accent);background:var(--accent-soft);color:var(--text);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 8%,transparent)}.watchlist-share-permission button b{font-size:10px}.watchlist-share-permission button small{color:var(--muted);font-size:8px;line-height:1.35}.watchlist-share-submit{height:42px;border:0;border-radius:12px;background:var(--accent);color:#fff;font:850 11px inherit;cursor:pointer;box-shadow:0 8px 22px color-mix(in srgb,var(--accent) 25%,transparent)}
.watchlist-bulk-move{min-height:58px;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:9px 11px 9px 14px;border:1px solid color-mix(in srgb,var(--board-color) 36%,var(--border));border-radius:15px;background:color-mix(in srgb,var(--board-color) 7%,var(--surface-solid,#fff));box-shadow:0 9px 22px color-mix(in srgb,var(--board-color) 9%,transparent)}
.watchlist-bulk-move>span{min-width:0;display:grid;gap:2px}.watchlist-bulk-move>span strong{color:var(--text);font-size:11px}.watchlist-bulk-move>span small{color:var(--muted);font-size:8px}
.watchlist-bulk-move>div{display:flex;align-items:center;gap:6px}.watchlist-bulk-move button {height:35px;border:1px solid var(--border);border-radius:10px;background:var(--surface-solid,#fff);color:var(--text);font:800 9px inherit}.watchlist-bulk-move button{padding:0 10px;cursor:pointer}.watchlist-bulk-move .is-copy{border-color:color-mix(in srgb,var(--board-color) 44%,var(--border));background:color-mix(in srgb,var(--board-color) 9%,var(--surface-solid,#fff));color:color-mix(in srgb,var(--board-color) 82%,var(--text))}.watchlist-bulk-move .is-copy:hover{border-color:var(--board-color);background:color-mix(in srgb,var(--board-color) 15%,var(--surface-solid,#fff))}.watchlist-bulk-move .is-move{border-color:var(--board-color);background:var(--board-color);color:#fff}.watchlist-bulk-move .is-share{border-color:#30a46c;background:rgba(48,164,108,.1);color:#23815a}.watchlist-bulk-move .is-share:hover{background:rgba(48,164,108,.17)}.watchlist-bulk-move .is-move:disabled,.watchlist-bulk-move .is-copy:disabled,.watchlist-bulk-move .is-share:disabled{opacity:.45;cursor:not-allowed}.watchlist-bulk-move .is-cancel{width:35px;padding:0;color:var(--muted);font-size:18px}
html[data-theme=dark] .watchlist-bulk-move,
html[data-theme=dark] .watchlist-bulk-move button {background:#202227}

/* Çoklu seçim sırasında sohbet dock'unu işlem çubuğunun güvenli yan cebine al.
   Saat ve kişi başları geçici olarak kapanır; sohbet ve kanal işlevleri erişilebilir kalır. */
html.order-selection-active .msg-dock{
  left:auto;
  right:calc(50% + min(360px,calc((100vw - 28px)/2)) + 14px);
  bottom:24px;
  width:auto;
  max-width:none;
  gap:8px;
  padding:8px;
  transform:none;
}
html.order-selection-active .msg-dock-clock,
html.order-selection-active .msg-dock-separator,
html.order-selection-active .msg-dock-heads,
html.order-selection-active .msg-dock-label{display:none}
html.order-selection-active .msg-dock-btn,
html.order-selection-active .msg-dock:hover .msg-dock-btn,
html.order-selection-active .msg-dock:focus-within .msg-dock-btn{
  width:44px;
  height:44px;
  flex:0 0 44px;
  padding:0;
  gap:0;
}
@media(max-width:980px){
  html.order-selection-active .msg-dock{
    left:16px;
    right:auto;
    bottom:96px;
  }
  html.order-selection-list-active .msg-dock{
    opacity:0;
    pointer-events:none;
    transform:translateY(10px) scale(.94);
  }
}
@media(max-width:760px){.watchlist-grid-empty{padding:28px 16px}.watchlist-board-group{grid-template-columns:1fr}.watchlist-board-group>header{min-height:34px}.watchlist-board-group .watchlist-board-tabs{overflow-x:auto}}
@media(max-width:680px){.watchlist-active-board-tools{align-items:stretch;flex-direction:column}.watchlist-active-board-actions{grid-template-columns:1fr 1fr}:is(.watchlist-active-board-actions,.watchlist-board-actions-menu>div) .is-delete{grid-column:1/-1}:is(.watchlist-active-board-actions,.watchlist-board-actions-menu>div) button{justify-content:center}.watchlist-customer-pills{width:100%}.watchlist-shared-board-status{justify-content:space-between}.watchlist-share-member{grid-template-columns:34px minmax(0,1fr) 30px}.watchlist-share-member>div{grid-column:1/-1;grid-row:2;width:100%}.watchlist-share-member>div button{flex:1}.watchlist-share-remove{grid-column:3;grid-row:1}.watchlist-share-permission>div{grid-template-columns:1fr}.watchlist-bulk-move{align-items:stretch;flex-direction:column}.watchlist-bulk-move>div{display:grid;grid-template-columns:1fr 1fr}.watchlist-bulk-move .is-copy,.watchlist-bulk-move .is-move{width:100%}.watchlist-bulk-move .is-cancel{width:auto}}
@media(max-width:680px){.watchlist-active-board-actions{display:flex;justify-content:flex-end}.watchlist-board-actions-menu>div{width:min(216px,calc(100vw - 38px))}}

.watchlist-order-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));align-items:start;gap:16px 14px}
.watchlist-order-grid .watch-order-card{
  grid-column:span 2;
  min-width:0;
  overflow:visible;
  padding:0;
  border:1px solid color-mix(in srgb,var(--board-color) 19%,var(--border));
  border-radius:18px;
  background:linear-gradient(155deg,color-mix(in srgb,var(--board-color) 5%,var(--surface-solid,#fff)),var(--surface-solid,#fff) 42%);
  box-shadow:0 11px 28px rgba(0,0,0,.07);
}
.watchlist-order-grid.is-layout-entering .watch-order-card{animation:watchCardSettle .46s cubic-bezier(.2,.78,.22,1) backwards;animation-delay:min(calc(var(--watch-row,0) * 72ms + var(--watch-slot,0) * 34ms),280ms)}
.watchlist-order-grid.is-layout-entering .watch-order-card.is-transfer-focus{animation:watchlistTransferFocus 1.25s ease-in-out 2;animation-delay:0s}
@keyframes watchCardSettle{
  0%{opacity:.3;transform:translateY(18px) scale(.986)}
  68%{opacity:1;transform:translateY(-2px) scale(1)}
  100%{opacity:1;transform:none}
}
.watchlist-order-grid .watch-order-card:hover{border-color:color-mix(in srgb,var(--board-color) 46%,var(--border));box-shadow:0 18px 38px rgba(0,0,0,.12);transform:translateY(-3px)}
.watchlist-order-grid .watch-order-card.is-selected{border-color:var(--board-color);box-shadow:0 0 0 2px color-mix(in srgb,var(--board-color) 24%,transparent),0 18px 38px rgba(0,0,0,.12)}
.watchlist-order-grid .watch-order-card.is-dragging{opacity:.5;transform:scale(.985)}
/* Hızlı ekle düğmeleri: karta yapışık bir "boş yuva" değil, kartın yanında
   duran bağımsız düğmeler. Bu yüzden kesik çizgi yerine düz kenar, tam
   görünürlük, kendi gölgesi ve karttan belirgin bir mesafe. */
.watch-quick-add-slot{
  position:absolute;
  z-index:44;
  top:50%;
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  padding:0;
  border:1px solid color-mix(in srgb,var(--board-color) 26%,var(--border));
  border-radius:50%;
  background:var(--surface-solid,#fff);
  color:color-mix(in srgb,var(--board-color) 70%,var(--text));
  box-shadow:0 1px 2px rgba(15,35,65,.05),0 9px 22px rgba(15,35,65,.1);
  opacity:1;
  cursor:pointer;
  transform:translateY(-50%);
  transition:transform .16s ease,border-color .16s ease,background .16s ease,box-shadow .16s ease;
}
.watch-quick-add-slot span{font-size:22px;font-weight:400;line-height:1;transform:translateY(-1px)}
.watch-quick-add-slot.is-before{left:-84px}
.watch-quick-add-slot.is-after{right:-84px}
.watch-quick-add-slot:hover,.watch-quick-add-slot:focus-visible{
  border-color:var(--board-color);
  background:color-mix(in srgb,var(--board-color) 10%,var(--surface-solid,#fff));
  color:var(--board-color);
  box-shadow:0 0 0 5px color-mix(in srgb,var(--board-color) 10%,transparent),0 12px 26px rgba(15,35,65,.14);
  outline:0;
  transform:translateY(-50%) scale(1.07);
}
/* Bağımsızlık sinyali: kart gövdesi hover'da 3px yükselirken düğme yerinde
   kalır; imleç düğmenin üzerindeyken de kart hiç oynamaz. :has desteklenmezse
   eski davranışa (düğme kartla birlikte hareket eder) sessizce düşer. */
.watchlist-order-grid .watch-order-card:hover:not(:has(.watch-quick-add-slot:hover)) .watch-quick-add-slot{transform:translateY(calc(-50% + 3px))}
.watchlist-order-grid .watch-order-card:has(.watch-quick-add-slot:hover){transform:none}
.watch-quick-add-slot.is-tablet-placement,.watch-quick-add-slot.is-mobile-placement{display:none}
.watch-quick-add-lane{
  grid-column:1/-1;
  min-width:0;
  min-height:88px;
  display:none;
  place-items:start center;
  padding:14px 24px 36px;
  overflow-x:auto;
  overscroll-behavior-x:contain;
  scroll-margin-bottom:110px;
  scrollbar-width:thin;
}
.watch-quick-add-lane::before{
  grid-area:1/1;
  width:min(320px,52vw);
  height:1px;
  margin-top:15px;
  background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--board-color) 26%,var(--border)),transparent);
  content:"";
}
.watch-quick-add-lane .watch-quick-add-slot{
  position:relative;
  grid-area:1/1;
  top:auto;
  right:auto;
  bottom:auto;
  left:auto;
  display:none;
  opacity:1;
  transform:none;
}
.watch-quick-add-lane .watch-quick-add-slot:hover,
.watch-quick-add-lane .watch-quick-add-slot:focus-visible{transform:scale(1.06)}

/* Hızlı ekle penceresi (Takip › + / Sipariş ekle). Yapı: başlık · dolgulu
   arama · liste | önizleme · klavye ipucu. Dar ekranda alttan açılan sayfa. */
.watch-quick-add-popover{
  position:fixed;
  z-index:1800;
  display:flex;
  flex-direction:column;
  overflow:hidden;
  border:1px solid var(--desk-line,var(--border));
  border-radius:16px;
  background:var(--desk-paper,var(--surface-solid));
  color:var(--desk-ink,var(--text));
  box-shadow:0 18px 44px rgba(15,23,42,.18);
  animation:watchQuickAddIn .16s cubic-bezier(.2,.75,.25,1);
}
@keyframes watchQuickAddIn{from{opacity:0;transform:translateY(6px) scale(.98)}to{opacity:1;transform:none}}
.watch-quick-add-popover .wqa-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:16px 12px 12px 16px}
.watch-quick-add-popover .wqa-head>span{display:grid;gap:4px;min-width:0}
.watch-quick-add-popover .wqa-head strong{font-size:15px;font-weight:650;letter-spacing:-.01em}
.watch-quick-add-popover .wqa-head small{overflow:hidden;color:var(--desk-muted,var(--muted));font-size:12px;text-overflow:ellipsis;white-space:nowrap}
.watch-quick-add-popover .wqa-close{width:32px;height:32px;display:grid;place-items:center;flex:0 0 auto;padding:0;border:0;border-radius:8px;background:transparent;color:var(--desk-muted,var(--muted));cursor:pointer;transition:background .15s ease,color .15s ease}
.watch-quick-add-popover .wqa-close svg{width:16px;height:16px}
.watch-quick-add-popover .wqa-close:hover{background:var(--v2-hover,var(--accent-soft));color:var(--desk-ink,var(--text))}
.watch-quick-add-popover .wqa-search{position:relative;height:40px;display:flex;align-items:center;gap:8px;margin:0 16px 12px;padding:0 8px 0 12px;border-radius:10px;background:color-mix(in srgb,var(--desk-ink,var(--text)) 5%,transparent);transition:background .15s ease,box-shadow .15s ease}
.watch-quick-add-popover .wqa-search:focus-within{background:var(--desk-paper,var(--surface-solid));box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 55%,transparent),0 0 0 4px var(--accent-soft)}
.watch-quick-add-popover .wqa-search>svg{width:16px;height:16px;flex:0 0 auto;color:var(--desk-muted,var(--muted));stroke-width:1.8}
#watchlistQuickAddPopover .wqa-search input,
#watchlistQuickAddPopover .wqa-search input:hover,
#watchlistQuickAddPopover .wqa-search input:focus,
#storeCustomerPicker .wqa-search input,
#storeCustomerPicker .wqa-search input:hover,
#storeCustomerPicker .wqa-search input:focus{flex:1;min-width:0;width:auto;height:100%;min-height:0;margin:0;padding:0;border:0;border-radius:0;outline:0;background:transparent;box-shadow:none;color:var(--desk-ink,var(--text));font:500 14px/1 inherit;-webkit-appearance:none;appearance:none}
.watch-quick-add-popover .wqa-search input::placeholder{color:var(--desk-muted,var(--muted));opacity:1}
.watch-quick-add-popover .wqa-count{flex:0 0 auto;color:var(--desk-muted,var(--muted));font-size:12px;font-variant-numeric:tabular-nums;white-space:nowrap}
.watch-quick-add-popover .wqa-clear{width:24px;height:24px;display:grid;place-items:center;flex:0 0 auto;padding:0;border:0;border-radius:6px;background:transparent;color:var(--desk-muted,var(--muted));cursor:pointer}
.watch-quick-add-popover .wqa-clear[hidden]{display:none}
.watch-quick-add-popover .wqa-clear svg{width:14px;height:14px}
.watch-quick-add-popover .wqa-clear:hover{background:var(--v2-hover,var(--accent-soft));color:var(--desk-ink,var(--text))}
.watch-quick-add-popover .wqa-search:has(.wqa-clear:not([hidden])) .wqa-count{display:none}
.watch-quick-add-popover .wqa-body{min-height:0;display:grid;grid-template-columns:minmax(0,1fr) 248px;flex:1;border-top:1px solid var(--desk-line,var(--border))}
.watch-quick-add-popover .wqa-orders{min-height:0;overflow:auto;padding:6px;scrollbar-width:thin;overscroll-behavior:contain}
.watch-quick-add-popover .wqa-orders>button{width:100%;min-height:40px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:8px 10px;border:0;border-radius:8px;background:transparent;color:inherit;text-align:left;cursor:pointer}
.watch-quick-add-popover .wqa-orders>button+button{margin-top:2px}
.watch-quick-add-popover .wqa-orders>button.active{background:var(--accent-soft)}
.watch-quick-add-popover .wqa-row-id{color:var(--desk-muted,var(--muted));font-size:12px;font-weight:500;font-variant-numeric:tabular-nums;white-space:nowrap}
.watch-quick-add-popover .wqa-orders strong{overflow:hidden;font-size:13px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}
.watch-quick-add-popover .wqa-row-kg{color:var(--desk-muted,var(--muted));font-size:12px;font-variant-numeric:tabular-nums;white-space:nowrap}
.watch-quick-add-popover .wqa-orders>button.active .wqa-row-id{color:var(--accent)}
.watch-quick-add-popover .wqa-preview{min-height:0;overflow:auto;padding:16px;border-left:1px solid var(--desk-line,var(--border));background:var(--desk-soft,var(--surface));scrollbar-width:thin}
.watch-quick-add-popover .wqa-preview-head{display:grid;gap:4px;padding-bottom:12px}
.watch-quick-add-popover .wqa-preview-id{color:var(--desk-muted,var(--muted));font-size:12px;font-variant-numeric:tabular-nums}
.watch-quick-add-popover .wqa-preview-head strong{font-size:14px;font-weight:650;line-height:1.3;overflow-wrap:anywhere}
.watch-quick-add-popover .wqa-preview-facts{display:flex;flex-wrap:wrap;gap:4px 16px;margin-top:4px;font-size:12px;font-variant-numeric:tabular-nums}
.watch-quick-add-popover .wqa-preview-facts span{display:grid;gap:2px}
.watch-quick-add-popover .wqa-preview-facts small,
.watch-quick-add-popover .wqa-preview-section span{color:var(--desk-muted,var(--muted));font-size:10px;font-weight:600;letter-spacing:.1em;text-transform:uppercase}
.watch-quick-add-popover .wqa-preview-section{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:12px 0 4px;border-top:1px solid var(--desk-line,var(--border))}
.watch-quick-add-popover .wqa-preview-section b{font-size:13px;font-weight:700;font-variant-numeric:tabular-nums}
.watch-quick-add-popover .wqa-fabrics{margin:0;padding:0;list-style:none}
.watch-quick-add-popover .wqa-fabrics li{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:12px;padding:8px 0}
.watch-quick-add-popover .wqa-fabrics li+li{border-top:1px solid color-mix(in srgb,var(--desk-line,var(--border)) 70%,transparent)}
.watch-quick-add-popover .wqa-fabrics span{overflow:hidden;font-size:12px;text-overflow:ellipsis;white-space:nowrap}
.watch-quick-add-popover .wqa-fabrics b{font-size:12px;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}
.watch-quick-add-popover .wqa-fabrics-more,.watch-quick-add-popover .wqa-preview-empty{margin:8px 0 0;color:var(--desk-muted,var(--muted));font-size:12px;line-height:1.5}
.watch-quick-add-popover .wqa-empty{display:grid;place-content:center;gap:4px;min-height:160px;padding:20px;color:var(--desk-muted,var(--muted));font-size:12px;line-height:1.5;text-align:center}
.watch-quick-add-popover .wqa-empty strong{color:var(--desk-ink,var(--text));font-size:13px;font-weight:600}
.watch-quick-add-popover .wqa-foot{display:flex;gap:16px;padding:8px 16px;border-top:1px solid var(--desk-line,var(--border));color:var(--desk-muted,var(--muted));font-size:11px}
.watch-quick-add-popover .wqa-foot span{display:inline-flex;align-items:center;gap:4px}
.watch-quick-add-popover kbd{min-width:18px;height:18px;display:inline-grid;place-items:center;padding:0 4px;border:1px solid var(--desk-line,var(--border));border-radius:4px;background:var(--desk-paper,var(--surface-solid));color:inherit;font:600 10px/1 inherit}
@media (hover:none){.watch-quick-add-popover .wqa-foot{display:none}}
/* Dar ekran: alttan açılan sayfa; önizleme yerine satırdaki kg yeter. */
.watch-quick-add-popover.is-sheet{top:auto;right:0;bottom:0;left:0;width:auto;height:min(78dvh,640px);border-width:1px 0 0;border-radius:16px 16px 0 0;padding-bottom:env(safe-area-inset-bottom);animation-name:watchQuickAddSheetIn}
@keyframes watchQuickAddSheetIn{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
.watch-quick-add-popover.is-sheet .wqa-body{grid-template-columns:1fr}
.watch-quick-add-popover.is-sheet .wqa-preview,.watch-quick-add-popover.is-sheet .wqa-foot{display:none}
.watch-quick-add-popover.is-sheet .wqa-search{height:44px}
#watchlistQuickAddPopover.is-sheet .wqa-search input,#storeCustomerPicker.is-sheet .wqa-search input{font-size:16px}
.watch-quick-add-popover.is-sheet .wqa-orders>button{min-height:44px}
/* Tek sütunlu varyant (önizlemesiz): mağaza siparişinin müşterisini seçme
   (orders.js storeCustomerButtonHTML). Satır: ✓ · ad · sipariş sayısı. */
.watch-quick-add-popover.is-single:not(.is-sheet){width:min(360px,calc(100vw - 24px));max-height:min(460px,calc(100dvh - 24px))}
.watch-quick-add-popover.is-single .wqa-body{grid-template-columns:1fr}
.watch-quick-add-popover.is-single .wqa-orders>button.is-clear strong{color:var(--desk-muted,var(--muted));font-weight:500}
.watch-quick-add-popover.is-single .wqa-row-id{min-width:12px;color:var(--accent)}
.watch-quick-add-popover.is-busy .wqa-orders{opacity:.55;pointer-events:none}
html[data-theme=dark] .watch-quick-add-slot{background:color-mix(in srgb,#202328 90%,transparent)}
html[data-theme=dark] .watch-quick-add-popover{box-shadow:0 18px 44px rgba(0,0,0,.5)}
.watchlist-order-grid .watch-order-card.is-risk{border-color:color-mix(in srgb,#ff453a 36%,var(--border));background:linear-gradient(155deg,color-mix(in srgb,#ff453a 8%,var(--surface-solid,#fff)),var(--surface-solid,#fff) 52%)}
.watchlist-order-grid .watch-order-card.has-custom-color.is-risk{border-color:color-mix(in srgb,var(--board-color) 36%,var(--border));background:linear-gradient(155deg,color-mix(in srgb,var(--board-color) 8%,var(--surface-solid,#fff)),var(--surface-solid,#fff) 52%)}

/* Aydınlık mod · kişisel kart rengi tüm kart yüzeyine dengeli biçimde yayılır */
html:not([data-theme="dark"]) .watchlist-order-grid .watch-order-card.has-custom-color{
  --watch-card-ink:color-mix(in srgb,var(--board-color) 58%,#152033);
  --watch-card-line:color-mix(in srgb,var(--board-color) 30%,#d8e0ea);
  border-color:var(--watch-card-line);
  background:
    radial-gradient(circle at 96% -8%,color-mix(in srgb,var(--board-color) 25%,transparent),transparent 38%),
    linear-gradient(145deg,color-mix(in srgb,var(--board-color) 16%,#fff),color-mix(in srgb,var(--board-color) 8%,#fff) 52%,#fff 100%);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.78),
    0 16px 38px color-mix(in srgb,var(--board-color) 13%,rgba(26,36,52,.13));
}
html:not([data-theme="dark"]) .watchlist-order-grid .watch-order-card.has-custom-color:hover{
  border-color:color-mix(in srgb,var(--board-color) 52%,#cbd5e1);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.82),
    0 22px 48px color-mix(in srgb,var(--board-color) 18%,rgba(26,36,52,.17));
}
html:not([data-theme="dark"]) .watch-order-card.has-custom-color .watch-order-card-head{
  background:linear-gradient(90deg,color-mix(in srgb,var(--board-color) 14%,#fff),color-mix(in srgb,var(--board-color) 5%,#fff));
  border-radius:17px 17px 0 0;
}
html:not([data-theme="dark"]) .watch-order-card.has-custom-color .watch-order-board-tag,
html:not([data-theme="dark"]) .watch-order-card.has-custom-color .watch-order-card-more{color:var(--watch-card-ink)}
html:not([data-theme="dark"]) .watch-order-card.has-custom-color .watch-order-card-more{
  border-color:color-mix(in srgb,var(--board-color) 38%,#d6dee8);
  background:color-mix(in srgb,var(--board-color) 12%,#fff);
}
html:not([data-theme="dark"]) .watch-order-card.has-custom-color .watch-order-customer{
  border-color:color-mix(in srgb,var(--board-color) 21%,#dce3eb);
  background:linear-gradient(90deg,color-mix(in srgb,var(--board-color) 7%,#fff),rgba(255,255,255,.58));
}
html:not([data-theme="dark"]) .watch-order-card.has-custom-color .watch-fabric-summary{
  border-color:color-mix(in srgb,var(--board-color) 32%,#d5deea);
  background:linear-gradient(150deg,color-mix(in srgb,var(--board-color) 12%,#fff),color-mix(in srgb,var(--board-color) 4%,#fff));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.7);
}
html:not([data-theme="dark"]) .watch-order-card.has-custom-color .watch-fabric-summary>header,
html:not([data-theme="dark"]) .watch-order-card.has-custom-color .watch-fabric-summary-row,
html:not([data-theme="dark"]) .watch-order-card.has-custom-color .watch-order-flow,
html:not([data-theme="dark"]) .watch-order-card.has-custom-color .watch-workflow-hub,
html:not([data-theme="dark"]) .watch-order-card.has-custom-color .watch-order-total,
html:not([data-theme="dark"]) .watch-order-card.has-custom-color .watch-order-note,
html:not([data-theme="dark"]) .watch-order-card.has-custom-color .watch-note-chat {
  border-color:color-mix(in srgb,var(--board-color) 20%,#dce3eb);
}
html:not([data-theme="dark"]) .watch-order-card.has-custom-color .watch-fabric-summary-row.is-selected{
  background:color-mix(in srgb,var(--board-color) 13%,#fff);
  box-shadow:inset 3px 0 0 var(--board-color);
}
html:not([data-theme="dark"]) .watch-order-card.has-custom-color .watch-workflow-hub {
  background:color-mix(in srgb,var(--board-color) 6%,#fff);
}
html:not([data-theme="dark"]) .watch-order-card.has-custom-color .watch-control-tile{
  background:linear-gradient(145deg,color-mix(in srgb,var(--control-color) 7%,#fff),color-mix(in srgb,var(--board-color) 4%,#fff));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.72);
}
html:not([data-theme="dark"]) .watch-order-card.has-custom-color .watch-order-flow{
  background:linear-gradient(90deg,color-mix(in srgb,var(--board-color) 5%,#fff),rgba(255,255,255,.68));
}
html:not([data-theme="dark"]) .watch-order-card.has-custom-color .watch-production-summary,
html:not([data-theme="dark"]) .watch-order-card.has-custom-color .watch-note-chat,
html:not([data-theme="dark"]) .watch-order-card.has-custom-color>footer{
  background:linear-gradient(180deg,color-mix(in srgb,var(--board-color) 6%,#fff),color-mix(in srgb,var(--board-color) 3%,#fff));
}
.watch-order-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;}

.watch-order-readonly-tag{flex:0 0 auto;padding:3px 6px;border:1px solid color-mix(in srgb,var(--board-color) 24%,var(--border));border-radius:99px;background:color-mix(in srgb,var(--board-color) 6%,transparent);color:var(--muted);font-size:7px;font-weight:800}
.watch-order-board-tag{min-width:0;display:flex;align-items:center;overflow:hidden;color:color-mix(in srgb,var(--board-color) 72%,var(--text));font-weight:850;text-overflow:ellipsis;white-space:nowrap}

.watch-order-customer{justify-content:space-between;border-bottom:1px solid color-mix(in srgb,var(--border) 64%,transparent)}

.watch-order-customer strong,.watch-order-customer span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

.watch-order-total>b {flex:0 0 auto;padding:6px 8px;border-radius:8px;background:color-mix(in srgb,var(--stage-color) 12%,transparent);color:var(--stage-color);font-size:10px;font-weight:800;white-space:nowrap}
.watch-order-customer>b.is-danger,.watch-order-total>b.is-danger{background:rgba(255,69,58,.12);color:#ff453a}
.watch-order-customer>b.is-warning,.watch-order-total>b.is-warning{background:rgba(255,159,10,.13);color:#d87900}

.watch-fabric-summary{margin:10px 17px 11px;overflow:hidden;border:1px solid color-mix(in srgb,var(--accent) 18%,var(--border));border-radius:12px;background:color-mix(in srgb,var(--accent) 2.5%,var(--surface-solid,#fff))}
.watch-fabric-summary>header{min-height:27px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:5px 10px;border-bottom:1px solid color-mix(in srgb,var(--border) 72%,transparent);color:var(--muted)}
.watch-fabric-summary>header>span{font-size:8px;font-weight:820;letter-spacing:.08em}
.watch-fabric-summary>header>b{font:780 8px var(--font-numeric)}
.watch-fabric-summary-list{display:grid}
.watch-fabric-summary-list.is-scrollable{max-height:216px;overflow-y:auto;overscroll-behavior:contain;scrollbar-color:color-mix(in srgb,var(--muted) 34%,transparent) transparent;scrollbar-width:thin}
.watch-fabric-summary-list.is-carousel{position:relative;display:block;overflow:hidden}
.watch-fabric-summary-list.is-carousel .watch-fabric-summary-row{position:absolute;inset:0;z-index:0;width:100%;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(22px);transition:opacity .32s ease,transform .32s cubic-bezier(.22,.78,.25,1)}
.watch-fabric-summary-list.is-carousel .watch-fabric-summary-row.is-carousel-active{z-index:2;opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}
.watch-fabric-summary-list.is-carousel .watch-fabric-summary-row.is-carousel-staging{z-index:3;visibility:visible}
.watch-fabric-summary-list.is-carousel .watch-fabric-summary-row.is-entering-up{transform:translateY(-100%)}
.watch-fabric-summary-list.is-carousel .watch-fabric-summary-row.is-entering-down{transform:translateY(100%)}
.watch-fabric-summary-list.is-carousel .watch-fabric-summary-row.is-leaving-up{z-index:1;visibility:visible;pointer-events:none;opacity:0;transform:translateY(-100%)}
.watch-fabric-summary-list.is-carousel .watch-fabric-summary-row.is-leaving-down{z-index:1;visibility:visible;pointer-events:none;opacity:0;transform:translateY(100%)}
.watch-fabric-summary-row{min-width:0;display:grid;grid-template-rows:minmax(0,1fr) 14px;align-items:center;column-gap:8px;row-gap:2px;padding:6px 10px;border-bottom:1px solid color-mix(in srgb,var(--border) 60%,transparent);cursor:pointer}
.watch-fabric-summary-row.is-selected{background:color-mix(in srgb,var(--accent) 6%,transparent);box-shadow:inset 3px 0 0 color-mix(in srgb,var(--accent) 72%,transparent)}
.watch-fabric-summary-row:last-child{border-bottom:0}
.watch-fabric-summary-row>.watch-fabric-select,.watch-fabric-summary-row>span{min-width:0;overflow:hidden;white-space:nowrap}

.watch-fabric-summary-row>span{display:flex;align-items:center;gap:6px;color:var(--muted);}
.watch-fabric-summary-row>span>i{width:6px;height:6px;flex:0 0 6px;border-radius:50%;background:var(--stage-color);box-shadow:0 0 0 3px color-mix(in srgb,var(--stage-color) 9%,transparent)}

.watch-fabric-summary-row>b{color:var(--text);font:800 9px var(--font-numeric);white-space:nowrap}

.watch-fabric-control-progress>.is-quality.is-done::after{background:#20a56d;box-shadow:0 0 6px rgba(32,165,109,.22)}
.watch-fabric-control-progress>.is-knitting.is-done::after{background:#0a84ff;box-shadow:0 0 6px rgba(10,132,255,.22)}
.watch-fabric-control-progress>.is-color.is-done::after{background:#8b5cf6;box-shadow:0 0 6px rgba(139,92,246,.22)}
.watch-fabric-control-progress>.is-dye.is-done::after{background:#e58b00;box-shadow:0 0 6px rgba(229,139,0,.22)}
.watch-marquee{min-width:0;display:block;overflow:hidden;white-space:nowrap}

.watch-marquee.is-marquee .watch-marquee-track{
  width:max-content;
  max-width:none;
  overflow:visible;
  text-overflow:clip;
  animation:watch-text-marquee var(--marquee-duration,7s) linear 1 both;
  will-change:transform;
}
@keyframes watch-text-marquee{
  0%{transform:translateX(0)}
  100%{transform:translateX(var(--marquee-distance,0))}
}

.watch-order-flow{width:100%;display:grid;padding:0;border:0;border-top:1px solid color-mix(in srgb,var(--border) 68%,transparent);border-bottom:1px solid color-mix(in srgb,var(--border) 68%,transparent);outline:0;background:transparent;color:inherit;font:inherit;text-align:inherit;cursor:pointer;appearance:none;transition:background .16s ease,box-shadow .16s ease}
.watch-order-flow:hover{background:color-mix(in srgb,var(--stage-color) 3.5%,transparent)}.watch-order-flow:focus-visible{box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--stage-color) 46%,transparent)}
.watch-order-flow-rail{display:flex;align-items:flex-start;padding:10px 17px 9px}
.watch-order-flow-step{width:45px;min-width:0;display:grid;justify-items:center;gap:6px;color:var(--muted)}
.watch-order-flow-step>i{width:18px;height:18px;display:block;border:2px solid color-mix(in srgb,var(--muted) 36%,var(--border));border-radius:50%;background:var(--surface-solid,#fff);box-shadow:0 0 0 3px var(--surface-solid,#fff)}
.watch-order-flow-step>small{width:54px;overflow:hidden;font-size:8px;font-weight:750;text-align:center;text-overflow:ellipsis;white-space:nowrap}
.watch-order-flow-rail>b{height:2px;flex:1;margin:8px -2px 0;background:color-mix(in srgb,var(--muted) 24%,var(--border))}
.watch-order-flow-step.is-done{color:#4fcf91}.watch-order-flow-step.is-done>i{border-color:#4fcf91;background:#4fcf91}
.watch-order-flow-step.is-current{color:var(--stage-color)}.watch-order-flow-step.is-current>i{border-color:var(--stage-color);background:var(--stage-color);box-shadow:0 0 0 4px color-mix(in srgb,var(--stage-color) 14%,transparent)}
.watch-order-flow-step.is-done+b{background:var(--stage-color)}
.watch-order-flow-toggle{height:23px;display:flex;align-items:center;justify-content:center;gap:6px;border-top:1px solid color-mix(in srgb,var(--border) 56%,transparent);color:color-mix(in srgb,var(--stage-color) 76%,var(--muted));font-size:7.5px;font-weight:820;letter-spacing:.02em}
.watch-order-flow-toggle>i{width:6px;height:6px;display:block;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-1px) rotate(45deg);transition:transform .18s ease}.watch-order-flow.is-open .watch-order-flow-toggle>i{transform:translateY(2px) rotate(225deg)}

.watch-production-summary[hidden]{display:none}.watch-production-summary:not([hidden]){animation:watchProductionReveal .16s ease both}
@keyframes watchProductionReveal{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}
.watch-order-ledger{margin:0 17px;border-bottom:1px solid var(--border)}
.watch-order-ledger>div{display:grid;grid-template-columns:minmax(0,1fr) 82px 72px;align-items:center;gap:8px;min-height:30px;border-bottom:1px solid color-mix(in srgb,var(--border) 68%,transparent)}
.watch-order-ledger>div:last-child{border-bottom:0}
.watch-order-ledger>div:first-child{min-height:29px;color:var(--muted);font-size:8px;font-weight:800;letter-spacing:.04em}
.watch-order-ledger>div>:nth-child(2),.watch-order-ledger>div>:nth-child(3){text-align:right}
.watch-order-ledger strong{overflow:hidden;color:var(--text);font-size:11px;text-overflow:ellipsis;white-space:nowrap}
.watch-order-ledger b{color:var(--text);font:750 10px var(--font-numeric)}
.watch-order-ledger em{color:var(--muted);font-size:9px;font-style:normal;font-weight:750}.watch-order-ledger em.is-positive{color:#30a46c}
.watch-order-total{display:grid;grid-template-columns:1fr 1fr auto;align-items:center;gap:9px;padding:12px 17px;border-bottom:1px solid var(--border)}
.watch-order-total>span{min-width:0;display:grid;gap:3px}.watch-order-total small{color:var(--muted);font-size:8px;font-weight:750}.watch-order-total strong{overflow:hidden;color:var(--text);font:800 13px var(--font-numeric);text-overflow:ellipsis;white-space:nowrap}
.watch-order-total>b.is-quiet{background:rgba(255,214,10,.12);color:#a67600}

.watchlist-grid-empty{grid-column:1/-1;min-width:0;min-height:360px;display:grid;place-content:center;justify-items:center;padding:40px;border:1px dashed var(--border);border-radius:22px;background:var(--surface);text-align:center}
.watchlist-grid-empty>img{display:block;width:min(560px,76vw);max-width:100%;max-height:32vh;height:auto;margin-bottom:4px;object-fit:contain}
.watchlist-grid-empty>span{width:54px;height:54px;display:grid;place-items:center;border-radius:17px;background:var(--accent-soft);color:var(--accent);font-size:26px}
.watchlist-grid-empty strong{margin-top:14px;font-size:17px}.watchlist-grid-empty p{max-width:390px;margin:7px 0 14px;color:var(--muted);font-size:12px;line-height:1.5}
.watchlist-grid-empty button{height:40px;padding:0 14px;border:1px solid color-mix(in srgb,var(--accent) 32%,var(--border));border-radius:11px;background:var(--accent-soft);color:var(--accent);font:800 11px inherit;cursor:pointer}
html[data-theme=dark] .watchlist-order-grid .watch-order-card{background:linear-gradient(155deg,color-mix(in srgb,var(--board-color) 9%,#202328),#1d1f23 44%)}
html[data-theme=dark] .watchlist-order-grid .watch-order-card.is-risk{background:linear-gradient(155deg,color-mix(in srgb,#ff453a 12%,#252023),#1d1f23 55%)}
html[data-theme=dark] .watchlist-order-grid .watch-order-card.has-custom-color.is-risk{background:linear-gradient(155deg,color-mix(in srgb,var(--board-color) 11%,#202328),#1d1f23 52%)}

@media(max-width:1240px){
  .watchlist-order-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
  .watchlist-order-grid>.watch-order-card{grid-column:span 2}
  .watch-quick-add-slot.is-desktop-placement{display:none}
  .watch-quick-add-slot.is-tablet-placement{display:grid}
}
@media(max-width:760px){
  .watchlist-order-grid{grid-template-columns:1fr}.watchlist-order-grid.has-cards{padding-bottom:0}
  .watchlist-grid-empty>img{width:min(360px,94vw);max-height:25vh}
  .watchlist-order-grid>.watch-order-card{grid-column:1/-1}
  .watch-quick-add-slot.is-tablet-placement{display:none}
  .watch-quick-add-slot.is-mobile-placement{display:grid;top:auto;right:auto;bottom:-58px;left:50%;transform:translate(-50%,50%)}
  .watch-quick-add-slot.is-mobile-placement:hover,.watch-quick-add-slot.is-mobile-placement:focus-visible{transform:translate(-50%,50%) scale(1.07)}
  .watchlist-order-grid .watch-order-card:hover:not(:has(.watch-quick-add-slot:hover)) .watch-quick-add-slot.is-mobile-placement{transform:translate(-50%,calc(50% + 3px))}
  .watch-quick-add-lane{min-height:78px;padding:12px 16px 30px}
  .watch-order-flow-step{width:42px}.watch-order-flow-step>small{width:48px;font-size:7.5px}
  .watch-order-card-head{padding-inline:14px}.watch-order-customer,.watch-order-flow-rail,.watch-order-total{padding-inline:14px}.watch-order-ledger{margin-inline:14px}
}
@media(prefers-reduced-motion:reduce){.watchlist-order-grid.is-layout-entering .watch-order-card,.watchlist-order-grid.is-layout-entering .watch-order-card.is-transfer-focus,.watch-quick-add-popover{animation:none}.watch-quick-add-slot{transition:none}}

/* İzleme kartı · kumaş dağılımı ve İstanbul → Bursa kontrol merkezi */
.watchlist-order-grid .watch-order-card.is-reminder-focus{border-color:#ff9f0a;box-shadow:0 0 0 4px rgba(255,159,10,.16),0 20px 42px rgba(0,0,0,.15)}

.watch-quality-card.is-received>header>em{background:rgba(48,209,88,.12);color:#238a4b}

html[data-theme=dark] .watch-fabric-summary{background:rgba(255,255,255,.018)}

@media(max-width:760px){
  .watch-fabric-summary{margin-inline:14px}

}

/* Kontroller · dört sabit adım ve tamamlanınca sevk aksiyonu */

.watch-control-tile.is-violet{--control-color:#8b5cf6}
.watch-control-tile.is-amber{--control-color:#e58b00}
.watch-control-tile.is-mint{--control-color:#20a56d}
.watch-control-tile.is-dispatch{
  --control-color:#20a56d;
  grid-column:1/-1;
  min-height:70px;
  grid-template-columns:42px minmax(0,1fr) auto 18px;
  grid-template-rows:1fr;
  align-items:center;
  justify-items:stretch;
  gap:9px;
  padding:9px 12px;
  border-color:rgba(255,255,255,.46);
  border-radius:16px;
  background:linear-gradient(120deg,#137c55 0%,#20a56d 55%,#34c985 100%);
  color:#fff;
  text-align:left;
  box-shadow:0 11px 25px rgba(25,142,93,.22),inset 0 1px 0 rgba(255,255,255,.28);
  isolation:isolate;
  animation:watchDispatchReadyPulse 2.8s ease-in-out infinite;
}
.watch-control-tile.is-dispatch::before{
  content:"";
  position:absolute;
  z-index:-1;
  inset:-35% auto -35% -40%;
  width:34%;
  transform:skewX(-18deg);
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.24),transparent);
  animation:watchDispatchReadySheen 3.4s ease-in-out infinite;
}
.watch-control-tile.is-dispatch::after{
  content:"";
  position:absolute;
  z-index:-1;
  top:15px;
  right:28px;
  width:3px;
  height:3px;
  border-radius:50%;
  background:rgba(255,255,255,.82);
  opacity:.55;
  box-shadow:-16px 8px 0 rgba(255,255,255,.42),11px 17px 0 rgba(255,255,255,.35),-3px 31px 0 rgba(255,255,255,.25);
}
.watch-control-tile.is-dispatch:hover{
  border-color:rgba(255,255,255,.78);
  background:linear-gradient(120deg,#11784f 0%,#1fa66c 52%,#39cf8b 100%);
  box-shadow:0 15px 31px rgba(25,142,93,.3),inset 0 1px 0 rgba(255,255,255,.34);
  transform:translateY(-2px);
}
.watch-control-tile.is-dispatch:active{transform:translateY(0) scale(.992)}
.watch-control-tile.is-dispatch:disabled{cursor:wait}
.watch-control-tile.is-dispatch.is-launching{pointer-events:none;animation:watchDispatchLaunch .32s ease both}
.watch-control-tile.is-dispatch>.watch-dispatch-ready-icon{
  width:42px;
  height:42px;
  border:1px solid rgba(255,255,255,.24);
  border-radius:13px;
  background:rgba(255,255,255,.17);
  color:#fff;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.18);
  animation:watchDispatchTruckReady 2.1s ease-in-out infinite;
}
.watch-control-tile.is-dispatch>.watch-dispatch-ready-icon svg{width:23px;height:23px;stroke-width:1.9}
.watch-control-tile.is-dispatch>.watch-dispatch-ready-copy{
  width:auto;
  height:auto;
  min-width:0;
  display:grid;
  place-items:initial;
  gap:1px;
  border-radius:0;
  background:none;
}

.watch-control-tile.is-dispatch>.watch-dispatch-ready-arrow{width:18px;height:18px;border-radius:50%;background:none;color:#fff;font-size:15px;font-weight:500;animation:watchDispatchArrowReady 1.5s ease-in-out infinite}
@keyframes watchDispatchReadyPulse{0%,100%{box-shadow:0 11px 25px rgba(25,142,93,.2),inset 0 1px 0 rgba(255,255,255,.28)}50%{box-shadow:0 14px 29px rgba(25,142,93,.31),0 0 0 3px rgba(48,209,88,.08),inset 0 1px 0 rgba(255,255,255,.32)}}
@keyframes watchDispatchReadySheen{0%,55%{left:-40%;opacity:0}68%{opacity:1}88%,100%{left:125%;opacity:0}}
@keyframes watchDispatchTruckReady{0%,72%,100%{transform:translateX(0)}82%{transform:translateX(2px)}90%{transform:translateX(-1px)}}
@keyframes watchDispatchArrowReady{0%,55%,100%{transform:translateX(0);opacity:.75}72%{transform:translateX(3px);opacity:1}}
@keyframes watchDispatchLaunch{0%{transform:scale(1)}55%{transform:scale(.985)}100%{transform:scale(1.018);filter:brightness(1.08);box-shadow:0 18px 38px rgba(25,142,93,.38),0 0 0 5px rgba(48,209,88,.12)}}

.watch-control-tile.active{border-color:var(--control-color);background:linear-gradient(145deg,color-mix(in srgb,var(--control-color) 16%,var(--surface-solid,#fff)),color-mix(in srgb,var(--control-color) 7%,var(--surface-solid,#fff)));box-shadow:0 14px 30px color-mix(in srgb,var(--control-color) 18%,transparent),0 0 0 3px color-mix(in srgb,var(--control-color) 8%,transparent)}

.watch-control-tile.active .watch-control-tile-chevron{transform:rotate(180deg)}

.watch-control-panel.is-color{--control-color:#8b5cf6}.watch-control-panel.is-dye{--control-color:#e58b00}.watch-control-panel.is-quality{--control-color:#20a56d}

.watch-control-list.is-scrollable{max-height:492px;overflow-y:auto;overscroll-behavior:contain;scrollbar-color:color-mix(in srgb,var(--control-color) 32%,transparent) transparent;scrollbar-width:thin}

.watch-control-states button.active{border-color:var(--control-color);background:color-mix(in srgb,var(--control-color) 11%,transparent);color:var(--control-color)}

.watch-knitting-binary button.is-not-connected.active{border-color:#ff6b64;background:rgba(255,69,58,.1);color:#d73c35}
.watch-knitting-binary button.is-connected.active{border-color:#30a46c;background:rgba(48,209,88,.1);color:#238a4b}

.watch-knitting-readonly .is-connected{color:#238a4b}.watch-knitting-readonly .is-not-connected{color:#d73c35}.watch-knitting-readonly .is-unknown{color:var(--muted)}

.watch-knitting-bursa>button.is-ticket-open{border:1px solid color-mix(in srgb,var(--control-color) 35%,var(--border));background:color-mix(in srgb,var(--control-color) 11%,var(--surface-solid,#fff));color:var(--control-color)}

.watch-color-request-actions.has-undo{grid-template-columns:minmax(0,1fr) 92px}
.watch-color-request-skip {min-height:44px;display:flex;align-items:center;justify-content:center;gap:8px;padding:7px 12px;border:0;border-radius:11px;font-family:inherit;font-size:var(--watch-control-text-sm);font-weight:800;cursor:pointer}

.watch-color-request-main.is-ticket-open{border:1px solid color-mix(in srgb,var(--control-color) 38%,var(--border));background:color-mix(in srgb,var(--control-color) 11%,var(--surface-solid,#fff));color:var(--control-color)}

.watch-color-request-skip{border:1px solid color-mix(in srgb,var(--control-color) 28%,var(--border));background:color-mix(in srgb,var(--control-color) 5%,transparent);color:var(--control-color)}
.watch-color-request-skip:hover{border-color:var(--control-color);background:color-mix(in srgb,var(--control-color) 12%,transparent)}
.watch-color-request-skip.is-undo{border-color:color-mix(in srgb,#ff9f0a 38%,var(--border));background:color-mix(in srgb,#ff9f0a 8%,transparent);color:#bd7100;white-space:nowrap}
.watch-color-request-skip.is-undo:hover{border-color:#ff9f0a;background:color-mix(in srgb,#ff9f0a 14%,transparent)}

.watch-color-skip-confirm.is-open{opacity:1;transform:none}.watch-color-skip-confirm .cancel{border:1px solid var(--border);background:transparent;color:var(--muted)}.watch-color-skip-confirm .confirm{border:0;background:#8b5cf6;color:#fff}
/* Takipten çık onayı (2026-10-17 yeniden): kartın ayar düğmesine bağlı küçük
   pencere. Başlık 14/650, künye (firma · sipariş no) 12px, açıklama 12.5px,
   iki düğme 32px: Vazgeç sessiz, asıl eylem tehlike dolgusu. */
.watchlist-remove-confirm{position:fixed;z-index:1500;width:min(304px,calc(100vw - 20px));display:grid;gap:0;padding:16px;border:1px solid var(--border);border-radius:14px;background:var(--surface-solid,#fff);box-shadow:0 18px 44px rgba(0,0,0,.28);color:var(--text);font-family:var(--font);opacity:0;transform:translateY(-4px) scale(.98);transition:opacity .14s ease,transform .14s ease}
.watchlist-remove-confirm.is-open{opacity:1;transform:none}
.watchlist-remove-confirm>strong{color:var(--text);font-size:14px;font-weight:650;line-height:1.3}
.watchlist-remove-confirm>span{margin-top:4px;overflow:hidden;color:var(--muted);font-size:12px;font-weight:500;text-overflow:ellipsis;white-space:nowrap}
.watchlist-remove-confirm>em{margin-top:10px;color:var(--muted);font-size:12.5px;font-style:normal;font-weight:400;line-height:1.45}
.watchlist-remove-confirm>em b{color:var(--text);font-weight:600}
.watchlist-remove-confirm button{font-family:var(--font);cursor:pointer}
.watchlist-remove-confirm>.watchlist-remove-footer{display:flex;justify-content:flex-end;gap:8px;margin-top:14px}
.watchlist-remove-footer>button{min-height:32px;padding:0 14px;border-radius:9px;font-size:13px;font-weight:600}
.watchlist-remove-footer .cancel{border:1px solid var(--border);background:transparent;color:var(--text)}
.watchlist-remove-footer .cancel:hover{background:color-mix(in srgb,var(--text) 6%,transparent)}
.watchlist-remove-footer .confirm{border:0;background:var(--danger);color:#fff}
.watchlist-remove-footer .confirm:hover{filter:brightness(.94)}
.watchlist-remove-footer>button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.watchlist-remove-confirm.is-choice{width:min(360px,calc(100vw - 20px))}
.watchlist-remove-confirm>.watchlist-remove-options{display:grid;gap:8px;margin-top:12px}
.watchlist-remove-options>button{width:100%;display:grid;gap:3px;padding:10px 12px;border:1px solid var(--border);border-radius:10px;background:transparent;color:var(--text);text-align:left}
.watchlist-remove-options>button b{font-size:13px;font-weight:600}
.watchlist-remove-options>button small{color:var(--muted);font-size:11.5px;font-weight:400;line-height:1.4}
.watchlist-remove-options>button:hover,.watchlist-remove-options>button:focus-visible{outline:0;border-color:color-mix(in srgb,var(--accent) 45%,var(--border));background:color-mix(in srgb,var(--accent) 6%,transparent)}
.watchlist-remove-options .remove-all b{color:var(--danger)}
.watchlist-remove-options .remove-all:hover,.watchlist-remove-options .remove-all:focus-visible{border-color:color-mix(in srgb,var(--danger) 45%,var(--border));background:color-mix(in srgb,var(--danger) 6%,transparent)}

.watch-control-panel.is-quality .watch-quality-card>header{display:none}
.watch-control-panel.is-quality .watch-quality-card{padding:14px}

.watch-quality-fabric-context>b.is-complete{border-color:rgba(48,209,88,.28);background:rgba(48,209,88,.09);color:#238a4b}

.watch-quality-card.is-rpt .watch-quality-score{border-color:rgba(48,209,88,.3);background:rgba(48,209,88,.09);color:#238a4b}
.watch-quality-card.is-inferred .watch-quality-score{border-color:rgba(48,209,88,.3);background:rgba(48,209,88,.09);color:#238a4b}

.watch-quality-request>button.is-ticket-open{background:color-mix(in srgb,var(--control-color) 15%,var(--surface-solid,#fff));color:var(--control-color);box-shadow:none}

.watch-control-panel.is-quality .watch-quality-card>footer{padding:8px 0 0;font-size:var(--watch-control-text-sm)}

/* 4/4 sonrası sevkiyat çalışma alanı */
.watch-workflow-hub.is-dispatch-mode{padding-bottom:12px;background:linear-gradient(180deg,color-mix(in srgb,#20a56d 5%,var(--surface-solid,#fff)),color-mix(in srgb,var(--surface-solid,#fff) 96%,var(--board-color) 1%))}
.watch-workflow-hub.is-dispatch-mode.is-complete{background:linear-gradient(180deg,color-mix(in srgb,#20a56d 10%,var(--surface-solid,#fff)),color-mix(in srgb,#20a56d 3%,var(--surface-solid,#fff)))}

.watch-dispatch-panel.is-complete{border-color:color-mix(in srgb,#20a56d 58%,var(--border));background:linear-gradient(135deg,color-mix(in srgb,#20a56d 8%,var(--surface-solid,#fff)),var(--surface-solid,#fff) 68%);box-shadow:0 14px 32px color-mix(in srgb,#20a56d 16%,transparent)}
.watch-dispatch-panel.is-complete>header{background:linear-gradient(90deg,color-mix(in srgb,#20a56d 20%,transparent),color-mix(in srgb,#20a56d 4%,transparent))}
.watch-dispatch-panel.is-complete>header>span{background:#20a56d;color:#fff;box-shadow:0 7px 16px color-mix(in srgb,#20a56d 25%,transparent)}
.watch-dispatch-panel.is-complete>header>b{background:#20a56d;color:#fff}

.watch-dispatch-line.is-complete{background:color-mix(in srgb,#20a56d 4%,transparent)}

.watch-dispatch-ticket-action.is-ticket-open{border:1px solid color-mix(in srgb,#20a56d 38%,var(--border));background:color-mix(in srgb,#20a56d 10%,var(--surface-solid,#fff));color:#18784f}

.watch-dispatch-actions>button.is-arrived{background:color-mix(in srgb,#20a56d 8%,var(--surface-solid,#fff))}
.watch-dispatch-actions>button.is-shipped{border-color:#20a56d;background:#20a56d;color:#fff;box-shadow:0 7px 15px color-mix(in srgb,#20a56d 18%,transparent)}

.watch-order-card.is-workflow-complete{opacity:1;border-color:color-mix(in srgb,#20a56d 52%,var(--border));background:linear-gradient(150deg,color-mix(in srgb,#20a56d 11%,var(--surface-solid,#fff)),var(--surface-solid,#fff) 48%);box-shadow:0 13px 30px color-mix(in srgb,#20a56d 13%,transparent)}
.watch-order-card.is-workflow-complete:hover{border-color:#20a56d;box-shadow:0 17px 36px color-mix(in srgb,#20a56d 18%,transparent)}
.watch-order-card.is-workflow-complete .watch-order-board-tag{border-color:color-mix(in srgb,#20a56d 35%,var(--border));background:color-mix(in srgb,#20a56d 10%,var(--surface-solid,#fff));color:#18784f}

html[data-theme=dark] .watch-control-tile.active{background:color-mix(in srgb,var(--control-color) 15%,#202227)}
html[data-theme=dark] .watch-control-tile.is-dispatch{border-color:rgba(104,230,166,.35);background:linear-gradient(120deg,#0d6544,#17885a 55%,#1fa96e);box-shadow:0 13px 28px rgba(0,0,0,.3),0 0 0 1px rgba(48,209,88,.08),inset 0 1px 0 rgba(255,255,255,.14)}

html[data-theme=dark] .watch-quality-request>button.is-ticket-open{background:color-mix(in srgb,var(--control-color) 13%,#202227)}
html[data-theme=dark] .watch-knitting-bursa>button.is-ticket-open{background:color-mix(in srgb,var(--control-color) 13%,#202227)}
html[data-theme=dark] .watch-color-request-side>button.is-ticket-open{background:color-mix(in srgb,var(--control-color) 13%,#202227)}

html[data-theme=dark] .watch-dispatch-panel.is-complete,html[data-theme=dark] .watch-order-card.is-workflow-complete{background:linear-gradient(145deg,color-mix(in srgb,#20a56d 13%,#202227),#202227 62%)}
html[data-theme=dark] .watch-dispatch-ticket-action.is-ticket-open,
html[data-theme=dark] .watch-dispatch-actions>button.is-arrived {background:color-mix(in srgb,#20a56d 13%,#202227)}

@media(max-width:600px){

  .watch-control-tile.is-dispatch{grid-template-columns:42px minmax(0,1fr) 18px}

}

html:not([data-theme="dark"]) .watch-order-card.has-custom-color .watch-control-tile.is-dispatch{
  border-color:rgba(255,255,255,.46);
  background:linear-gradient(120deg,#137c55 0%,#20a56d 55%,#34c985 100%);
  box-shadow:0 11px 25px rgba(25,142,93,.22),inset 0 1px 0 rgba(255,255,255,.28);
}

@media(prefers-reduced-motion:reduce){
  .watch-control-tile.is-dispatch,
  .watch-control-tile.is-dispatch::before,
  .watch-control-tile.is-dispatch>.watch-dispatch-ready-icon,
  .watch-control-tile.is-dispatch>.watch-dispatch-ready-arrow{animation:none}
  .watch-control-tile.is-dispatch{transition:none}
}

/* İzleme kartı · kompakt başlık, süreç sohbeti ve üst işlem menüsü */
.watch-order-card-head{position:relative;min-height:40px;padding:9px 17px 3px 22px}
.watch-order-card-head-start{min-width:0;display:flex;align-items:center;gap:8px;flex:1}
.watch-order-card-head-end{min-width:0;display:flex;align-items:center;justify-content:flex-end;gap:7px;flex:0 1 auto}
.watch-order-board-tag{gap:0;font-size:11px;letter-spacing:-.01em}

.watch-order-card-head-actions{display:flex;align-items:center;gap:3px;flex:0 0 auto}
.watch-order-select,.watch-order-drag-handle{width:30px;height:30px;display:grid;place-items:center;padding:0;border:1px solid transparent;border-radius:9px;background:transparent;color:var(--muted);cursor:pointer}
.watch-order-select:hover,.watch-order-drag-handle:hover{border-color:color-mix(in srgb,var(--board-color) 30%,var(--border));background:color-mix(in srgb,var(--board-color) 7%,transparent);color:var(--text)}
.watch-order-select svg,.watch-order-drag-handle svg{width:17px;height:17px;stroke-width:1.8}.watch-order-select.active{border-color:var(--board-color);background:var(--board-color);color:#fff}.watch-order-drag-handle{cursor:grab}.watch-order-drag-handle:active{cursor:grabbing}
.watch-order-card-menu{position:relative;z-index:18;flex:0 0 auto}
.watch-order-card-more{
  width:30px;
  height:30px;
  display:grid;
  place-items:center;
  padding:0;
  border:1px solid color-mix(in srgb,var(--board-color) 30%,var(--border));
  border-radius:9px;
  background:color-mix(in srgb,var(--board-color) 8%,var(--surface-solid,#fff));
  color:color-mix(in srgb,var(--board-color) 72%,var(--text));
  cursor:pointer;
}
.watch-order-card-more svg{width:16px;height:16px;stroke-width:1.7}
.watch-order-card-more:hover,.watch-order-card-menu.is-open .watch-order-card-more{border-color:color-mix(in srgb,var(--board-color) 28%,var(--border));background:color-mix(in srgb,var(--board-color) 7%,transparent);color:var(--text)}
.watch-order-card-menu-pop{
  position:absolute;
  z-index:40;
  top:calc(100% + 5px);
  right:0;
  width:260px;
  max-height:min(480px,calc(100vh - 24px));
  display:grid;
  gap:7px;
  padding:8px;
  overflow-y:auto;
  overscroll-behavior:contain;
  border:1px solid var(--border);
  border-radius:13px;
  background:var(--surface-solid,#fff);
  box-shadow:0 18px 42px rgba(0,0,0,.18);
  opacity:0;
  visibility:hidden;
  transform:translateY(-5px) scale(.98);
  transform-origin:top right;
  pointer-events:none;
  transition:opacity .14s ease,transform .14s ease,visibility .14s;
}
.watch-order-card-menu.is-left .watch-order-card-menu-pop{right:auto;left:0;transform-origin:top left}
.watch-order-card-menu.is-up .watch-order-card-menu-pop{top:auto;bottom:calc(100% + 5px);transform-origin:bottom right}
.watch-order-card-menu.is-up.is-left .watch-order-card-menu-pop{transform-origin:bottom left}
.watch-order-card-menu.is-open .watch-order-card-menu-pop{opacity:1;visibility:visible;transform:none;pointer-events:auto}
.watch-order-card-menu-pop label{display:grid;gap:5px;padding:5px 6px 7px;border-bottom:1px solid color-mix(in srgb,var(--border) 68%,transparent)}
.watch-order-card-menu-pop label>span{color:var(--muted);font-size:8px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}
.watch-order-card-menu-pop select{width:100%;height:34px;padding:0 9px;border:1px solid var(--border);border-radius:9px;outline:0;background:var(--surface-solid,#fff);color:var(--text);font:750 10px inherit}
.watch-order-card-menu-pop select:focus{border-color:color-mix(in srgb,var(--board-color) 52%,var(--border));box-shadow:0 0 0 3px color-mix(in srgb,var(--board-color) 9%,transparent)}
.watch-order-color-picker{display:grid;gap:7px;padding:5px 6px 8px;border-bottom:1px solid color-mix(in srgb,var(--border) 68%,transparent)}
.watch-order-color-picker>span{color:var(--muted);font-size:8px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}
.watch-order-color-picker>div{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}
.watch-order-color-picker button{position:relative;width:100%;max-width:24px;aspect-ratio:1;padding:0;border:2px solid transparent;border-radius:8px;outline:0;background:var(--swatch);cursor:pointer;box-shadow:inset 0 0 0 1px rgba(255,255,255,.24),0 2px 6px rgba(0,0,0,.1);transition:transform .14s ease,border-color .14s ease,box-shadow .14s ease}
.watch-order-color-picker button:hover{transform:translateY(-1px)}
.watch-order-color-picker button.active{border-color:var(--text);box-shadow:inset 0 0 0 2px var(--surface-solid,#fff),0 2px 8px rgba(0,0,0,.16)}
.watch-order-color-picker button.active::after{position:absolute;inset:0;display:grid;place-items:center;color:#fff;font-size:12px;font-weight:900;text-shadow:0 1px 3px rgba(0,0,0,.35);content:"✓"}
.watch-order-color-picker button.is-auto{background:conic-gradient(from 45deg,#0a84ff,#64d2ff,#30a46c,#ff9f0a,#ff6b64,#8b5cf6,#0a84ff)}
.watch-order-color-picker button.is-auto::before{position:absolute;inset:4px;border-radius:4px;background:var(--surface-solid,#fff);content:""}

/* İzleme başlığı · sade, tek bakışta durum */

.watch-order-color-picker button.is-auto.active::after{color:var(--text);text-shadow:none}
/* Kart görünümü seçici (2026-09-25): renk seçicinin bölüm dili; her seçenekte
   küçük bir kart çizimi + ad. */
.watch-order-style-picker{display:grid;gap:7px;padding:5px 6px 8px;border-bottom:1px solid color-mix(in srgb,var(--border) 68%,transparent)}
.watch-order-style-picker>span{color:var(--muted);font-size:8px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}
.watch-order-style-picker>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}
.watch-order-style-picker button{display:grid;justify-items:center;gap:5px;padding:7px 4px 6px;border:1px solid var(--border);border-radius:8px;outline:0;background:transparent;color:var(--muted);font:600 11px var(--font);cursor:pointer;transition:border-color .14s ease,background .14s ease,color .14s ease}
.watch-order-style-picker button:hover{color:var(--text);background:color-mix(in srgb,var(--muted) 6%,transparent)}
.watch-order-style-picker button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.watch-order-style-picker button.active{border-color:color-mix(in srgb,var(--accent) 55%,var(--border));background:color-mix(in srgb,var(--accent) 8%,transparent);color:var(--text)}
.watch-order-style-picker i{position:relative;width:30px;height:20px;overflow:hidden;border:1px solid color-mix(in srgb,var(--muted) 45%,transparent);border-radius:5px;background:var(--surface-solid,#fff)}
.watch-order-style-picker i::before{content:"";position:absolute;top:4px;left:4px;width:5px;height:5px;border-radius:50%;background:var(--board-color)}
.watch-order-badge-picker{display:grid;gap:7px;padding:5px 6px 8px;border-bottom:1px solid color-mix(in srgb,var(--border) 68%,transparent)}
.watch-order-badge-picker>header,.watch-order-badge-picker>footer{display:flex;align-items:center;justify-content:space-between;gap:8px}
.watch-order-badge-picker>header>span{color:var(--muted);font-size:8px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}
.watch-order-badge-picker>header>small{color:var(--muted);font:750 7.5px var(--font-numeric)}.watch-order-badge-picker>header>small b{color:var(--text)}
.watch-order-badge-picker>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}
.watch-order-badge-picker>div>button{min-width:0;height:31px;display:grid;grid-template-columns:22px minmax(0,1fr);align-items:center;gap:5px;padding:3px 6px;border:1px solid var(--border);border-radius:9px;background:color-mix(in srgb,var(--sticker-color) 3%,var(--surface-solid,#fff));color:var(--muted);font:780 8px inherit;text-align:left;cursor:pointer;transition:.14s ease}
.watch-order-badge-picker>div>button:hover{border-color:color-mix(in srgb,var(--sticker-color) 45%,var(--border));color:var(--text);transform:translateY(-1px)}
.watch-order-badge-picker>div>button.active{border-color:color-mix(in srgb,var(--sticker-color) 62%,var(--border));background:color-mix(in srgb,var(--sticker-color) 11%,var(--surface-solid,#fff));color:color-mix(in srgb,var(--sticker-color) 78%,var(--text));box-shadow:0 3px 9px color-mix(in srgb,var(--sticker-color) 10%,transparent)}
.watch-order-badge-picker>div>button>i{width:21px;height:21px;display:grid;place-items:center;border-radius:6px;background:color-mix(in srgb,var(--sticker-color) 15%,transparent);color:var(--sticker-color);font:900 11px/1 inherit;font-style:normal}
.watch-order-badge-picker>div>button>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.watch-order-badge-picker>footer>span{color:var(--muted);font-size:7px}.watch-order-badge-picker>footer>button{padding:2px 0;border:0;background:transparent;color:var(--accent);font:800 7px inherit;cursor:pointer}.watch-order-badge-picker>footer>button:disabled{opacity:.4;cursor:default}
.watch-card-stickers-host{min-width:0;display:flex;align-items:center;justify-content:flex-end;gap:5px}
.watch-card-sticker{--sticker-color:#8b5cf6;min-width:0;height:26px;display:inline-flex;align-items:center;gap:5px;padding:0 8px 0 4px;border:1px solid color-mix(in srgb,var(--sticker-color) 38%,var(--border));border-radius:9px;background:linear-gradient(135deg,color-mix(in srgb,var(--sticker-color) 11%,var(--surface-solid,#fff)),color-mix(in srgb,var(--sticker-color) 4%,var(--surface-solid,#fff)));color:color-mix(in srgb,var(--sticker-color) 76%,var(--text));box-shadow:0 3px 9px color-mix(in srgb,var(--sticker-color) 8%,transparent)}
.watch-card-sticker>i{width:18px;height:18px;display:grid;place-items:center;border-radius:6px;background:color-mix(in srgb,var(--sticker-color) 13%,transparent);color:var(--sticker-color);font:900 10px/1 inherit;font-style:normal}.watch-card-sticker>b{overflow:hidden;max-width:62px;font-size:8.5px;font-weight:850;letter-spacing:-.01em;text-overflow:ellipsis;white-space:nowrap}
.watch-order-card-menu-pop>button{min-height:37px;display:grid;grid-template-columns:24px minmax(0,1fr);align-items:center;gap:6px;padding:6px 8px;border:0;border-radius:9px;background:transparent;color:var(--text);font:inherit;text-align:left;cursor:pointer}
.watch-order-card-menu-pop>button:hover{background:rgba(255,69,58,.08)}
.watch-order-card-menu-pop>button>span{width:22px;height:22px;display:grid;place-items:center;border-radius:7px;background:rgba(255,69,58,.1);color:#d9352d;font-size:17px}
.watch-order-card-menu-pop>button>b{color:#d9352d;font-size:10px}
.watch-order-card-menu-pop>button.is-board-only:hover{background:color-mix(in srgb,var(--board-color) 8%,transparent)}
.watch-order-card-menu-pop>button.is-board-only>span{background:color-mix(in srgb,var(--board-color) 12%,transparent);color:color-mix(in srgb,var(--board-color) 78%,var(--text))}
.watch-order-card-menu-pop>button.is-board-only>b{color:var(--text)}
.watchlist-empty-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:8px}.watchlist-grid-empty .watchlist-empty-actions .is-tracking{border-color:color-mix(in srgb,var(--board-color) 48%,var(--border));background:color-mix(in srgb,var(--board-color) 8%,var(--surface-solid,#fff));color:color-mix(in srgb,var(--board-color) 80%,var(--text))}
.watchlist-tracking-picker{display:grid;gap:12px}.watchlist-tracking-picker>header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.watchlist-tracking-picker>header>span{min-width:0;display:grid;gap:4px}.watchlist-tracking-picker>header strong{font-size:13px}.watchlist-tracking-picker>header small{color:var(--muted);font-size:10px;line-height:1.4}.watchlist-tracking-picker>header>button{height:34px;flex:0 0 auto;padding:0 10px;border:1px solid color-mix(in srgb,var(--board-color) 36%,var(--border));border-radius:10px;background:color-mix(in srgb,var(--board-color) 7%,var(--surface-solid,#fff));color:color-mix(in srgb,var(--board-color) 82%,var(--text));font:800 9px inherit;cursor:pointer}.watchlist-tracking-picker>header>button:disabled,.watchlist-tracking-picker footer button:disabled{opacity:.45;cursor:not-allowed}.watchlist-tracking-picker-search{height:42px;display:flex;align-items:center;gap:8px;padding:0 11px;border:1px solid var(--border);border-radius:12px;background:var(--surface-solid,#fff)}.watchlist-tracking-picker-search:focus-within{border-color:var(--board-color);box-shadow:0 0 0 3px color-mix(in srgb,var(--board-color) 10%,transparent)}.watchlist-tracking-picker-search svg{width:16px;height:16px;flex:0 0 auto;color:var(--muted);stroke-width:1.8}.watchlist-tracking-picker-search input{min-width:0;width:100%;border:0;outline:0;background:transparent;color:var(--text);font:700 11px inherit}.watchlist-tracking-picker-list{max-height:min(390px,calc(100vh - 360px));display:grid;gap:7px;overflow:auto;padding:2px}.watchlist-tracking-picker-list>p{margin:0;padding:26px 12px;color:var(--muted);font-size:11px;text-align:center}.watchlist-tracking-picker-row{min-width:0;display:grid;grid-template-columns:28px minmax(0,1fr);align-items:center;gap:10px;padding:10px;border:1px solid var(--border);border-radius:13px;background:var(--surface-solid,#fff);color:var(--text);text-align:left;cursor:pointer;transition:.14s ease}.watchlist-tracking-picker-row:hover,.watchlist-tracking-picker-row.active{border-color:color-mix(in srgb,var(--board-color) 58%,var(--border));background:color-mix(in srgb,var(--board-color) 8%,var(--surface-solid,#fff))}.watchlist-tracking-picker-check{width:25px;height:25px;display:grid;place-items:center;border:1.5px solid color-mix(in srgb,var(--board-color) 42%,var(--border));border-radius:8px;color:transparent;font-size:15px;font-weight:900}.watchlist-tracking-picker-row.active .watchlist-tracking-picker-check{border-color:var(--board-color);background:var(--board-color);color:#fff}.watchlist-tracking-picker-row>span:last-child{min-width:0;display:grid;gap:3px}.watchlist-tracking-picker-row strong,.watchlist-tracking-picker-row small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.watchlist-tracking-picker-row strong{font-size:11px}.watchlist-tracking-picker-row small{color:var(--muted);font:750 9px var(--font-numeric)}.watchlist-tracking-picker footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:11px;border-top:1px solid var(--border)}.watchlist-tracking-picker footer>span{color:var(--muted);font-size:10px}.watchlist-tracking-picker footer>span b{color:var(--text);font-size:13px}.watchlist-tracking-picker footer>button{height:39px;padding:0 13px;border:0;border-radius:11px;background:var(--board-color);color:#fff;font:850 10px inherit;cursor:pointer;box-shadow:0 7px 18px color-mix(in srgb,var(--board-color) 25%,transparent)}
.watch-order-customer{
  width:100%;
  min-height:70px;
  display:grid;
  grid-template-columns:minmax(0,1fr) 19px;
  align-items:center;
  gap:12px;
  padding:7px 18px 14px;
  border:0;
  border-bottom:1px solid color-mix(in srgb,var(--border) 64%,transparent);
  outline:0;
  background:transparent;
  color:inherit;
  font:inherit;
  text-align:left;
  cursor:pointer;
}
.watch-order-customer:hover{background:color-mix(in srgb,var(--board-color) 4%,transparent)}
.watch-order-customer:focus-visible{box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--accent) 48%,transparent)}
.watch-order-customer>div{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"name order";align-items:center;gap:7px 14px}
.watch-order-customer>div.has-reference{grid-template-areas:"name order" "reference order"}
.watch-order-customer strong,.watch-order-customer b,.watch-order-customer span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.watch-order-customer strong{grid-area:name;color:var(--text);font-size:20px;line-height:1.12;letter-spacing:-.03em}
.watch-order-customer b{grid-area:order;align-self:center;color:var(--text);font:850 18px/1.1 var(--font-numeric);letter-spacing:-.025em}
.watch-order-customer span{grid-area:reference;color:var(--muted);font-size:14px}
.watch-order-customer>svg{width:19px;height:19px;flex:0 0 19px;color:var(--muted);stroke-width:1.8}
.watch-fabric-summary-row{height:58px;grid-template-columns:minmax(0,1.15fr) minmax(0,.82fr) auto}
.watch-fabric-summary-row.is-color-unspecified{grid-template-columns:minmax(0,1fr) auto auto}
.watch-fabric-summary-list.is-carousel{height:58px}

.watch-fabric-summary-row>span{font-size:10px}

.watch-fabric-summary-row>b{font-size:13px}
.watch-order-total strong{font-size:15px}

.watch-note-chat{
  --watch-note-text-sm:12px;
  --watch-note-text-md:14px;
  min-width:0;
  display:grid;
  gap:0;
  border-top:1px solid var(--border);
  background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 3.5%,var(--surface-solid,#fff)),var(--surface-solid,#fff));
}
.watch-note-chat-head{
  position:relative;
  min-height:56px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:8px 16px;
  border-bottom:1px solid color-mix(in srgb,var(--border) 68%,transparent);
}
.watch-note-chat-title{min-width:0;flex:1 1 auto;display:block;padding:0;border:0;outline:0;background:transparent;color:inherit;font:inherit;text-align:left}
button.watch-note-chat-title{cursor:pointer}
button.watch-note-chat-title:hover b{color:var(--accent)}
button.watch-note-chat-title:focus-visible{border-radius:7px;box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 42%,transparent)}
.watch-note-chat-title>span{min-width:0;display:grid;grid-template-columns:24px minmax(0,1fr);align-items:center;gap:2px 8px}
.watch-note-chat-title svg{width:20px;height:20px;grid-row:1/3;color:var(--accent);stroke-width:1.9}
.watch-note-chat-head b{overflow:hidden;color:var(--text);font-size:var(--watch-note-text-md);text-overflow:ellipsis;white-space:nowrap}
.watch-note-chat-head small{overflow:hidden;color:var(--muted);font-family:var(--font-numeric);font-size:var(--watch-note-text-sm);font-weight:700;text-overflow:ellipsis;white-space:nowrap}
.watch-note-chat.is-collapsible .watch-note-chat-head{padding-bottom:11px}
.watch-note-chat-chevron{position:absolute;left:50%;bottom:1px;width:28px;height:17px;display:grid;place-items:center;padding:0;border:0;outline:0;border-radius:99px;background:color-mix(in srgb,var(--accent) 8%,transparent);color:var(--accent);cursor:pointer;transform:translateX(-50%)}
.watch-note-chat-chevron:hover{background:color-mix(in srgb,var(--accent) 9%,transparent)}
.watch-note-chat-chevron:focus-visible{box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 42%,transparent)}
.watch-note-chat-chevron svg{width:14px;height:14px;grid-row:auto;stroke-width:2.3;transition:transform .24s ease}
.watch-note-chat.is-expanded .watch-note-chat-chevron svg{transform:rotate(180deg)}
/* Not ekleme modu (2026-09-25): kart yüzeyinde yazma alanı yalnız + ile açılır.
   Düğme başlık satırının sağında, mod anahtarının yanında yuvarlak ve sessizdir. */
.watch-note-add{position:static;flex:0 0 auto;width:28px;height:28px;display:grid;place-items:center;padding:0;border:1px solid var(--border);outline:0;border-radius:999px;background:transparent;color:var(--muted);cursor:pointer;transition:color .15s ease,background .15s ease,border-color .15s ease}
.watch-note-add:hover{border-color:color-mix(in srgb,var(--accent) 40%,var(--border));background:color-mix(in srgb,var(--accent) 8%,transparent);color:var(--accent)}
.watch-note-add:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.watch-note-add svg{width:14px;height:14px;stroke-width:2.3;transition:transform .16s ease}
.watch-note-chat.is-composing .watch-note-add{border-color:color-mix(in srgb,var(--accent) 40%,var(--border));color:var(--accent)}
.watch-note-chat.is-composing .watch-note-add svg{transform:rotate(45deg)}
.watch-note-chat.is-collapsible:not(.is-composing) .watch-note-composer{display:none}
.watch-note-chat.is-collapsible.is-composing .watch-note-composer{animation:watchNoteComposerIn .16s cubic-bezier(.2,.75,.25,1)}
/* Yazma modunda alan metinle büyür; kart da onunla uzar, akış eski boyunda kalır. */
.watch-note-chat.is-collapsible.is-composing .watch-note-chat-body{height:auto}
.watch-note-chat.is-collapsible.is-composing .watch-note-thread{max-height:110px}
.watch-note-chat.is-collapsible.is-composing.is-expanded .watch-note-thread{height:min(340px,calc(100svh - 156px));max-height:none}
.watch-note-chat.is-collapsible.is-composing .watch-note-composer textarea{resize:none;max-height:180px}
@keyframes watchNoteComposerIn{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.watch-note-add svg,.watch-note-chat.is-collapsible.is-composing .watch-note-composer{transition:none;animation:none}}
.watch-note-chat-body{display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows .28s cubic-bezier(.22,.78,.25,1),opacity .2s ease}
.watch-note-chat-body-inner{min-height:0;overflow:hidden}
.watch-note-chat.is-expanded .watch-note-chat-body,.watch-note-chat.is-order-surface .watch-note-chat-body{grid-template-rows:1fr;opacity:1}
.watch-note-chat.is-collapsible{position:relative;z-index:0}
.watch-note-chat.is-collapsible .watch-note-chat-body{
  position:relative;
  height:168px;
  display:grid;
  grid-template-rows:1fr;
  overflow:hidden;
  border:0;
  border-radius:0;
  background:var(--surface-solid,#fff);
  box-shadow:none;
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:none;
  transition:height .28s cubic-bezier(.22,.78,.25,1);
}
.watch-note-chat.is-collapsible.is-expanded .watch-note-chat-body{height:min(340px,calc(100svh - 156px))}
.watch-note-chat.is-collapsible .watch-note-chat-body-inner{height:100%;display:grid;grid-template-rows:minmax(0,1fr) auto;overflow:hidden}
.watch-note-chat.is-collapsible .watch-note-thread{min-height:0;max-height:none}
.watch-note-mode{flex:0 0 auto;display:flex;padding:2px;border:1px solid var(--border);border-radius:11px;background:color-mix(in srgb,var(--muted) 6%,transparent);box-shadow:inset 0 1px 2px rgba(0,0,0,.035)}
.watch-note-mode button{height:32px;padding:0 11px;border:0;border-radius:9px;background:transparent;color:var(--muted);font-family:inherit;font-size:var(--watch-note-text-md);font-weight:750;cursor:pointer}
.watch-note-mode button.active{background:var(--surface-solid,#fff);color:var(--text);box-shadow:0 2px 7px rgba(0,0,0,.09)}
.watch-note-chat.is-online .watch-note-mode button.active{background:#20a56d;color:#fff}
.watch-note-thread{
  min-height:124px;
  max-height:280px;
  display:flex;
  flex-direction:column;
  gap:8px;
  padding:12px 16px;
  overflow-y:auto;
  /* Akış sınırına gelindiğinde tekerlek/trackpad hareketi sayfaya devredilir;
     imleç notların üzerindeyken sayfa kilitlenmesin. */
  overscroll-behavior-y:auto;
  
  background:linear-gradient(180deg,color-mix(in srgb,var(--muted) 2.5%,transparent),transparent 58%);
}
/* İçerik sığıyorsa kutu hiç kaydırılabilir olmasın: tekerlek doğrudan sayfayı
   kaydırsın, boşlukta ölü bölge kalmasın (sınıf JS ölçümüyle eklenir). */
.watch-note-thread.is-not-scrollable{overflow-y:hidden}
/* Not akışında yerel kaydırma çubuğu HİÇ görünmez (2026-09-25). Şeffaf
   boyanan yerel çubuğu Chrome/Safari imleç üstüne gelince kendi açık rengiyle
   çiziyordu (kalın beyaz çubuk). Yerine JS ile çizilen 4px gösterge durur:
   yalnız kaydırırken belirir, imleçle etkileşmez (`.watch-note-scroll-thumb`). */
.watch-note-thread{scrollbar-width:none}
.watch-note-thread::-webkit-scrollbar{display:none}
.watch-note-chat-body-inner{position:relative}
.watch-note-scroll-thumb{position:absolute;right:3px;width:4px;border-radius:999px;background:color-mix(in srgb,var(--muted) 42%,transparent);opacity:0;pointer-events:none;transition:opacity .18s ease}
.watch-note-scroll-thumb.is-on{opacity:1}
@media(prefers-reduced-motion:reduce){.watch-note-scroll-thumb{transition:none}}
.watch-note-empty{min-height:104px;display:grid;place-content:center;justify-items:center;color:var(--muted);text-align:center}
.watch-note-empty span{font-size:var(--watch-note-text-md);font-weight:800}
.watch-note-empty small{margin-top:4px;font-size:var(--watch-note-text-sm)}
/* Notlar tek akışta, etiketli kayıt satırları olarak okunur: sohbet
   baloncuğu değil, kenar çizgisiyle ayrılmış defter kaydı. */
.watch-note-entry{position:relative;width:100%;padding:11px 12px 12px 14px;border-radius:10px;background:transparent;transition:background .2s ease,box-shadow .2s ease}
.watch-note-entry::before{content:"";position:absolute;left:0;top:12px;bottom:12px;width:2px;border-radius:2px;background:color-mix(in srgb,var(--note-tone,var(--muted)) 55%,transparent)}
.watch-note-entry+.watch-note-entry{border-top:1px solid color-mix(in srgb,var(--border) 62%,transparent)}
.watch-note-entry.is-focused{background:color-mix(in srgb,var(--note-tone,var(--accent)) 8%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--note-tone,var(--accent)) 24%,transparent)}
.watch-note-entry-head{display:flex;align-items:center;gap:8px;min-height:18px;margin-bottom:6px}
.watch-note-entry-tag{display:inline-flex;align-items:center;gap:5px;color:color-mix(in srgb,var(--note-tone,var(--muted)) 82%,var(--text));font-size:10px;font-weight:750;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}
.watch-note-entry-tag i{width:5px;height:5px;border-radius:50%;background:var(--note-tone,var(--muted))}
.watch-note-entry-by{overflow:hidden;color:var(--muted);font-size:10px;font-weight:600;letter-spacing:.04em;text-overflow:ellipsis;white-space:nowrap}
.watch-note-entry-by::before{content:"·";margin-right:8px}
.watch-note-entry time{margin-left:auto;color:var(--muted);font-family:var(--font-numeric);font-size:10px;font-weight:600;letter-spacing:.03em;white-space:nowrap}
.watch-note-entry-remove{width:22px;height:22px;display:grid;place-items:center;padding:0;border:0;border-radius:50%;background:transparent;color:var(--muted);font-family:inherit;font-size:14px;line-height:1;opacity:0;cursor:pointer;transition:opacity .16s ease}
.watch-note-entry:hover .watch-note-entry-remove,.watch-note-entry-remove:focus-visible{opacity:1}
.watch-note-entry-remove:hover{background:rgba(255,69,58,.12);color:#ff453a}
/* Not düzenleme (2026-09-25): kalem ikonu × ile aynı sessiz dil, yalnız
   hover'da belirir. Düzenlenen not metin yerine satır içi alan açar. */
.watch-note-entry-edit{width:22px;height:22px;display:grid;place-items:center;padding:0;border:0;border-radius:50%;background:transparent;color:var(--muted);cursor:pointer;opacity:0;transition:opacity .16s ease}
.watch-note-entry-edit svg{width:12px;height:12px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linejoin:round}
.watch-note-entry:hover .watch-note-entry-edit,.watch-note-entry-edit:focus-visible{opacity:1}
.watch-note-entry-edit:hover{background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--text)}
.watch-note-entry-edit:focus-visible,.watch-note-entry-remove:focus-visible{outline:2px solid var(--accent);outline-offset:1px}
.watch-note-entry-edited{color:var(--muted);font-size:10px;font-weight:600;font-style:italic;letter-spacing:.02em;white-space:nowrap}
.watch-note-entry.is-editing{background:color-mix(in srgb,var(--accent) 5%,transparent)}
.watch-note-entry.is-editing .watch-note-entry-edit,.watch-note-entry.is-editing .watch-note-entry-remove{opacity:1}
.watch-note-entry-edit.is-save{color:var(--accent)}
.watch-note-entry-edit.is-save svg{stroke-width:2}
.watch-note-entry-edit.is-save:hover{background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--accent)}
/* Metin olduğu yerde yazılabilir olur: kutu yok, paragrafla aynı punto/satır. */
textarea.watch-note-edit{display:block;width:100%;min-height:0;margin:0;padding:0;border:0;border-radius:0;background:transparent;color:var(--text);font-family:inherit;font-size:var(--watch-note-text-md);font-weight:520;line-height:1.7;letter-spacing:-.006em;resize:none;overflow:hidden;outline:none;caret-color:var(--accent)}
/* Genel textarea/odak kuralları (koyu tema dahil, 0-2-2 özgüllük) kutu çiziyor; burada kutu olmamalı. */
html textarea.watch-note-edit.watch-note-edit,html textarea.watch-note-edit.watch-note-edit:focus{min-height:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;outline:none}
.watch-note-entry p{margin:0;color:var(--text);font-size:var(--watch-note-text-md);font-weight:520;line-height:1.7;letter-spacing:-.006em;overflow-wrap:anywhere}

/* Etiket kutucukları: sayaç taşır, tıklanınca o etiketin notuna sıçrar. */

.watch-note-label{display:inline-flex;align-items:center;gap:7px;padding:7px 11px;border:1px solid var(--border);border-radius:99px;background:transparent;color:var(--text);font-family:inherit;font-size:11px;font-weight:650;letter-spacing:.01em;cursor:pointer;transition:border-color .16s ease,background .16s ease,color .16s ease}
.watch-note-label i{width:6px;height:6px;border-radius:50%;background:var(--note-tone,var(--muted))}
.watch-note-label b{color:var(--muted);font-family:var(--font-numeric);font-size:11px;font-weight:700}
.watch-note-label:hover{border-color:color-mix(in srgb,var(--note-tone,var(--accent)) 45%,var(--border))}
.watch-note-label.is-active{border-color:color-mix(in srgb,var(--note-tone,var(--accent)) 55%,var(--border));background:color-mix(in srgb,var(--note-tone,var(--accent)) 9%,transparent)}
.watch-note-label.is-empty{opacity:.5}
.watch-note-label.is-empty i{background:var(--border)}

/* Yazım alanı etiketi: seçim yalnız yeni notu etiketler, akışı filtrelemez. */

.watch-note-compose-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto 40px;gap:8px}
.watch-note-composer{display:grid;gap:9px;padding:10px 16px 12px;border-top:1px solid color-mix(in srgb,var(--border) 68%,transparent);background:color-mix(in srgb,var(--surface-solid,#fff) 94%,transparent)}
.watch-note-composer textarea{min-width:0;min-height:42px;max-height:120px;resize:vertical;padding:9px 12px;border:1.5px solid var(--border);border-radius:12px;outline:0;background:var(--surface-solid,#fff);color:var(--text);font-family:inherit;font-size:var(--watch-note-text-md);font-weight:600;line-height:1.45;box-shadow:inset 0 1px 2px rgba(0,0,0,.025)}
.watch-note-composer textarea:focus{border-color:color-mix(in srgb,var(--accent) 55%,var(--border));box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 9%,transparent)}
.watch-note-chat.is-online .watch-note-composer textarea:focus{border-color:#20a56d;box-shadow:0 0 0 3px rgba(32,165,109,.1)}
.watch-note-compose-row .watch-note-send{width:40px;height:40px;display:grid;place-items:center;padding:0;border:0;border-radius:12px;background:var(--accent);color:#fff;cursor:pointer;box-shadow:0 6px 13px color-mix(in srgb,var(--accent) 20%,transparent);transition:transform .16s ease,box-shadow .16s ease}
.watch-note-compose-row .watch-note-send:hover{box-shadow:0 14px 26px color-mix(in srgb,var(--accent) 34%,transparent);transform:translateY(-2px)}
.watch-note-compose-row .watch-note-send:focus-visible{outline:0;box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 18%,transparent),0 12px 24px color-mix(in srgb,var(--accent) 28%,transparent)}
.watch-note-chat.is-online .watch-note-compose-row .watch-note-send{background:#20a56d;box-shadow:0 6px 13px rgba(32,165,109,.22)}
.watch-note-compose-row .watch-note-send:disabled{opacity:.5;cursor:wait}
.watch-note-compose-row .watch-note-send svg{width:18px;height:18px;stroke-width:1.9}

.order-notes-panel-unified{
  margin:0 0 18px;
  border:1px solid var(--border);
  border-radius:18px;
  background:var(--surface-solid,#fff);
  overflow:hidden;
  box-shadow:0 12px 30px rgba(0,0,0,.055);
}
.order-notes-unified-title{
  min-height:62px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:14px 18px;
  border-bottom:1px solid var(--border);
}
.order-notes-unified-title strong{color:var(--text);font-size:16px;letter-spacing:.06em}
.order-notes-unified-title span{
  padding:6px 9px;
  border-radius:99px;
  background:color-mix(in srgb,var(--accent) 8%,transparent);
  color:var(--accent);
  font-size:12px;
  font-weight:800;
}
.watch-note-chat.is-order-surface{border-top:0;background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 3%,var(--surface-solid,#fff)),var(--surface-solid,#fff))}
.watch-note-chat.is-order-surface .watch-note-chat-head{min-height:58px;padding:8px 16px}
.watch-note-chat.is-order-surface .watch-note-chat-title>span{grid-template-columns:24px minmax(0,1fr);gap:2px 8px}
.watch-note-chat.is-order-surface .watch-note-chat-title svg{width:20px;height:20px}
.watch-note-chat.is-order-surface .watch-note-chat-head b{font-size:var(--watch-note-text-md)}
.watch-note-chat.is-order-surface .watch-note-chat-head small{font-size:var(--watch-note-text-sm)}
.watch-note-chat.is-order-surface .watch-note-mode{border-radius:11px}
.watch-note-chat.is-order-surface .watch-note-mode button{height:32px;padding:0 11px;border-radius:9px;font-size:var(--watch-note-text-md)}
.watch-note-chat.is-order-surface .watch-note-thread{min-height:248px;max-height:430px;gap:0;padding:10px 18px 14px}
.watch-note-chat.is-order-surface .watch-note-empty{min-height:112px}
.watch-note-chat.is-order-surface .watch-note-empty span{font-size:var(--watch-note-text-md)}
.watch-note-chat.is-order-surface .watch-note-empty small{font-size:var(--watch-note-text-sm)}
.watch-note-chat.is-order-surface .watch-note-entry{padding:13px 12px 14px 16px}
.watch-note-chat.is-order-surface .watch-note-entry p{font-size:var(--watch-note-text-md);line-height:1.7}
.watch-note-chat.is-order-surface .watch-note-composer{gap:10px;padding:12px 0 12px}
.watch-note-chat.is-order-surface .watch-note-composer textarea{min-height:42px;max-height:120px;padding:9px 12px;border-radius:12px;font-size:var(--watch-note-text-md)}
.watch-note-chat.is-order-surface .watch-note-compose-row .watch-note-send{width:40px;height:40px;border-radius:12px}
.watch-note-chat.is-order-surface .watch-note-compose-row .watch-note-send svg{width:18px;height:18px}

html[data-theme=dark] .watch-note-chat,
html[data-theme=dark] .watch-note-mode button.active,
html[data-theme=dark] .watch-note-composer textarea{background:#202227}
html[data-theme=dark] .watch-note-entry.is-focused{background:color-mix(in srgb,var(--note-tone,var(--accent)) 18%,#202227)}

html[data-theme=dark] .watch-order-card-menu-pop,
html[data-theme=dark] .watch-order-card-menu-pop select,
html[data-theme=dark] .watch-order-badge-picker>div>button{background:#202227}
html[data-theme=dark] .order-notes-panel-unified{background:#1c1e22}
html[data-theme=dark] :is(.watch-note-label,.watch-note-compose-label){background:transparent}

@media(max-width:760px){
  .watch-note-chat-head{padding-inline:14px}
  .watch-note-chat.is-collapsible .watch-note-chat-body{height:184px}
  .watch-note-chat.is-collapsible.is-expanded .watch-note-chat-body{height:min(360px,calc(100svh - 142px))}
  .watch-order-card-head{padding-left:18px}
  .watch-card-sticker{width:26px;padding:0;justify-content:center;border-radius:8px}.watch-card-sticker>b{display:none}
  .watch-order-customer{padding-inline:14px}
  .watch-order-customer>div{gap:6px 9px}
  .watch-order-customer strong{font-size:18px}
  .watch-order-customer b{font-size:15px}
  .watch-order-customer span{font-size:12px}
  .order-notes-unified-title{padding-inline:16px}

  .watch-note-label{flex:0 0 auto}
  .watch-note-chat.is-order-surface .watch-note-chat-head{flex-direction:row;flex-wrap:wrap;align-items:center;padding:12px 16px}
  .watch-note-chat.is-order-surface .watch-note-chat-title{flex:1 1 0;order:0}
  .watch-note-chat.is-order-surface .watch-note-filter-btn,.watch-note-chat.is-order-surface .watch-note-add{order:1}
  .watch-note-chat.is-order-surface .watch-note-mode{order:2;flex:1 1 100%}
  .watch-note-chat.is-order-surface .watch-note-mode{align-self:stretch}
  .watch-note-chat.is-order-surface .watch-note-mode button{flex:1}
  .watch-note-chat.is-order-surface .watch-note-thread{min-height:140px;padding:14px 16px}
  .watch-note-chat.is-order-surface .watch-note-entry{padding:12px 10px 13px 14px}
  .watch-note-chat.is-order-surface .watch-note-composer{gap:9px;padding:10px 14px 12px}
  .watch-note-chat.is-order-surface .watch-note-compose-row .watch-note-send{width:40px;height:40px}
}

/* Bağlı ticket v6 · başlıkta sessiz rozet, tek bakışlık sade önizleme */
.watchlist-order-grid{isolation:isolate}
.watchlist-order-grid .watch-order-card.has-ticket-preview{z-index:45;overflow:visible;transform:none}
.watch-ticket-pins{display:flex;align-items:center;gap:2px;flex:0 0 auto}
.watch-ticket-pin,
.watch-ticket-pins-more{
  height:30px;
  display:grid;
  place-items:center;
  padding:0;
  border:1px solid transparent;
  border-radius:9px;
  background:transparent;
  cursor:pointer;
  transition:background .15s ease,border-color .15s ease;
}
.watch-ticket-pin{width:30px}
.watch-ticket-pin::before{
  content:"";
  width:11px;
  height:11px;
  border-radius:50%;
  background:var(--ticket-pin);
  box-shadow:0 0 0 3px color-mix(in srgb,var(--ticket-pin) 16%,transparent);
  transition:box-shadow .15s ease;
}
.watch-ticket-pin:hover,
.watch-ticket-pin.active{
  border-color:color-mix(in srgb,var(--ticket-pin) 32%,var(--border));
  background:color-mix(in srgb,var(--ticket-pin) 9%,transparent);
}
.watch-ticket-pin.active::before{box-shadow:0 0 0 3px color-mix(in srgb,var(--ticket-pin) 30%,transparent)}
.watch-ticket-pin:focus-visible,
.watch-ticket-pins-more:focus-visible{outline:2px solid var(--ticket-pin,var(--board-color));outline-offset:2px}
.watch-ticket-pins-more{
  min-width:30px;
  padding:0 7px;
  border-color:var(--border);
  color:var(--muted);
  font:800 10px/1 var(--font-numeric,inherit);
}
.watch-ticket-pins-more:hover{color:var(--text);background:color-mix(in srgb,var(--muted) 8%,transparent)}

.watch-ticket-preview{
  position:absolute;
  z-index:70;
  top:48px;
  right:12px;
  width:min(320px,calc(100% - 24px));
  display:grid;
  gap:8px;
  padding:12px 14px 11px;
  border:1px solid color-mix(in srgb,var(--ticket-pin,#8b5cf6) 22%,var(--border));
  border-radius:14px;
  outline:0;
  background:var(--surface-solid,#fff);
  box-shadow:0 16px 40px rgba(0,0,0,.14);
  color:var(--text);
  text-align:left;
  cursor:pointer;
  transform-origin:top right;
  animation:watchTicketReveal .18s cubic-bezier(.2,.78,.25,1) both;
}
.watch-ticket-preview:hover{border-color:color-mix(in srgb,var(--ticket-pin,#8b5cf6) 40%,var(--border))}
.watch-ticket-preview:focus-visible{box-shadow:0 0 0 3px color-mix(in srgb,var(--ticket-pin,#8b5cf6) 22%,transparent),0 16px 40px rgba(0,0,0,.14)}
@keyframes watchTicketReveal{
  from{opacity:0;transform:translateY(-6px) scale(.97)}
  to{opacity:1;transform:none}
}
.watch-ticket-preview-top{display:flex;align-items:center;justify-content:space-between;gap:8px}
.watch-ticket-preview-cat{
  min-width:0;
  display:inline-flex;
  align-items:center;
  gap:7px;
  overflow:hidden;
  color:var(--text);
  font-size:11px;
  font-weight:800;
  letter-spacing:-.01em;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.watch-ticket-preview-cat i{width:8px;height:8px;flex:0 0 8px;border-radius:50%;background:var(--ticket-pin)}
.watch-ticket-preview-status{
  flex:0 0 auto;
  padding:3px 8px;
  border-radius:999px;
  font-size:9.5px;
  font-weight:800;
  letter-spacing:.01em;
}
.watch-ticket-preview-status.is-open{background:rgba(255,159,10,.14);color:#b86e00}
.watch-ticket-preview-status.is-progress{background:rgba(10,132,255,.13);color:#0a66c2}
.watch-ticket-preview-status.is-closed{background:color-mix(in srgb,var(--muted) 12%,transparent);color:var(--muted)}
.watch-ticket-preview-msg{
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  overflow:hidden;
  margin:0;
  color:var(--text);
  font-size:12.5px;
  font-weight:600;
  line-height:1.4;
  overflow-wrap:anywhere;
}
.watch-ticket-preview-msg em{color:var(--muted);font-style:normal;font-weight:600}
.watch-ticket-preview-foot{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:9.5px;font-weight:650}
.watch-ticket-preview-meta{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.watch-ticket-preview-nav{display:inline-flex;align-items:center;gap:2px;flex:0 0 auto}
.watch-ticket-preview-nav b{min-width:24px;font:800 9.5px var(--font-numeric,inherit);text-align:center}
.watch-ticket-preview-nav button{
  width:20px;
  height:20px;
  display:grid;
  place-items:center;
  padding:0;
  border:1px solid var(--border);
  border-radius:6px;
  background:transparent;
  color:var(--muted);
  font:700 13px/1 inherit;
  cursor:pointer;
}
.watch-ticket-preview-nav button:hover:not(:disabled){color:var(--text);background:color-mix(in srgb,var(--muted) 8%,transparent)}
.watch-ticket-preview-nav button:disabled{opacity:.35;cursor:default}
.watch-ticket-preview-open{
  display:inline-flex;
  align-items:center;
  gap:1px;
  flex:0 0 auto;
  color:color-mix(in srgb,var(--ticket-pin,#8b5cf6) 70%,var(--text));
  font-size:10px;
  font-weight:800;
}
.watch-ticket-preview-open svg{width:12px;height:12px;stroke-width:2.2}
html[data-theme=dark] .watch-ticket-preview{
  border-color:color-mix(in srgb,var(--ticket-pin,#8b5cf6) 28%,rgba(255,255,255,.08));
  background:#202328;
  box-shadow:0 16px 40px rgba(0,0,0,.4);
}
html[data-theme=dark] .watch-ticket-preview-status.is-open{color:#ffb547}
html[data-theme=dark] .watch-ticket-preview-status.is-progress{color:#5fb0ff}
@media(max-width:760px){
  .watch-ticket-pin,
  .watch-ticket-pins-more{height:36px}
  .watch-ticket-pin{width:34px}
  .watch-ticket-preview{top:54px;right:10px;width:calc(100% - 20px)}
}

/* Ticket'tan taşınan notun kumaş rozetleri */
.watch-note-fabrics{display:flex;flex-wrap:wrap;gap:4px;margin:3px 0 1px}
.watch-note-fabrics em{padding:1px 6px;border-radius:999px;background:color-mix(in srgb,var(--note-tone,#5b6b84) 16%,transparent);color:var(--note-tone,#5b6b84);font:800 8px/1.6 var(--font-numeric,inherit);font-style:normal;letter-spacing:.04em;text-transform:uppercase}
/* Silinen çevrimiçi not izi (2026-09-24): metin yok, yalnız kim ve ne zaman. */
.watch-note-entry.is-deleted{padding-block:6px;border-left-color:var(--border)}
.watch-note-entry.is-deleted .watch-note-deleted{margin:0;color:var(--muted);font-size:var(--type-meta);font-style:italic}

/* ── Not paneli yeniden tasarım (2026-09-25) ─────────────────────────────
   Takip kartı ve sipariş detayı ortak. Yazma alanı iki yüzeyde de + ile açılır;
   etiket tek düğme + küçük liste; resim ekleri; gün/yeni ayraçları; süzgeç. */
.watch-note-chat.is-order-surface:not(.is-composing) .watch-note-composer{display:none}
.watch-note-chat.is-order-surface.is-composing .watch-note-composer{animation:watchNoteComposerIn .16s cubic-bezier(.2,.75,.25,1)}
.watch-note-chat{--note-ctl:40px}
.watch-note-composer{position:relative}
.watch-note-compose-row{align-items:end}
.watch-note-tag-pick{position:relative;align-self:end}
.watch-note-tag-btn{height:var(--note-ctl);display:inline-flex;align-items:center;gap:6px;padding:0 8px 0 10px;border:1px solid var(--desk-line,var(--border));border-radius:10px;background:var(--desk-paper,var(--surface-solid,#fff));color:var(--desk-ink,var(--text));font-family:inherit;font-size:12px;font-weight:600;white-space:nowrap;cursor:pointer;transition:border-color .13s ease,background .13s ease}
.watch-note-tag-btn i{width:7px;height:7px;flex:none;border-radius:50%;background:var(--note-tone,var(--muted))}
.watch-note-tag-btn svg{width:14px;height:14px;color:var(--desk-muted,var(--muted));stroke-width:2}
.watch-note-tag-btn:hover,.watch-note-tag-btn[aria-expanded="true"]{border-color:color-mix(in srgb,var(--note-tone,var(--accent)) 45%,var(--desk-line,var(--border)))}
.watch-note-tag-btn:focus-visible,.watch-note-attach-btn:focus-visible,.watch-note-tag-item:focus-visible,.watch-note-filter-btn:focus-visible,.watch-note-filter-chip:focus-visible,.watch-note-image:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.watch-note-tag-menu{position:absolute;left:0;bottom:calc(100% + 6px);z-index:30;min-width:176px;display:grid;gap:2px;padding:6px;border:1px solid var(--desk-line,var(--border));border-radius:13px;background:var(--desk-paper,var(--surface-solid,#fff));box-shadow:0 18px 44px rgba(15,23,42,.18);animation:watchNoteMenuIn .14s cubic-bezier(.2,.75,.25,1)}
.watch-note-tag-menu[hidden]{display:none}
.watch-note-tag-menu.is-floating{position:fixed;bottom:auto;z-index:2600}
/* Not resmi albüm seçicisi: ticket seçicisinin aynısı, <body>'de sabit konumlu. */
.tk-photo-pop.watch-note-photo-pop{position:fixed;bottom:auto;right:auto;z-index:2600;transform-origin:bottom right}
.tk-photo-pop.watch-note-photo-pop[hidden]{display:none}
.watch-note-tag-item{min-height:34px;display:flex;align-items:center;gap:10px;padding:0 10px;border:0;border-radius:8px;background:transparent;color:var(--desk-ink,var(--text));font-family:inherit;font-size:13px;font-weight:550;text-align:left;cursor:pointer}
.watch-note-tag-item i{width:8px;height:8px;border-radius:50%;background:var(--note-tone,var(--muted))}
.watch-note-tag-item:hover{background:var(--desk-soft,rgba(127,127,127,.08))}
.watch-note-tag-item[aria-checked="true"]{font-weight:650}
.watch-note-tag-item[aria-checked="true"]::after{content:'';margin-left:auto;width:9px;height:5px;border-left:2px solid var(--accent);border-bottom:2px solid var(--accent);transform:rotate(-45deg) translate(1px,-2px)}
@keyframes watchNoteMenuIn{from{opacity:0;transform:translateY(4px) scale(.98)}to{opacity:1;transform:none}}
.watch-note-attach-btn{width:var(--note-ctl);height:var(--note-ctl);display:grid;place-items:center;padding:0;border:1px solid var(--desk-line,var(--border));border-radius:10px;background:var(--desk-paper,var(--surface-solid,#fff));color:var(--desk-muted,var(--muted));cursor:pointer;transition:color .13s ease,border-color .13s ease}
.watch-note-attach-btn:hover{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 40%,var(--desk-line,var(--border)))}
.watch-note-attach-btn svg{width:18px;height:18px;stroke-width:1.7}
.watch-note-attach-strip{display:flex;flex-wrap:wrap;gap:8px}
.watch-note-attach-strip[hidden]{display:none}
.watch-note-attach{position:relative;width:56px;height:56px;border-radius:10px;overflow:hidden;background:var(--desk-soft,rgba(127,127,127,.08));box-shadow:inset 0 0 0 1px var(--desk-line,var(--border))}
.watch-note-attach img{width:100%;height:100%;object-fit:cover;display:block}
.watch-note-attach.is-uploading img{opacity:.45}
.watch-note-attach.is-error{box-shadow:inset 0 0 0 2px var(--danger)}
.watch-note-attach.is-error img{opacity:.35}
.watch-note-attach button{position:absolute;top:3px;right:3px;width:20px;height:20px;display:grid;place-items:center;padding:0;border:0;border-radius:50%;background:rgba(15,23,42,.62);color:rgba(255,255,255,.95);font-size:13px;line-height:1;cursor:pointer}
.watch-note-attach-spin{position:absolute;inset:0;margin:auto;width:18px;height:18px;border:2px solid color-mix(in srgb,var(--accent) 30%,transparent);border-top-color:var(--accent);border-radius:50%;animation:ticketSubmitSpin .8s linear infinite}
.watch-note-images{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.watch-note-image{width:72px;height:72px;padding:0;border:0;border-radius:10px;overflow:hidden;background:var(--desk-soft,rgba(127,127,127,.08));box-shadow:inset 0 0 0 1px var(--desk-line,var(--border));cursor:zoom-in}
.watch-note-image img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .16s ease}
.watch-note-image:hover img{transform:scale(1.04)}
.watch-note-image-peek{position:fixed;z-index:1200;width:320px;height:260px;padding:6px;border:1px solid var(--desk-line,var(--border));border-radius:14px;background:var(--desk-paper,var(--surface-solid,#fff));box-shadow:0 18px 40px rgba(15,23,42,.18);opacity:0;transform:translateY(4px);pointer-events:none;transition:opacity .14s ease,transform .14s ease}
.watch-note-image-peek.is-on{opacity:1;transform:none}
.watch-note-image-peek img{width:100%;height:100%;object-fit:contain;border-radius:10px;display:block}
.watch-note-day{display:flex;align-items:center;gap:10px;margin:10px 0 2px;color:var(--desk-muted,var(--muted));font-size:11px;font-weight:600}
.watch-note-day::before,.watch-note-day::after,.watch-note-new::before,.watch-note-new::after{content:'';flex:1;height:1px;background:var(--desk-line,var(--border))}
.watch-note-thread > .watch-note-day:first-child{margin-top:0}
.watch-note-new{display:flex;align-items:center;gap:10px;margin:6px 0 2px;color:var(--danger);font-size:11px;font-weight:650}
.watch-note-new::before,.watch-note-new::after{background:color-mix(in srgb,var(--danger) 45%,transparent)}
.watch-note-filter-btn{height:32px;display:inline-flex;align-items:center;gap:6px;padding:0 8px;border:1px solid var(--desk-line,var(--border));border-radius:999px;background:transparent;color:var(--desk-muted,var(--muted));font-family:inherit;font-size:12px;font-weight:600;white-space:nowrap;cursor:pointer;transition:color .13s ease,border-color .13s ease,background .13s ease}
.watch-note-filter-btn svg{width:15px;height:15px;stroke-width:2}
.watch-note-filter-btn span{display:inline-flex;align-items:center;gap:6px;color:var(--desk-ink,var(--text))}
.watch-note-filter-btn span i{width:7px;height:7px;border-radius:50%;background:var(--note-tone,var(--muted))}
.watch-note-filter-btn:hover,.watch-note-filter-btn[aria-pressed="true"]{border-color:color-mix(in srgb,var(--accent) 40%,var(--desk-line,var(--border)));color:var(--accent)}
.watch-note-filter-btn.is-filtered{background:color-mix(in srgb,var(--note-tone,var(--accent)) 9%,transparent);border-color:color-mix(in srgb,var(--note-tone,var(--accent)) 45%,var(--desk-line,var(--border)))}
.watch-note-filter-row{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:0 16px 12px;animation:watchNoteComposerIn .16s cubic-bezier(.2,.75,.25,1)}
.watch-note-filter-chip{height:30px;display:inline-flex;align-items:center;gap:6px;padding:0 10px;border:1px solid var(--desk-line,var(--border));border-radius:999px;background:transparent;color:var(--desk-ink,var(--text));font-family:inherit;font-size:12px;font-weight:550;cursor:pointer}
.watch-note-filter-chip i{width:7px;height:7px;border-radius:50%;background:var(--note-tone,var(--muted))}
.watch-note-filter-chip b{color:var(--desk-muted,var(--muted));font-size:11px;font-weight:650;font-variant-numeric:tabular-nums}
.watch-note-filter-chip:hover{border-color:color-mix(in srgb,var(--note-tone,var(--accent)) 45%,var(--desk-line,var(--border)))}
.watch-note-filter-chip.is-active{border-color:color-mix(in srgb,var(--note-tone,var(--accent)) 55%,var(--desk-line,var(--border)));background:color-mix(in srgb,var(--note-tone,var(--accent)) 10%,transparent);font-weight:650}
.watch-note-filter-close{width:30px;height:30px;display:grid;place-items:center;margin-left:auto;padding:0;border:0;border-radius:50%;background:transparent;color:var(--desk-muted,var(--muted));cursor:pointer}
.watch-note-filter-close:hover{background:var(--desk-soft,rgba(127,127,127,.08));color:var(--desk-ink,var(--text))}
.watch-note-filter-close svg{width:15px;height:15px;stroke-width:2}
@media(prefers-reduced-motion:reduce){.watch-note-tag-menu,.watch-note-filter-row,.watch-note-chat.is-order-surface.is-composing .watch-note-composer{animation:none}.watch-note-image img,.watch-note-image-peek{transition:none}.watch-note-attach-spin{animation:none}}
@media(max-width:760px){.watch-note-tag-btn span{display:none}.watch-note-tag-btn{padding:0 6px 0 10px}}
/* Takip kartı dar: etiket düğmesi yalnız renkli nokta, denetimler 34px. */
#watchlistPageApp .watch-note-chat{--note-ctl:34px}
#watchlistPageApp .watch-note-tag-btn{gap:4px;padding:0 4px 0 9px;border-radius:9px}
#watchlistPageApp .watch-note-tag-btn span{display:none}
#watchlistPageApp .watch-note-attach-btn{border-radius:9px}
#watchlistPageApp .watch-note-attach-btn svg{width:16px;height:16px}

html[data-theme=dark] .watch-note-image,html[data-theme=dark] .watch-note-attach{background:rgba(255,255,255,.04)}

/* Seçim modunda kartın tamamı seçme alanıdır (2026-10-18) */
#watchlistPageApp .watchlist-order-grid.is-selecting .watch-order-card:not(.is-board-readonly),
#watchlistPageApp .watchlist-order-grid.is-selecting .watch-order-card:not(.is-board-readonly) * { cursor:pointer; }
#watchlistPageApp .watchlist-order-grid.is-selecting .watch-order-card:not(.is-board-readonly) .watch-order-card-menu,
#watchlistPageApp .watchlist-order-grid.is-selecting .watch-order-card:not(.is-board-readonly) .watch-order-card-menu * { cursor:revert; }
#watchlistPageApp .watchlist-order-grid.is-selecting .watch-order-card:not(.is-board-readonly) { user-select:none; -webkit-user-select:none; }

/* Notta tarih (@pazartesi, @2.11 — 2026-10-28): metindeki tarih çipi + yazarken ipucu */
.note-date-chip { display: inline-flex; align-items: center; gap: 3px; padding: 0 5px; border-radius: 6px; background: color-mix(in srgb, var(--accent) 11%, transparent); color: var(--accent); font-weight: 650; white-space: nowrap; cursor: help; vertical-align: baseline; }
.note-date-chip svg { width: 11px; height: 11px; stroke-width: 2; flex: none; }
.note-date-chip:focus-visible { outline: 2px solid var(--accent); outline-offset: 1px; }
.note-date-hint { display: flex; align-items: center; gap: 6px; margin: 6px 2px 0; color: var(--muted); font-size: 11.5px; line-height: 1.3; }
.note-date-hint[hidden] { display: none; }
.note-date-hint svg { width: 13px; height: 13px; stroke-width: 1.9; color: var(--accent); flex: none; }
.note-date-hint b { color: var(--text); font-weight: 650; }
/* Yazarken @tarih mavi: yazma alanının üstünde aynı ölçüde saydam katman */
.note-date-field { display: grid; min-width: 0; }
.note-date-field > textarea, .note-date-field > .note-date-backdrop { grid-area: 1 / 1; min-width: 0; }
.note-date-backdrop { position: relative; z-index: 1; box-sizing: border-box; margin: 0; overflow: hidden; border-style: solid; border-color: transparent; background: transparent; color: transparent; white-space: pre-wrap; overflow-wrap: break-word; pointer-events: none; }
.note-date-backdrop[hidden] { display: none; }
.note-date-mark { border-radius: 4px; background: color-mix(in srgb, var(--accent) 14%, transparent); color: var(--accent); }
/* Not etiketi simgesi (2026-11-03): Kalite · Renk · Termin · Hata/Fire noktası yerine
   çizgi simge, etiketin renginde. Hata/Fire satırdaki hapta dolgulu durur. */
.watch-note-tag-ico{width:12px;height:12px;flex:none;color:var(--note-tone,var(--muted))}
.watch-note-line-tag .watch-note-tag-ico{width:11px;height:11px;margin-right:3px;vertical-align:-1.5px}
.watch-note-tag-item .watch-note-tag-ico{width:13px;height:13px}
.watch-note-entry[data-note-label="defect"] .watch-note-entry-tag{padding:2px 7px;border-radius:999px;background:color-mix(in srgb,var(--note-tone) 12%,transparent)}

/* ── assets/styles/modern-refresh.css ── */
/* ============================================================================
   GENÇLER ÖRME — OPERASYON YÜZEYİ 2026
   Yeni müşteri/WhatsApp/Notlar ekranlarının görsel kalitesini eski sayfalara
   taşıyan son katman. İşlevsel sınıflara dokunmadan ortak bir tasarım sistemi.
   ========================================================================== */

:root {
  --refresh-navy:#111a29;
  --refresh-navy-2:#172235;
  --refresh-ink:#101828;
  --refresh-blue:#1688f8;
  --refresh-blue-2:#0b70e0;
  --refresh-cyan:#36c5f0;
  --refresh-violet:#766cf4;
  --refresh-mint:#20b486;
  --refresh-amber:#f5b82e;
  --bg:#eef3f9;
  --surface:rgba(255,255,255,.9);
  --surface-solid:#fff;
  --surface-raised:#fff;
  --text:#101828;
  --muted:#667085;
  --border:rgba(15,35,65,.1);
  --border-bright:rgba(15,35,65,.17);
  --accent:var(--refresh-blue);
  --accent-soft:#eaf4ff;
  --radius:20px;
  --radius-sm:12px;
  --shadow:0 1px 2px rgba(15,35,65,.035),0 14px 38px rgba(15,35,65,.07);
  --glow:0 22px 55px rgba(15,35,65,.1);
}

html[data-theme="dark"] {
  --bg:#090f19;
  --surface:rgba(17,26,41,.9);
  --surface-solid:#111a29;
  --surface-raised:#172235;
  --text:#f5f7fb;
  --muted:#98a7bc;
  --border:rgba(191,211,239,.12);
  --border-bright:rgba(191,211,239,.2);
  --accent:#2a95ff;
  --accent-soft:rgba(42,149,255,.13);
  --shadow:0 1px 2px rgba(0,0,0,.2),0 18px 46px rgba(0,0,0,.25);
  --glow:0 24px 65px rgba(0,0,0,.34);
}

html { background:var(--bg); }
body {
  color:var(--text);
  background:
    radial-gradient(circle at 7% 5%,rgba(22,136,248,.09),transparent 27rem),
    radial-gradient(circle at 96% 22%,rgba(118,108,244,.07),transparent 32rem),
    var(--bg);
  background-attachment:fixed;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
html[data-theme="dark"] body {
  background:
    radial-gradient(circle at 6% 3%,rgba(42,149,255,.12),transparent 30rem),
    radial-gradient(circle at 96% 18%,rgba(118,108,244,.1),transparent 34rem),
    var(--bg);
}
::selection { color:#fff; background:rgba(22,136,248,.75); }

/* ── Uygulama çerçevesi ───────────────────────────────────────────── */
.topbar {
  height:74px;
  padding:0 clamp(18px,3vw,42px);
  gap:14px;
  background:color-mix(in srgb,var(--surface-solid) 84%,transparent);
  border-color:var(--border);
  box-shadow:0 8px 28px rgba(15,35,65,.045);
  backdrop-filter:blur(22px) saturate(150%);
  -webkit-backdrop-filter:blur(22px) saturate(150%);
}

.topbar-right { gap:9px; }
.topbar-right>.notif-btn,
.account-chip {
  min-height:43px;
  border-color:var(--border);
  border-radius:14px;
  background:color-mix(in srgb,var(--surface-solid) 78%,transparent);
  box-shadow:0 5px 15px rgba(15,35,65,.04);
}
.topbar-right>.notif-btn:hover,
.account-chip:hover {
  border-color:var(--border-bright);
  background:var(--surface-solid);
  box-shadow:0 10px 24px rgba(15,35,65,.08);
}
.nav {
  top:74px;
  gap:5px;
  padding:9px clamp(18px,3vw,42px);
  background:color-mix(in srgb,var(--surface-solid) 80%,transparent);
  border-color:var(--border);
  backdrop-filter:blur(20px) saturate(145%);
  -webkit-backdrop-filter:blur(20px) saturate(145%);
}
.nav-btn { min-height:38px; padding:8px 13px; border-radius:11px; color:var(--muted); font-size:12px; font-weight:680; }
.nav-btn:hover { color:var(--text); background:color-mix(in srgb,var(--accent) 7%,transparent); }
.nav-btn.active { color:#fff; background:linear-gradient(135deg,var(--refresh-blue),#0a73e3); box-shadow:0 9px 22px rgba(22,136,248,.22); }
.nav-btn.active svg { color:#fff; }

/* ── Sayfa ritmi ve ortak yüzeyler ───────────────────────────────── */
.page { max-width:1440px; padding:38px clamp(18px,3vw,38px) 96px; }
.page.active { animation:refreshPageIn .28s cubic-bezier(.2,.8,.2,1); }
@keyframes refreshPageIn { from { opacity:0; transform:translateY(7px); } to { opacity:1; transform:none; } }

.page-header {
  position:relative;
  isolation:isolate;
  min-height:126px;
  align-items:center;
  margin-bottom:20px;
  padding:27px 29px;
  overflow:hidden;
  color:#fff;
  border:1px solid rgba(184,211,244,.15);
  border-radius:27px;
  background:
    radial-gradient(circle at 88% -20%,rgba(54,197,240,.22),transparent 19rem),
    radial-gradient(circle at 65% 180%,rgba(118,108,244,.2),transparent 24rem),
    linear-gradient(135deg,var(--refresh-navy),#111d30 56%,#14243a);
  box-shadow:0 22px 50px rgba(15,35,65,.18),inset 0 1px rgba(255,255,255,.06);
}

.card,
.table-wrap,
.sc-card,
.analysis-kpi {
  border-color:var(--border);
  background:var(--surface);
  box-shadow:var(--shadow);
  backdrop-filter:blur(18px) saturate(120%);
  -webkit-backdrop-filter:blur(18px) saturate(120%);
}
.card { padding:24px; border-radius:23px; }
.card-title { color:var(--text); font-size:15px; font-weight:760; letter-spacing:-.018em; }
.card-head-row { gap:16px; }
.empty-state,.analysis-empty,.ticket-cart-empty,.photo-empty {
  border:1px dashed color-mix(in srgb,var(--accent) 22%,var(--border));
  border-radius:17px;
  background:color-mix(in srgb,var(--accent) 3%,var(--surface-solid));
}

/* ── Kontroller ──────────────────────────────────────────────────── */
label { color:var(--muted); font-size:10px; font-weight:780; letter-spacing:.075em; }
input[type=text],input[type=email],input[type=number],input[type=password],input[type=date],input[type=time],input[type=search],select,textarea {
  min-height:43px;
  padding:10px 13px;
  color:var(--text);
  border:1px solid var(--border);
  border-radius:13px;
  background:var(--surface-solid);
  box-shadow:inset 0 1px rgba(255,255,255,.05);
}
input::placeholder,textarea::placeholder { color:color-mix(in srgb,var(--muted) 72%,transparent); }
input[type=text]:hover,input[type=email]:hover,input[type=number]:hover,input[type=password]:hover,input[type=date]:hover,input[type=time]:hover,input[type=search]:hover,select:hover,textarea:hover { border-color:var(--border-bright); }
input[type=text]:focus,input[type=email]:focus,input[type=number]:focus,input[type=password]:focus,input[type=date]:focus,input[type=time]:focus,input[type=search]:focus,select:focus,textarea:focus {
  color:var(--text);
  border-color:var(--accent);
  background:var(--surface-solid);
  box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 14%,transparent),0 8px 20px rgba(15,35,65,.06);
}
.btn { min-height:40px; padding:9px 16px; border-radius:12px; font-size:12px; font-weight:720; }
.btn-primary { color:#fff; background:linear-gradient(135deg,var(--refresh-blue),var(--refresh-blue-2)); box-shadow:0 9px 22px rgba(22,136,248,.2); }
.btn-primary:hover { color:#fff; background:linear-gradient(135deg,#2697ff,#0877e8); transform:translateY(-1px); box-shadow:0 13px 28px rgba(22,136,248,.27); }
.btn-outline { color:var(--text); border-color:var(--border); background:var(--surface-solid); }
.btn-outline:hover { color:var(--text); border-color:var(--border-bright); background:color-mix(in srgb,var(--accent) 4%,var(--surface-solid)); }
.text-action { font-size:11px; font-weight:750; }

/* ── Ana sayfa / Komuta merkezi ─────────────────────────────────── */
#page-dashboard { max-width:1440px; }
.dashboard-hero {
  min-height:286px;
  align-items:stretch;
  margin-bottom:18px;
  padding:39px 41px;
  overflow:hidden;
  color:#fff;
  border:1px solid rgba(184,211,244,.14);
  border-radius:30px;
  background:
    radial-gradient(circle at 90% 8%,rgba(54,197,240,.2),transparent 19rem),
    radial-gradient(circle at 65% 140%,rgba(118,108,244,.24),transparent 25rem),
    linear-gradient(135deg,#101827,#111d30 53%,#15263d);
  box-shadow:0 26px 60px rgba(15,35,65,.2),inset 0 1px rgba(255,255,255,.07);
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
}
.dashboard-hero::before {
  display:block;
  width:320px;
  height:320px;
  top:-194px;
  right:-18px;
  opacity:1;
  border:1px solid rgba(255,255,255,.09);
  background:rgba(255,255,255,.018);
  box-shadow:0 0 0 34px rgba(255,255,255,.018),0 0 0 68px rgba(255,255,255,.012);
}
.dashboard-hero>div:first-child { align-self:center; }

/* Duyuru ve senkron metni değişse de hero ile altındaki içerik sabit kalır. */
.dashboard-hero h1 { max-width:760px; min-height:1.96em; max-height:1.96em; color:#f7faff; font-size:clamp(34px,4.4vw,58px); font-weight:760; line-height:.98; letter-spacing:-.06em; }
.hero-copy { max-width:680px; min-height:3.3em; max-height:3.3em; margin-top:20px; overflow:hidden; color:#aebdd1; font-size:14px; line-height:1.65; }
.dashboard-hero .hero-copy.is-sync { display:block; }

.announcement-dot { background:rgba(255,255,255,.2); }
.announcement-dot.active { background:#34a4ff; }
.hero-actions { min-width:285px; justify-content:space-between; }

.dashboard-hero .new-ticket-cta { min-height:43px; border-radius:13px; }

.dash-search {
  min-height:58px;
  border:1px solid var(--border);
  border-radius:18px;
  background:var(--surface);
  box-shadow:var(--shadow);
  backdrop-filter:blur(18px);
}
.dash-search:focus-within { border-color:color-mix(in srgb,var(--accent) 60%,var(--border)); box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 10%,transparent),var(--shadow); }
.dash-search .search-input { min-height:56px; padding-left:47px; border:0; background:transparent; box-shadow:none; font-size:14px; font-weight:620; }
.dash-search-icon { left:17px; width:19px; height:19px; color:var(--accent); }

#page-dashboard>.card { margin-top:18px; }
#page-dashboard .termin-calendar-card { border-radius:25px; }
.termin-planner-title-wrap .card-title { font-size:18px; }
.termin-filter-row { padding:12px; border:1px solid var(--border); border-radius:17px; background:color-mix(in srgb,var(--accent) 3%,var(--surface-solid)); }

/* ── Filtre, arama ve sekme kümeleri ───────────────────────────── */
.orders-toolbar,.ticket-controls,.analysis-toolbar,.list-filter-bar {
  padding:14px;
  border:1px solid var(--border);
  border-radius:19px;
  background:var(--surface);
  box-shadow:var(--shadow);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
}
.orders-toolbar { margin-bottom:16px; }
.orders-toolbar-filters { margin-top:2px; padding-top:12px; border-color:var(--border); }
.orders-search-wrap .search-input { min-height:44px; border-radius:13px; }
.order-list-tabs,.ticket-tabs,.analysis-periods,.order-flow-tabs,.photo-section-tabs {
  gap:4px;
  padding:4px;
  border:1px solid var(--border);
  border-radius:14px;
  background:color-mix(in srgb,var(--text) 3%,transparent);
}
.order-list-tab,.ticket-tab,.analysis-period-btn,.order-flow-tab,.photo-section-tab { border-radius:10px; font-weight:720; }
/* Seçili sekme: gradyan dolgu ve renkli gölge YOK (TASARIM-DILI.md §2.4, §8).
   Seçili olanı vurgunun kendisi değil, vurgunun SAKİN tonu söyler — sipariş
   sayfası bunu kendi kapsamında zaten yapıyordu, artık bütün şeritler aynı
   dili konuşuyor: Ticketlar, Analiz, Sipariş Akışı, Fotoğraflar, Rehber. */
.order-list-tab.active,.ticket-tab.active,.analysis-period-btn.active,.order-flow-tab.active,.photo-section-tab.active {
  color:var(--accent);
  background:color-mix(in srgb,var(--accent) 12%,var(--surface-solid,#fff));
  box-shadow:none;
}
.order-filters-toggle,.orders-reset-btn,.order-sort-direction,.table-pan-controls {
  border-color:var(--border);
  border-radius:12px;
  background:var(--surface-solid);
}

/* ── Veri tabloları ──────────────────────────────────────────────── */
.table-wrap { overflow:hidden auto; border-radius:22px; }
table { border-collapse:separate; border-spacing:0; background:var(--surface-solid); }
thead th {
  height:48px;
  padding:12px 14px;
  color:var(--muted);
  border-color:var(--border);
  background:color-mix(in srgb,var(--refresh-navy) 4%,var(--surface-solid));
  font-size:9px;
  font-weight:800;
  letter-spacing:.085em;
}
tbody td { height:52px; padding:12px 14px; border-color:var(--border); }
tbody tr { transition:background .14s ease; }
tbody tr:hover { background:color-mix(in srgb,var(--accent) 5%,var(--surface-solid)); }
.sip-link { color:var(--accent); font-weight:760; }
.pill { padding:4px 9px; border-radius:999px; font-size:9px; font-weight:740; }

/* Yatay kaydırmada sabit sipariş sütunu alttaki firma/tip metnini tamamen örter. */
#ordersTable thead th:first-child,#pastTable thead th:first-child {
  z-index:40!important;
  min-width:205px;
  width:205px;
  max-width:205px;
  background:color-mix(in srgb,var(--refresh-navy) 4%,var(--surface-solid))!important;
  background-clip:padding-box!important;
  box-shadow:10px 0 18px -15px rgba(15,35,65,.55),1px 0 var(--border)!important;
}
#ordersTable tbody .order-row>td:first-child,#pastTable tbody .order-row>td:first-child {
  z-index:30!important;
  min-width:205px;
  width:205px;
  max-width:205px;
  isolation:isolate;
  background:var(--surface-solid)!important;
  background-clip:padding-box!important;
  box-shadow:10px 0 18px -15px rgba(15,35,65,.48),1px 0 var(--border)!important;
}
#ordersTable tbody .order-row:nth-child(even)>td:first-child,#pastTable tbody .order-row:nth-child(even)>td:first-child {
  background:color-mix(in srgb,var(--refresh-navy) 2.5%,var(--surface-solid))!important;
}
#ordersTable tbody .order-row:hover>td:first-child,#ordersTable tbody .order-row.is-hover-preview>td:first-child,
#pastTable tbody .order-row:hover>td:first-child,#pastTable tbody .order-row.is-hover-preview>td:first-child {
  background:color-mix(in srgb,var(--accent) 9%,var(--surface-solid))!important;
  box-shadow:inset 3px 0 0 var(--accent),10px 0 18px -15px rgba(15,35,65,.55),1px 0 var(--border)!important;
}

/* ── Sipariş / ticket oluşturma yüzeyleri ──────────────────────── */
.order-hero {
  min-height:176px;
  align-items:flex-end;
  padding:29px 31px;
  color:#fff;
  border-color:rgba(184,211,244,.14);
  border-radius:27px;
  background:
    radial-gradient(circle at 88% 0,color-mix(in srgb,var(--office-accent,var(--accent)) 35%,transparent),transparent 20rem),
    linear-gradient(135deg,var(--refresh-navy),#13243a);
  box-shadow:0 22px 50px rgba(15,35,65,.17);
}

.order-stat .l { color:#aebdd1; }
.order-stat.accent { border-color:color-mix(in srgb,var(--office-accent,var(--accent)) 55%,rgba(255,255,255,.15)); background:color-mix(in srgb,var(--office-accent,var(--accent)) 22%,transparent); }
.order-stat.accent .v { color:#fff; }
.quick-order-layout { gap:18px; }
.quick-order-layout>.card,.ticket-form-card,.tk-rail-card { border-radius:23px; }
.tk-form-kicker,
.tk-rail-title { color:var(--accent); font-size:9px; font-weight:820; letter-spacing:.11em; }

.ticket-form-card { box-shadow:var(--glow); }
.tk-form-title { color:var(--text); font-size:31px; font-weight:760; letter-spacing:-.045em; }
.title-icon { border-radius:14px; background:var(--accent-soft); }
.cat-pill { min-height:37px; border-radius:12px; font-weight:680; }

/* ── Ticket listesi ─────────────────────────────────────────────── */
.ticket-controls { gap:12px; margin-bottom:18px; }

.ticket {
  padding:15px 17px 14px 20px;
  border-color:var(--border);
  border-radius:17px;
  background:var(--surface);
  box-shadow:0 5px 18px rgba(15,35,65,.035);
}
.ticket.is-open { border-left-color:var(--accent); }
.ticket:hover { border-color:var(--border-bright); background:var(--surface-solid); box-shadow:0 14px 32px rgba(15,35,65,.08); transform:translateY(-1px); }
.ticket-sipno { color:var(--text); font-weight:780; }
.ticket-msg { color:var(--text); }
.ticket-status,
.ticket-cat { border-radius:999px; }

/* Ana sayfadaki son ticketlar · iki sütunda yarım genişlikli kartlar */

#recentTickets { position:relative; z-index:4; overflow:visible; }
#recentTickets .ticket.is-dashboard-compact {

  overflow:visible;
  contain:none;
  content-visibility:visible;
  
  z-index:0;
}
#recentTickets .ticket.is-dashboard-compact.is-menu-open { z-index:100; }
#recentTickets .ticket.is-dashboard-compact .ticket-menu-wrap.is-menu-open { z-index:120; }
#recentTickets .ticket.is-dashboard-compact .ticket-action-menu { z-index:140; }

#recentTickets .ticket.is-dashboard-compact .ticket-main { gap:5px; }
#recentTickets .ticket.is-dashboard-compact .ticket-msg { width:100%; }
#recentTickets .ticket.is-dashboard-compact .ticket-msg-text { font-size:11.5px; }
#recentTickets .ticket.is-dashboard-compact .ticket-cat {
  min-height:21px;
  padding:3px 7px;
  font-size:9px;
}
#recentTickets .ticket.is-dashboard-compact .ticket-route-wrap {
  grid-column:2;
  align-self:center;
  justify-self:end;
}
#recentTickets .ticket.is-dashboard-compact .ticket-route-stamp {
  grid-template-columns:38px 12px 38px;
  min-width:92px;
  width:92px;
  height:32px;
  gap:2px;
}
#recentTickets .ticket.is-dashboard-compact .ticket-route-office { width:38px; gap:1px; }
#recentTickets .ticket.is-dashboard-compact .ticket-route-code { font-size:13px; line-height:14px; }
#recentTickets .ticket.is-dashboard-compact .ticket-route-name { font-size:6px; line-height:7px; }
#recentTickets .ticket.is-dashboard-compact .ticket-route-arrow { font-size:11px; line-height:13px; }
#recentTickets .ticket.is-dashboard-compact .ticket-reply-count { display:none; }
#recentTickets .ticket.is-dashboard-compact .ticket-aside {
  grid-column:3;
  min-width:0;
  height:100%;
  padding-left:8px;
}
#recentTickets .ticket.is-dashboard-compact .ticket-action-row { gap:5px; flex-wrap:nowrap; }
#recentTickets .ticket.is-dashboard-compact .ticket-more-btn { width:30px; height:30px; border-radius:9px; }
#recentTickets .ticket.is-dashboard-compact .ticket-status {
  min-height:30px;
  padding:0 8px;
  font-size:9px;
}

#recentTickets .ticket.is-dashboard-compact .ticket-time { gap:4px;  }
#recentTickets .ticket.is-dashboard-compact .ticket-time .ticket-updated,
#recentTickets .ticket.is-dashboard-compact .ticket-time-sep { display:none; }
#recentTickets .ticket.is-dashboard-compact .ticket-context .ticket-task-note { max-width:52%; }

@media(max-width:760px) {
  
  #recentTickets .ticket.is-dashboard-compact .ticket-route-wrap { grid-column:2; grid-row:1; }
  #recentTickets .ticket.is-dashboard-compact .ticket-aside { grid-column:1/-1; grid-row:2; height:auto; padding:3px 0 0; }
  #recentTickets .ticket.is-dashboard-compact .ticket-foot { grid-row:3; }
  #recentTickets .ticket.is-dashboard-compact .ticket-action-row { width:100%; justify-content:flex-end; }
}

/* ── Analiz ──────────────────────────────────────────────────────── */
#page-analysis .analysis-toolbar { margin-bottom:18px; }
.analysis-summary-grid { gap:12px; margin-bottom:18px; }
.analysis-kpi {
  --kpi:var(--refresh-blue);
  min-height:148px;
  padding:21px;
  overflow:hidden;
  border-radius:22px;
  background:linear-gradient(145deg,color-mix(in srgb,var(--kpi) 7%,var(--surface-solid)),var(--surface-solid) 60%);
}
.analysis-kpi:nth-child(2) { --kpi:var(--refresh-violet); }
.analysis-kpi:nth-child(3) { --kpi:var(--refresh-mint); }
.analysis-kpi:nth-child(4) { --kpi:var(--refresh-amber); }
.analysis-kpi::before { content:""; position:absolute; inset:0 auto 0 0; width:4px; background:var(--kpi); }
.analysis-kpi::after { background:color-mix(in srgb,var(--kpi) 12%,transparent); }
.analysis-kpi .k { font-size:9px; font-weight:820; }
.analysis-kpi .v { margin-top:17px; font-size:34px; font-weight:760; }
.analysis-grid { gap:18px; }
.analysis-card { border-radius:23px; }
.analysis-bar-track,.analysis-rank-track { background:color-mix(in srgb,var(--muted) 14%,transparent); }
.analysis-mini-item,.analysis-risk,.fason-detail-panel { border-radius:14px; background:color-mix(in srgb,var(--accent) 3%,var(--surface-solid)); }

/* ── Fotoğraflar ────────────────────────────────────────────────── */
.photo-shell { gap:18px; }
.photo-section-tabs { align-self:flex-start; width:max-content; }

/* ── Veri yükleme ───────────────────────────────────────────────── */

/* ── Tedarik ve Admin ───────────────────────────────────────────── */
.admin-layout { gap:18px; }

.admin-card { border-radius:22px; }

/* ── Modaller / paneller ─────────────────────────────────────────── */
.modal-overlay,.notif-center-overlay,.cat-mgr-overlay { background:rgba(4,9,17,.48); backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px); }
.modal,.order-modal,.ticket-detail-modal,.cat-mgr-modal,.notif-center {
  border-color:var(--border);
  border-radius:24px;
  background:var(--surface-solid);
  box-shadow:0 35px 90px rgba(3,10,20,.3);
}
.notif-panel,.account-menu,.settings-menu,.profile-panel { border-color:var(--border); border-radius:20px; background:color-mix(in srgb,var(--surface-solid) 94%,transparent); box-shadow:0 28px 70px rgba(3,10,20,.24); }
.toast { border-radius:14px; }

/* Son ticketlar v5: genel ticket çalışma alanının gerçek kompakt bileşeni */
#recentTickets .ticket.is-dashboard-compact {
  display:grid;
  grid-template-columns:minmax(0,1fr);
  grid-template-rows:27px minmax(0,1fr) 20px;
  gap:6px;
  height:112px;
  min-height:112px;
  max-height:112px;
  padding:10px 12px 8px;
  border-radius:18px;
  background:
    radial-gradient(circle at 0 0,var(--ticket-accent-soft),transparent 33%),
    var(--ticket-card-bg);
}
#recentTickets .ticket.is-dashboard-compact::before {
  inset:0 14px auto;
  width:auto;
  height:3px;
  border-radius:0 0 999px 999px;
}
#recentTickets .ticket.is-dashboard-compact .ticket-card-topbar {
  display:flex;
  align-items:center;
  justify-content:space-between;
}
#recentTickets .ticket.is-dashboard-compact .ticket-card-topbar .ticket-aside {
  width:auto;
  height:auto;
  min-width:0;
  padding:0;
}
#recentTickets .ticket.is-dashboard-compact .ticket-card-topbar .ticket-more-btn {
  width:27px;
  min-width:27px;
  height:27px;
  min-height:27px;
}
#recentTickets .ticket.is-dashboard-compact .ticket-card-topbar .ticket-status {
  height:27px;
  min-height:27px;
  padding:0 9px;
  font-size:8.5px;
}
#recentTickets .ticket.is-dashboard-compact .ticket-card-core {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:10px;
}
#recentTickets .ticket.is-dashboard-compact .ticket-card-core .ticket-main {
  display:grid;
  grid-template-rows:23px 20px;
  gap:3px;
}
#recentTickets .ticket.is-dashboard-compact .ticket-card-core .ticket-msg-text { font-size:12.5px; }
#recentTickets .ticket.is-dashboard-compact .ticket-card-core .ticket-route-wrap {
  grid-column:auto;
  align-self:center;
  justify-self:end;
}
#recentTickets .ticket.is-dashboard-compact .ticket-card-core .ticket-route-stamp {
  grid-template-columns:31px 9px 31px;
  min-width:73px;
  width:auto;
  height:25px;
  gap:1px;
}
#recentTickets .ticket.is-dashboard-compact .ticket-card-core .ticket-route-office { width:31px; }
#recentTickets .ticket.is-dashboard-compact .ticket-card-core .ticket-route-code { font-size:10px; line-height:11px; }
#recentTickets .ticket.is-dashboard-compact .ticket-card-core .ticket-route-name { font-size:5.5px; line-height:6px; }
#recentTickets .ticket.is-dashboard-compact .ticket-card-core .ticket-route-arrow { font-size:8px; line-height:11px; }
#recentTickets .ticket.is-dashboard-compact .ticket-card-kicker .ticket-reply-count { display:inline-flex; }
#recentTickets .ticket.is-dashboard-compact .ticket-foot {
  grid-row:auto;
  gap:8px;
  padding-top:5px;
}
#recentTickets .ticket.is-dashboard-compact .ticket-time { font-size:7.5px; }

@media(max-width:760px) {
  #recentTickets .ticket.is-dashboard-compact {
    grid-template-columns:minmax(0,1fr);
    grid-template-rows:27px minmax(0,1fr) 20px;
    height:112px;
    min-height:112px;
    max-height:112px;
  }
}

/* ── Koyu tema düzeltmeleri ─────────────────────────────────────── */

html[data-theme="dark"] .card,
html[data-theme="dark"] .table-wrap,
html[data-theme="dark"] .sc-card,
html[data-theme="dark"] .analysis-kpi,
html[data-theme="dark"] .orders-toolbar,
html[data-theme="dark"] .ticket-controls,
html[data-theme="dark"] .analysis-toolbar,
html[data-theme="dark"] .list-filter-bar { background:var(--surface); border-color:var(--border); }
html[data-theme="dark"] input[type=text],html[data-theme="dark"] input[type=email],html[data-theme="dark"] input[type=number],html[data-theme="dark"] input[type=password],html[data-theme="dark"] input[type=date],html[data-theme="dark"] input[type=time],html[data-theme="dark"] input[type=search],html[data-theme="dark"] select,html[data-theme="dark"] textarea { color:var(--text); border-color:var(--border); background:var(--surface-raised); }
html[data-theme="dark"] input:focus,html[data-theme="dark"] select:focus,html[data-theme="dark"] textarea:focus { color:var(--text); border-color:var(--accent); background:var(--surface-raised); box-shadow:0 0 0 4px rgba(42,149,255,.14); }
html[data-theme="dark"] .btn-outline { color:#e8eef8; border-color:var(--border); background:var(--surface-raised); }
html[data-theme="dark"] .btn-outline:hover { color:#fff; border-color:var(--border-bright); background:#1d2a3d; }
html[data-theme="dark"] .dashboard-hero,html[data-theme="light"] .dashboard-hero { background:radial-gradient(circle at 90% 8%,rgba(54,197,240,.2),transparent 19rem),radial-gradient(circle at 65% 140%,rgba(118,108,244,.24),transparent 25rem),linear-gradient(135deg,#101827,#111d30 53%,#15263d); border-color:rgba(184,211,244,.14); }
html[data-theme="light"] #page-dashboard .card { background:linear-gradient(145deg,color-mix(in srgb,var(--metric,var(--refresh-blue)) 7%,var(--surface-solid)),var(--surface-solid) 60%); border-color:var(--border); backdrop-filter:blur(18px); }
html[data-theme="dark"] #page-dashboard .card { background:linear-gradient(145deg,color-mix(in srgb,var(--metric,var(--refresh-blue)) 7%,var(--surface-solid)),var(--surface-solid) 60%); border-color:var(--border); backdrop-filter:blur(18px); }

html[data-theme="dark"] table { color:#dbe5f2; background:var(--surface-solid); }
html[data-theme="dark"] thead th,html[data-theme="dark"] #ordersTable thead th:first-child,html[data-theme="dark"] #pastTable thead th:first-child { color:var(--muted); border-color:var(--border); background:#172235; }
html[data-theme="dark"] tbody td { border-color:var(--border); }
html[data-theme="dark"] tbody tr:hover,html[data-theme="dark"] #ordersTable tbody tr:hover td:first-child,html[data-theme="dark"] #pastTable tbody tr:hover td:first-child { background:#172235; }
html[data-theme="dark"] #ordersTable td:first-child,html[data-theme="dark"] #pastTable td:first-child { background:#111a29; box-shadow:1px 0 var(--border); }
html[data-theme="dark"] .ticket { border-color:var(--border); background:var(--surface); }
html[data-theme="dark"] .ticket:hover { border-color:var(--border-bright); background:var(--surface-raised); }
html[data-theme="dark"] .analysis-kpi { background:linear-gradient(145deg,color-mix(in srgb,var(--kpi) 7%,var(--surface-solid)),var(--surface-solid) 60%); }

html[data-theme="dark"] .order-list-tabs,html[data-theme="dark"] .ticket-tabs,html[data-theme="dark"] .analysis-periods,html[data-theme="dark"] .order-flow-tabs,html[data-theme="dark"] .photo-section-tabs { background:rgba(255,255,255,.035); }
html[data-theme="dark"] .order-list-tab.active,html[data-theme="dark"] .ticket-tab.active,html[data-theme="dark"] .analysis-period-btn.active,html[data-theme="dark"] .order-flow-tab.active,html[data-theme="dark"] .photo-section-tab.active { color:var(--accent-bright); background:color-mix(in srgb,var(--accent-bright) 16%,transparent); box-shadow:none; }

/* ── Yeni Siparişler / üst düzey kart görünümü ───────────────────── */

#page-new-orders .new-order-rpt-row { display:flex; flex-wrap:wrap; align-items:center; gap:7px; margin-top:8px; }
#page-new-orders .new-order-context-row {
  display:flex; align-items:center; flex-wrap:wrap; gap:8px; min-width:0; margin-top:8px;
}
#page-new-orders .new-order-context-row:not(:has(> .new-order-rpt-row)):has(> .order-note-summary.is-empty) { display:none; }
#page-new-orders .new-order-context-row > .new-order-rpt-row { margin-top:0; }
#page-new-orders .new-order-context-row > .order-note-summary { min-height:29px; margin:0; }

#page-new-orders .no-detail { gap:12px; max-width:none; margin-top:15px; }
#page-new-orders .no-head {
  min-height:36px; gap:9px; padding:0 2px;
}
#page-new-orders .no-head .no-cust { font-size:16px; font-weight:820; letter-spacing:-.025em; }
#page-new-orders .no-head .no-meta {
  padding:5px 9px; color:var(--muted); background:color-mix(in srgb,var(--surface-raised) 80%,transparent);
  border:1px solid var(--border); border-radius:9px; font-size:9.5px; letter-spacing:.08em;
}
#page-new-orders .no-head .no-kg {
  padding:6px 10px; color:#fff;
  background:linear-gradient(135deg,var(--refresh-blue),var(--refresh-blue-2));
  border:1px solid rgba(255,255,255,.12); border-radius:10px;
  box-shadow:0 8px 20px rgba(22,136,248,.18); font-size:13px;
}
#page-new-orders .no-fabric {
  border-color:color-mix(in srgb,var(--border-bright) 78%,transparent);
  border-radius:18px;
  background:color-mix(in srgb,var(--surface-raised) 68%,var(--surface-solid));
  box-shadow:inset 0 1px rgba(255,255,255,.045),0 10px 26px rgba(3,10,20,.07);
}
#page-new-orders .no-fabric-name {
  display:flex; align-items:center; gap:9px; min-height:48px; padding:12px 15px;
  border-color:var(--border); font-size:13px; font-weight:800; letter-spacing:-.005em;
}
#page-new-orders .no-fabric-name::before {
  content:""; width:8px; height:8px; flex:0 0 8px; border-radius:3px;
  background:var(--accent); box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 12%,transparent);
}
#page-new-orders .no-color-row { align-items:center; min-height:76px; padding:13px 15px; }
#page-new-orders .no-color-row::before { display:none; }
#page-new-orders .no-color-name { gap:10px; font-size:13px; font-weight:780; }
#page-new-orders .no-color-swatch {
  width:22px; height:22px; border-radius:7px;
  border:2px solid color-mix(in srgb,var(--surface-solid) 72%,transparent);
  box-shadow:0 0 0 1px color-mix(in srgb,var(--stripe,var(--accent)) 55%,var(--border)),0 5px 13px color-mix(in srgb,var(--stripe,var(--accent)) 24%,transparent);
}
#page-new-orders .no-specs { gap:6px; margin-top:9px; }
#page-new-orders .no-spec {
  min-height:27px; padding:5px 9px; border-radius:8px;
  color:color-mix(in srgb,var(--text) 85%,var(--muted));
  background:color-mix(in srgb,var(--surface-solid) 55%,transparent);
  border-color:var(--border); font-size:10.5px; font-weight:650;
}
#page-new-orders .no-spec.form { color:#73b8ff; background:color-mix(in srgb,var(--accent) 10%,transparent); }
#page-new-orders .no-color-side { gap:5px; }
#page-new-orders .no-color-kg { color:var(--text); font-size:14px; font-weight:830; }
#page-new-orders .no-price { font-size:10.5px; font-weight:760; }
#page-new-orders .no-price.none {
  padding:3px 7px; color:#ff827a; background:color-mix(in srgb,var(--danger) 10%,transparent);
  border:1px solid color-mix(in srgb,var(--danger) 22%,transparent); border-radius:7px;
}

/* İzleme Listem: aurora temasıyla uyumlu, sakin indigo vurgu. */

@keyframes watchlistEyeBlink {
  0%,44%,48%,100% { transform:scaleY(1); }
  46% { transform:scaleY(.08); }
}

@media (max-width:680px) {
  
  #page-new-orders .no-head .no-kg { margin-left:0; }
  #page-new-orders .no-color-row { align-items:flex-start; padding:12px; }
  #page-new-orders .no-spec { padding-inline:7px; }
}

/* ── Performans: aşağıdaki ağır paneller yalnız görünürken çizilir ─ */
#page-analysis .analysis-card,
#page-admin .admin-card { content-visibility:auto; contain-intrinsic-size:240px; }
#page-tedarik .tedarik-row { content-visibility:auto; contain-intrinsic-size:auto 56px; }

/* ── Responsive ──────────────────────────────────────────────────── */
@media (max-width:1100px) {
  
  .dashboard-hero { padding:33px; }
  .dashboard-hero h1 { font-size:clamp(34px,5.3vw,50px); }
  .analysis-summary-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }

}

@media (max-width:820px) {
  .topbar { height:68px; padding-inline:14px; }

  .nav { top:68px; padding-inline:14px; }
  .page { padding:24px 14px 88px; }
  .page-header { min-height:112px; padding:22px; border-radius:22px; }
  
  .dashboard-hero { min-height:0; display:grid; grid-template-columns:1fr; gap:28px; padding:29px 26px; border-radius:24px; }
  .hero-actions { min-width:0; align-items:flex-start; }

  .orders-toolbar,.ticket-controls,.analysis-toolbar,.list-filter-bar { padding:11px; border-radius:16px; }
  .analysis-grid { grid-template-columns:minmax(0,1fr); }
  .order-hero { padding:23px; border-radius:22px; }
  .card { padding:19px; border-radius:19px; }
}

@media (max-width:760px) {
  /* Mobilde menü alttaki sabit çubuktur (aurora-layer: position:fixed; bottom:0).
     Bu dosya en son yüklendiği için yukarıdaki top:74/68 kuralları top:auto'yu ezip
     çubuğu tüm ekran boyuna uzatıyordu (iPhone'da menü sayfayı kaplıyordu). */
  .nav { top:auto; padding:8px max(12px,env(safe-area-inset-right)) calc(8px + env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left)); }
}

@media (max-width:560px) {
  
  .page-header { min-height:104px; align-items:flex-start; padding:20px; }

  .dashboard-hero { padding:25px 21px; }
  .dashboard-hero h1 { min-height:2.04em; max-height:2.04em; font-size:35px; line-height:1.02; }
  .hero-copy { font-size:13px; }
  
  .dashboard-hero .new-ticket-cta { flex:1 1 calc(50% - 4px); justify-content:center; min-width:0; padding-inline:10px; }

  .analysis-summary-grid { grid-template-columns:1fr; }
  .analysis-kpi { min-height:132px; }

  .ticket-filter-row>* { flex:1 1 100%; width:100%; }
}

@media (prefers-reduced-motion:reduce) {
  .page.active,
.ticket,
.btn { animation:none!important; transition:none!important; }
}

/* Arama kutularında temizleme düğmesi: kutuda yazı varsa sağda × çıkar.
   Sarmalayıcı yalnızca konumlandırma içindir; kutunun kendi genişlik/esneklik
   kuralları değişmez. */
/* Sarmalayıcıya min-width verilmez: esnek satırlarda en küçük boyu kutunun
   kendi min-width'inden türesin, yerleşim birebir aynı kalsın. */
.field-clear-wrap { position:relative; display:block; }
.field-clear-wrap > input { width:100%; }
.field-clear {
  position:absolute; right:8px; top:50%; transform:translateY(-50%);
  display:grid; place-items:center; width:24px; height:24px; padding:0;
  border:0; border-radius:7px; background:transparent; color:var(--muted);
  cursor:pointer; opacity:0; pointer-events:none; transition:opacity .12s,background .12s;
}
.field-clear svg { width:13px; height:13px; }
input:not(:placeholder-shown) ~ .field-clear { opacity:.45; pointer-events:auto; }
.field-clear:hover { opacity:.95; background:color-mix(in srgb,var(--muted) 12%,transparent); }
.field-clear:focus-visible { opacity:.95; outline:2px solid var(--accent); outline-offset:1px; }
:is(.field-clear-wrap > input,.has-field-clear):not(:placeholder-shown) { padding-right:34px; }
/* Tarayıcının kendi "search" temizleme çarpısı çift görünmesin. */
:is(.field-clear-wrap > input,.has-field-clear)[type=search]::-webkit-search-cancel-button { display:none; }

/* ── assets/styles/watchlist-refined.css ── */
/* Focused tracking surface. Shared app and order-detail styles stay independent. */
#watchlistPageApp{--watch-ink:#243249;--watch-muted:#718096;--watch-line:#e6ebf1;--watch-paper:#fff;--watch-soft:#f7f9fc}

#watchlistPageApp .watchlist-command{box-shadow:none;border-color:var(--watch-line);background:var(--watch-paper)}
#watchlistPageApp .watchlist-board-groups{box-shadow:none;background:transparent}
#watchlistPageApp .watchlist-order-grid{gap:22px 18px}
#watchlistPageApp .watch-order-card{border:1px solid var(--watch-line);border-radius:18px;background:var(--watch-paper);box-shadow:0 5px 18px rgba(28,44,68,.045);color:var(--watch-ink);opacity:1}
#watchlistPageApp .watch-order-card:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--board-color) 32%,var(--watch-line));box-shadow:0 12px 28px rgba(28,44,68,.09)}
#watchlistPageApp .watch-order-card.is-selected{box-shadow:0 0 0 2px var(--board-color)}
/* Kart rengi (2026-10-17): kalın üst kenar, renkli başlık zemini, nokta ve
   çentik KALKTI. Renk Kart ayarları > Kart görünümü'ndeki üç işaretten biriyle
   görünür (aşağıda "Kart rengi işaretleri"). Başlık kâğıtla aynı zemindedir. */
#watchlistPageApp .watch-order-card-head{min-height:46px;padding:8px 16px 0;background:transparent;border:0;border-radius:16px 16px 0 0}
#watchlistPageApp .watch-order-board-tag{display:inline-flex;align-items:center;gap:6px;padding:3px 9px;border-radius:999px;background:color-mix(in srgb,var(--board-color) 14%,var(--watch-paper));color:color-mix(in srgb,var(--board-color) 70%,var(--watch-ink));font-size:11px;font-weight:650}
#watchlistPageApp .watch-order-board-tag::before{content:"";width:7px;height:7px;flex:0 0 7px;border-radius:50%;background:var(--board-color)}
#watchlistPageApp .watch-order-card.is-workflow-complete .watch-order-board-tag{--board-color:var(--success)}
#watchlistPageApp .watch-order-card-more{width:30px;height:30px;border:1px solid var(--watch-line);border-radius:9px;background:var(--watch-soft);color:var(--watch-muted)}
#watchlistPageApp .watch-order-drag-handle{color:var(--watch-muted)}
#watchlistPageApp .watch-order-customer{min-height:82px;padding:10px 18px 16px;background:transparent;border:0}
#watchlistPageApp .watch-order-customer>div,#watchlistPageApp .watch-order-customer>div.has-reference{grid-template-columns:1fr;grid-template-areas:"name" "order" "reference";gap:7px}
#watchlistPageApp .watch-order-customer strong{font-size:20px;font-weight:760;line-height:1.2;letter-spacing:-.5px;color:var(--watch-ink);white-space:normal;overflow-wrap:anywhere}
#watchlistPageApp .watch-order-customer b{font-size:12px;font-weight:600;letter-spacing:.02em;color:var(--watch-muted)}
#watchlistPageApp .watch-order-customer span{font-size:11px;color:var(--watch-muted)}
#watchlistPageApp .watch-order-customer>svg{width:17px;color:var(--watch-muted)}
#watchlistPageApp .watch-order-at-glance{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;margin:0 18px 18px;font-size:11px}
#watchlistPageApp .watch-current-stage{display:inline-flex;align-items:center;gap:7px;font-weight:700;color:color-mix(in srgb,var(--stage-color) 65%,var(--watch-ink));background:color-mix(in srgb,var(--stage-color) 8%,var(--watch-paper));padding:6px 9px;border-radius:7px}
#watchlistPageApp .watch-current-stage i{height:6px;width:6px;border-radius:50%;background:currentColor}
#watchlistPageApp .watch-due{color:var(--watch-muted);font-weight:600;font-variant-numeric:tabular-nums}
#watchlistPageApp .watch-due-list{display:inline-flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:5px}
#watchlistPageApp .watch-due-list .watch-due{display:inline-flex;align-items:center;gap:4px;padding:5px 7px;border:1px solid var(--watch-line);border-radius:7px;background:var(--watch-soft);white-space:nowrap}
#watchlistPageApp .watch-due-list .watch-due[data-shell-tip]{cursor:help;border-color:color-mix(in srgb,var(--accent) 34%,var(--watch-line))}
#watchlistPageApp .watch-due-list small{color:var(--watch-muted);font-size:10px}
#watchlistPageApp .watch-due.is-danger{color:#c34743}
#watchlistPageApp .watch-due.is-warning{color:#a56816}
#watchlistPageApp .watch-materials{margin:0 18px;border-top:1px solid var(--watch-line)}
#watchlistPageApp .watch-materials>header{display:flex;justify-content:space-between;align-items:center;padding:13px 0 3px;font-size:10px;color:var(--watch-muted)}
#watchlistPageApp .watch-materials>header>span{font-weight:700;letter-spacing:.08em;text-transform:uppercase}
#watchlistPageApp .watch-materials>header>b{font-size:10px;font-weight:500}
#watchlistPageApp .watch-material-list{display:grid}
#watchlistPageApp .watch-material{display:grid;grid-template-columns:20px minmax(0,1fr) auto;align-items:start;gap:9px;padding:12px 0;border-bottom:1px solid var(--watch-line)}
#watchlistPageApp .watch-material:last-child{border-bottom:0}
#watchlistPageApp .watch-material-index{padding-top:2px;font-size:10px;color:var(--watch-muted);font-variant-numeric:tabular-nums;opacity:.7}
#watchlistPageApp .watch-material-info{min-width:0}
#watchlistPageApp .watch-material-info>strong{display:block;font-size:12px;line-height:1.5;font-weight:650;overflow-wrap:anywhere;color:var(--watch-ink)}
#watchlistPageApp .watch-material-colors{display:flex;flex-wrap:wrap;gap:4px;margin-top:5px}
#watchlistPageApp .watch-material-colors>span{max-width:100%;padding:2px 6px;border-radius:4px;background:var(--watch-soft);color:var(--watch-muted);font-size:10px;line-height:1.5;overflow-wrap:anywhere}

#watchlistPageApp .watch-material-colors>.is-unspecified{padding:0;background:transparent}
#watchlistPageApp .watch-material-quantity{padding-top:2px;font-size:12px;font-weight:700;white-space:nowrap;font-variant-numeric:tabular-nums}
#watchlistPageApp .watch-material-quantity small{font-size:10px;font-weight:500;color:var(--watch-muted)}
#watchlistPageApp .watch-material-empty{font-size:12px;color:var(--watch-muted);padding:8px 0}

/* Bursa ana siparişi görünümde sabit kalır; kumaş alt kodları ve Egemen
   eşleşmeleri aynı kartta, tıklanabilir ama sakin bir katman oluşturur. */
#watchlistPageApp .watch-order-customer.is-bursa-parent>div{grid-template-columns:auto minmax(0,1fr);grid-template-areas:"order name" "reference reference";align-items:baseline;column-gap:10px}
#watchlistPageApp .watch-order-customer.is-bursa-parent b{font-size:14px;color:var(--watch-muted);white-space:nowrap}
#watchlistPageApp .watch-order-customer.is-bursa-parent strong{font-size:20px}
#watchlistPageApp .watch-bursa-matches{display:flex;align-items:center;gap:6px;min-height:38px;margin:0 18px;padding:7px 0;border-top:1px solid var(--watch-line);border-bottom:1px solid var(--watch-line);overflow-x:auto}
#watchlistPageApp .watch-bursa-matches>span{margin-right:auto;color:var(--watch-muted);font-size:9px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}

#watchlistPageApp .watch-bursa-matches>button,#watchlistPageApp .watch-bursa-material-side>button{display:inline-flex;align-items:center;gap:4px;padding:4px 7px;border:1px solid color-mix(in srgb,var(--accent) 26%,var(--watch-line));border-radius:7px;background:color-mix(in srgb,var(--accent) 6%,transparent);color:var(--accent);font:inherit;font-size:10px;font-weight:650;white-space:nowrap;cursor:pointer}
#watchlistPageApp .watch-bursa-matches svg,#watchlistPageApp .watch-bursa-material-side svg{width:11px;height:11px;stroke-width:1.8}
#watchlistPageApp .watch-bursa-materials .watch-material{grid-template-columns:66px minmax(0,1fr) auto}
#watchlistPageApp .watch-bursa-materials .watch-material-index{font-weight:650;white-space:nowrap}
#watchlistPageApp .watch-bursa-material-side{display:flex;flex-direction:column;align-items:flex-end;gap:5px}
#watchlistPageApp .watch-bursa-material-side>button span{color:var(--watch-muted);font-size:8px;font-weight:500}
#watchlistPageApp .watch-bursa-waiting{color:var(--watch-muted);font-size:9px;white-space:nowrap}
@media(max-width:560px){#watchlistPageApp .watch-bursa-matches{margin-inline:14px}#watchlistPageApp .watch-bursa-materials .watch-material{grid-template-columns:62px minmax(0,1fr)}#watchlistPageApp .watch-bursa-material-side{grid-column:2;align-items:flex-start}}
#watchlistPageApp .watch-order-flow{margin-top:6px;border:0;border-top:1px solid var(--watch-line);background:transparent}
#watchlistPageApp .watch-order-flow-rail{padding:18px 18px 13px}
#watchlistPageApp .watch-order-flow-step>i{width:10px;height:10px;border-width:2px;box-shadow:none}
#watchlistPageApp .watch-order-flow-step.is-current>i{box-shadow:0 0 0 4px color-mix(in srgb,var(--stage-color) 12%,transparent)}
#watchlistPageApp .watch-order-flow-step small{margin-top:8px;font-size:9px;letter-spacing:0;font-weight:600}
#watchlistPageApp .watch-order-flow-step.is-pending{color:var(--watch-muted)}
#watchlistPageApp .watch-order-flow-step.is-done{color:color-mix(in srgb,var(--stage-color) 60%,var(--watch-ink))}
#watchlistPageApp .watch-order-flow-step.is-done>i{background:var(--stage-color);border-color:var(--stage-color)}
#watchlistPageApp .watch-order-flow-rail>b{height:2px;margin-top:4px;background:var(--watch-line)}
#watchlistPageApp .watch-order-flow-step.is-done+b{background:color-mix(in srgb,var(--stage-color) 40%,var(--watch-line))}
#watchlistPageApp .watch-order-flow-toggle{height:31px;border:0;color:var(--watch-muted);font-size:10px;font-weight:500;letter-spacing:0}
#watchlistPageApp .watch-order-flow:hover .watch-order-flow-toggle{color:var(--accent)}
#watchlistPageApp .watch-note-chat{--watch-note-text-sm:10px;--watch-note-text-md:12px;border:0;border-top:1px solid var(--watch-line);border-radius:0 0 17px 17px;background:var(--watch-soft);overflow:hidden}
#watchlistPageApp .watch-note-chat-head{position:relative;gap:8px;padding:13px 16px 17px;background:transparent;border:0}
#watchlistPageApp .watch-note-chat-head b{font-weight:650;color:var(--watch-ink)}
#watchlistPageApp .watch-note-chat-head small{font-size:9px;font-weight:450;color:var(--watch-muted)}
#watchlistPageApp .watch-note-chat-title svg{width:16px;height:16px;color:var(--watch-muted)}
#watchlistPageApp .watch-note-mode{padding:2px;border:1px solid var(--watch-line);border-radius:8px;background:transparent;box-shadow:none}
#watchlistPageApp .watch-note-mode button{height:26px;padding:0 8px;border-radius:6px;font-size:10px;font-weight:600}
#watchlistPageApp .watch-note-mode button.active{box-shadow:0 1px 4px rgba(28,44,68,.07)}
#watchlistPageApp .watch-note-chat-chevron{bottom:0;background:transparent;color:var(--watch-muted);height:16px}
#watchlistPageApp .watch-note-add{width:28px;height:28px;border-color:var(--watch-line);color:var(--watch-muted)}
#watchlistPageApp .watch-note-add:hover,#watchlistPageApp .watch-note-chat.is-composing .watch-note-add{border-color:color-mix(in srgb,var(--accent) 40%,var(--watch-line));color:var(--accent)}
#watchlistPageApp .watch-note-chat-body{height:130px;background:transparent}
#watchlistPageApp .watch-note-chat.is-expanded .watch-note-chat-body{height:280px}
#watchlistPageApp .watch-note-chat.is-collapsible.is-composing .watch-note-chat-body{height:auto}
#watchlistPageApp .watch-note-chat.is-collapsible.is-composing .watch-note-thread{max-height:96px}
/* Uzatılmış akışta + basınca liste KISALMAZ: akış uzun boyunu korur, yazma
   alanı altına eklenir ve kart uzar (kullanıcı isteği 2026-09-26). */
#watchlistPageApp .watch-note-chat.is-collapsible.is-composing.is-expanded .watch-note-thread{height:280px;max-height:none}
#watchlistPageApp .watch-note-chat.is-collapsible.is-composing .watch-note-composer textarea{resize:none}
#watchlistPageApp .watch-note-thread{padding:8px 16px;gap:6px;background:transparent}
#watchlistPageApp .watch-note-empty{min-height:0;flex:1;align-content:center;gap:3px}
#watchlistPageApp .watch-note-empty span{font-size:11px;font-weight:500}
#watchlistPageApp .watch-note-empty small{font-size:10px;font-weight:400}
#watchlistPageApp .watch-note-entry{padding:8px 8px 9px 11px}
#watchlistPageApp .watch-note-entry p{font-weight:450;line-height:1.6}
#watchlistPageApp .watch-note-entry-head{gap:6px;margin-bottom:4px}

#watchlistPageApp .watch-note-compose-row{grid-template-columns:auto minmax(0,1fr) auto 34px;gap:6px}
#watchlistPageApp .watch-note-composer{grid-template-columns:minmax(0,1fr) 34px;gap:7px;padding:8px 14px 14px;border:0;background:transparent}
#watchlistPageApp .watch-note-composer textarea{height:36px;min-height:36px;resize:vertical;padding:8px 10px;border:1px solid var(--watch-line);border-radius:9px;font-size:11px;font-weight:400;box-shadow:none;background:var(--watch-paper)}
#watchlistPageApp .watch-note-compose-row .watch-note-send{height:34px;width:34px;border-radius:9px;box-shadow:none}
#watchlistPageApp .watch-note-compose-row .watch-note-send svg{width:17px;height:17px}
#watchlistPageApp button:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
html[data-theme=dark] #watchlistPageApp{--watch-ink:#e2e8f1;--watch-muted:#99a8bc;--watch-line:#313d4c;--watch-paper:#1e2733;--watch-soft:#242e3c}
html[data-theme=dark] #watchlistPageApp .watch-order-card,html[data-theme=dark] #watchlistPageApp .watch-note-composer textarea{border-color:var(--watch-line)!important}
html[data-theme=dark] #watchlistPageApp .watch-due.is-danger{color:#f79591}
html[data-theme=dark] #watchlistPageApp .watch-due.is-warning{color:#eabe7e}
@media(max-width:760px){#watchlistPageApp .watch-order-card-head{min-height:50px}#watchlistPageApp .watch-order-card-more{width:36px;height:36px}#watchlistPageApp .watch-note-mode button{height:32px}#watchlistPageApp .watch-note-compose-row{grid-template-columns:auto minmax(0,1fr) auto 40px}#watchlistPageApp .watch-note-compose-row .watch-note-send{width:40px;height:40px}#watchlistPageApp .watch-note-composer textarea{font-size:16px;min-height:40px}#watchlistPageApp .watch-note-chat-body{height:140px}#watchlistPageApp .watch-note-chat.is-expanded .watch-note-chat-body{height:280px}}
@media(prefers-reduced-motion:reduce){#watchlistPageApp .watch-order-card,#watchlistPageApp .watch-note-chat-body{transition:none;animation:none}#watchlistPageApp .watch-order-card:hover{transform:none}}

/* ── Çok amaçlı araç düğmesi + ince arama/filtre çubuğu ──
   Çubuk varsayılan gizlidir; hero'daki düğme açar, aktif filtre sayısını gösterir. */

#watchlistPageApp .watchlist-command-toggle.is-open{
  border-color:color-mix(in srgb,var(--accent) 42%,var(--watch-line));
  background:color-mix(in srgb,var(--accent) 9%,var(--watch-paper));
  color:var(--accent);
}
#watchlistPageApp .watchlist-command-toggle.is-open svg{color:var(--accent)}

/* Seç → Paylaş: kart seçilince aynı düğme birincil eyleme dönüşür. */
#watchlistPageApp .watchlist-share-selected{
  border-color:var(--accent);
  background:var(--accent);
  color:#fff;
}
#watchlistPageApp .watchlist-share-selected svg{color:#fff}
#watchlistPageApp .watchlist-share-selected:hover{background:color-mix(in srgb,var(--accent) 88%,#000)}
#watchlistPageApp .watchlist-share-selected>b{background:rgba(255,255,255,.22);color:#fff}
#watchlistPageApp .wl-pick-temp-note,.watchlist-picker .wl-pick-temp-note{
  margin:0;padding:10px 12px;border-radius:11px;
  background:color-mix(in srgb,#ff9f0a 10%,transparent);
  color:var(--muted);font:500 11px var(--font);line-height:1.5;
}
.watchlist-picker .wl-pick-temp-note b{color:var(--text);font-weight:700}
/* 24 saatlik paylaşım panosu: sekmede ve Ortak Takip kartında geri sayım. */
#watchlistPageApp .watchlist-board-filter>em.is-temp,
#watchlistPageApp .watchlist-live-temp{
  padding:2px 7px;border-radius:999px;
  background:color-mix(in srgb,#ff9f0a 16%,transparent);
  color:#ff9f0a;font:750 9px var(--font);letter-spacing:.04em;font-style:normal;white-space:nowrap;
}
#watchlistPageApp .watchlist-live-temp{margin-left:auto}
#watchlistPageApp .watchlist-grid-empty{min-height:max(480px,calc(100dvh - 190px))}
@media(max-width:760px){#watchlistPageApp .watchlist-grid-empty{min-height:max(420px,calc(100dvh - 250px))}}

/* Yazdır düğmesi araç düğmesiyle aynı kalıbı kullanır; rozeti kaç siparişin
   basılacağını söyler, filtre sayacıyla karışmasın diye sessiz renktedir. */

#watchlistPageApp .watchlist-command.is-slim{
  gap:10px;padding:8px;border-radius:16px;
  animation:watchlistCommandReveal .18s cubic-bezier(.2,.78,.25,1) both;
}
@keyframes watchlistCommandReveal{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:none}}
#watchlistPageApp .watchlist-command.is-slim>label{min-width:200px;gap:8px;padding:0 11px;border-radius:11px;background:var(--watch-soft);border-color:transparent}
#watchlistPageApp .watchlist-command.is-slim>label svg{width:15px;height:15px}
#watchlistPageApp .watchlist-command.is-slim input{height:36px;border:0;background:transparent;font-size:13px;font-weight:550}
#watchlistPageApp .watchlist-command.is-slim>div{gap:6px}
#watchlistPageApp .watchlist-command.is-slim :is(select,button){
  height:36px;border-radius:11px;border-color:var(--watch-line);
  color:var(--watch-ink);font:650 12px inherit;white-space:nowrap;
}
#watchlistPageApp .watchlist-command.is-slim button{padding:0 13px}
#watchlistPageApp .watchlist-command.is-slim select{flex:0 0 158px;width:158px;min-width:0;padding:0 30px 0 12px}
#watchlistPageApp .watchlist-command.is-slim button{flex:0 0 auto}
#watchlistPageApp .watchlist-command.is-slim :is(select,button):hover{background:var(--watch-soft)}
#watchlistPageApp .watchlist-command.is-slim button span{font-size:14px}

/* Toplu seçim: tek eylem — panoya gönder */
#watchlistPageApp .watchlist-bulk-move .is-send{
  border-color:var(--board-color);background:var(--board-color);color:#fff;font-weight:750;white-space:nowrap;
}
#watchlistPageApp .watchlist-bulk-move .is-send:hover{filter:brightness(1.05)}
#watchlistPageApp .watchlist-bulk-move :is(.is-all,select){white-space:nowrap}
#watchlistPageApp .watchlist-bulk-move .is-send:disabled{opacity:.45;cursor:not-allowed;filter:none}

/* Dar ekranda temel katman çubuğu sütuna/ızgaraya çeviriyor; sabit select
   genişliği orada taşmaya yol açmasın. */
@media(max-width:900px){
  #watchlistPageApp .watchlist-command.is-slim select{flex:1 1 auto;width:auto;min-width:0}
  #watchlistPageApp .watchlist-command.is-slim button{flex:1 1 auto;justify-content:center}
}
@media(max-width:760px){

  #watchlistPageApp .watchlist-command.is-slim>label{min-width:0}
  #watchlistPageApp .watchlist-command.is-slim :is(select,button){height:40px}
}

/* Pano seçme penceresi: tek sütun, açıklamasız satırlar; yeni pano tek satırda. */
.watchlist-picker { width:min(430px,calc(100vw - 30px)); border-radius:20px; border-color:var(--border); }
.watchlist-picker > header { align-items:flex-start; padding:20px 20px 14px; }
.watchlist-picker > header > span { gap:2px; }
.watchlist-picker > header strong { font-size:16px; font-weight:600; letter-spacing:-.01em; }
.watchlist-picker > header small { color:var(--muted); font-size:11px; font-weight:500; letter-spacing:0; }
.watchlist-picker > header small:empty { display:none; }
.watchlist-picker > header button { display:grid; place-items:center; width:30px; height:30px; border-radius:9px; background:transparent; font-size:0; }
.watchlist-picker > header button svg { width:15px; height:15px; stroke-width:1.8; }
.watchlist-picker > header button:hover { background:var(--surface); color:var(--text); }
#watchlistPickerBody { padding:14px 20px 20px; }

.wl-pick-boards { display:grid; gap:4px; }
.wl-pick-board { --board-color:var(--accent); display:grid; grid-template-columns:8px minmax(0,1fr) auto 16px; align-items:center; gap:12px; width:100%; padding:12px 12px 12px 14px; border:1px solid transparent; border-radius:12px; background:transparent; color:inherit; font:inherit; text-align:left; cursor:pointer; transition:background .14s, border-color .14s; }
.wl-pick-board:hover, .wl-pick-board:focus-visible { border-color:color-mix(in srgb,var(--board-color) 30%,var(--border)); background:color-mix(in srgb,var(--board-color) 6%,transparent); outline:none; }
.wl-pick-board i { width:8px; height:8px; border-radius:50%; background:var(--board-color); }
.wl-pick-board strong { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:14px; font-weight:550; }
.wl-pick-board > span { color:var(--muted); font-size:11px; font-variant-numeric:tabular-nums; white-space:nowrap; }
.wl-pick-board svg { width:15px; height:15px; color:var(--muted); stroke-width:1.8; opacity:.5; transition:opacity .14s, transform .14s; }
.wl-pick-board:hover svg { opacity:1; transform:translateX(2px); }
/* "Takibe al" (2026-10-11): versal etiket, renk çubuğu, "Ekli" durumu,
   kapalı duran "+ Yeni pano" satırı. */
.wl-pick-label { margin:0 0 6px 2px; color:var(--muted); font-size:9.5px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.wl-pick-boards { max-height:min(320px, 46vh); overflow:auto; }
.wl-pick-board { grid-template-columns:3px minmax(0,1fr) auto 16px; min-height:46px; padding:10px 12px; border-color:color-mix(in srgb, var(--border) 70%, transparent); background:color-mix(in srgb, var(--surface) 55%, transparent); }
.wl-pick-board i { width:3px; height:20px; border-radius:3px; }
.wl-pick-board.is-in { background:color-mix(in srgb, var(--board-color) 8%, transparent); border-color:color-mix(in srgb, var(--board-color) 28%, var(--border)); }
.wl-pick-board > em { display:inline-flex; align-items:center; gap:4px; color:var(--board-color); font-size:11px; font-style:normal; font-weight:650; white-space:nowrap; }
.wl-pick-board > em svg { width:13px; height:13px; opacity:1; stroke-width:2.2; color:inherit; transform:none; }
.wl-pick-new-toggle { display:flex; align-items:center; gap:10px; width:100%; margin-top:10px; padding:10px 12px; border:1px dashed var(--border); border-radius:12px; background:transparent; color:var(--muted); font:600 12.5px inherit; text-align:left; cursor:pointer; transition:color .14s, border-color .14s, background .14s; }
.wl-pick-new-toggle span { display:grid; place-items:center; width:20px; height:20px; border-radius:6px; background:var(--surface); font-size:14px; line-height:1; }
.wl-pick-new-toggle:hover, .wl-pick-new-toggle:focus-visible { color:var(--accent); border-color:color-mix(in srgb, var(--accent) 45%, var(--border)); background:var(--accent-soft); outline:none; }

.wl-pick-new.has-boards { margin-top:14px; padding-top:14px; border-top:1px solid var(--border); }
.wl-pick-new-row { display:flex; align-items:center; gap:8px; }
.wl-pick-dot { width:10px; height:10px; flex:0 0 10px; border-radius:50%; background:var(--swatch); }
.wl-pick-new-row input { min-width:0; flex:1; height:40px; padding:0 12px; border:1px solid var(--border); border-radius:11px; outline:0; background:var(--surface-solid,#fff); color:var(--text); font:500 13px inherit; }
.wl-pick-new-row input::placeholder { color:var(--muted); font-weight:400; }
.wl-pick-new-row input:focus { border-color:var(--accent); box-shadow:0 0 0 3px var(--accent-soft); }
.wl-pick-create { height:40px; padding:0 15px; border:0; border-radius:11px; background:var(--accent); color:#fff; font:600 12.5px inherit; cursor:pointer; }
.wl-pick-create:hover { filter:brightness(1.06); }
.wl-pick-colors { display:flex; gap:7px; margin:10px 0 0 18px; }
.wl-pick-colors button { width:18px; height:18px; padding:0; border:0; border-radius:50%; background:var(--swatch); opacity:.55; cursor:pointer; transition:opacity .14s, transform .14s, box-shadow .14s; }
.wl-pick-colors button:hover { opacity:.9; }
.wl-pick-colors button.is-active { opacity:1; transform:scale(1.1); box-shadow:0 0 0 2px var(--surface-solid,#fff), 0 0 0 3.5px var(--swatch); }
@media(max-width:620px) { .wl-pick-new-row { flex-wrap:wrap; } .wl-pick-new-row input { flex:1 1 100%; } .wl-pick-create { flex:1; } }
/* Yeni pano adımı aynı pencerede paylaşımı da sorar: ofisler, kişiler, izin ve
   "panoya ekle" tercihi. Kişi listesi kendi içinde kayar; pencere büyümez. */
.wl-pick-share { margin-top:14px; padding-top:13px; border-top:1px solid var(--border); display:grid; gap:9px; }
.wl-pick-share > header { display:flex; align-items:baseline; justify-content:space-between; gap:10px; }
.wl-pick-share > header b { color:var(--muted); font-size:9px; font-weight:800; letter-spacing:.12em; }
.wl-pick-share > header small { color:var(--muted); font-size:10.5px; font-weight:500; }
.wl-pick-offices { display:flex; flex-wrap:wrap; gap:6px; }
.wl-pick-offices button { height:30px; padding:0 11px; border:1px solid var(--border); border-radius:9px; background:var(--surface); color:var(--muted); font:600 11.5px inherit; cursor:pointer; }
.wl-pick-offices button:hover { color:var(--text); }
.wl-pick-offices button.is-active { border-color:var(--accent); background:var(--accent-soft); color:var(--accent); }
.wl-pick-share-search { display:flex; box-sizing:border-box; width:100%; align-items:center; gap:7px; height:34px; padding:0 10px; border:1px solid var(--border); border-radius:10px; background:var(--surface); color:var(--muted); }
.wl-pick-share-search span { flex:0 0 auto; font-size:13px; line-height:1; }
/* Arama kutusunun kendi "hap" zemini kapalı: çerçeve dıştaki etikettedir.
   Seçici, koyu temanın genel input kuralından (html[data-theme] input[type=search])
   daha belirgin olmak zorunda; aksi halde iç içe iki kutu görünüyor. */
.wl-pick-share .wl-pick-share-search input[type="search"] { appearance:none; -webkit-appearance:none; border:0; border-radius:0; background:transparent; box-shadow:none; }
.wl-pick-share-search input::-webkit-search-cancel-button { appearance:none; }
.wl-pick-share-search input { box-sizing:border-box; width:100%; min-width:0; flex:1 1 auto; height:100%; margin:0; padding:0; border:0; outline:0; box-shadow:none; background:none; color:var(--text); font:500 12.5px inherit; }
.wl-pick-people { display:grid; gap:4px; max-height:186px; overflow:auto; }
.wl-pick-people button { display:grid; grid-template-columns:26px minmax(0,1fr) 18px; align-items:center; gap:9px; padding:6px 8px; border:1px solid transparent; border-radius:10px; background:none; color:inherit; text-align:left; cursor:pointer; }
.wl-pick-people button:hover { background:var(--surface); }
.wl-pick-people button.is-active { border-color:color-mix(in srgb,var(--accent) 40%,var(--border)); background:var(--accent-soft); }
.wl-pick-people i { display:grid; place-items:center; width:26px; height:26px; border-radius:50%; background:color-mix(in srgb,var(--profile-color,#0a84ff) 18%,transparent); color:var(--profile-color,#0a84ff); font:700 11px inherit; font-style:normal; }
.wl-pick-people span { min-width:0; display:grid; gap:1px; }
.wl-pick-people strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:12.5px; font-weight:600; }
.wl-pick-people small { color:var(--muted); font-size:10.5px; }
.wl-pick-people em { color:var(--muted); font-size:13px; font-style:normal; text-align:center; }
.wl-pick-people button.is-active em { color:var(--accent); }
.wl-pick-share-empty { margin:0; padding:10px 2px; color:var(--muted); font-size:11.5px; }
.wl-pick-permission { display:flex; gap:6px; }
.wl-pick-permission button { flex:1; height:32px; border:1px solid var(--border); border-radius:9px; background:var(--surface); color:var(--muted); font:600 11.5px inherit; cursor:pointer; }
.wl-pick-permission button.is-active { border-color:var(--accent); background:var(--accent-soft); color:var(--accent); }
.wl-pick-pin { display:grid; grid-template-columns:16px minmax(0,1fr); align-items:start; gap:9px; padding:10px; border:1px solid var(--border); border-radius:11px; background:var(--surface); cursor:pointer; }
.wl-pick-pin input { width:16px; height:16px; margin:1px 0 0; accent-color:var(--accent); }
.wl-pick-pin span { display:grid; gap:2px; }
.wl-pick-pin b { font-size:12.5px; font-weight:600; text-transform:none; letter-spacing:0; color:var(--text); }
.wl-pick-pin small { color:var(--muted); font-size:10.5px; font-weight:400; line-height:1.45; text-transform:none; letter-spacing:0; }
.wl-pick-share > header small { text-transform:none; letter-spacing:0; }
.wl-pick-people small { text-transform:none; letter-spacing:0; font-weight:400; }

/* Ortak Takip: kişi bazlı listelerin giriş yüzeyi. Kart seçimi mevcut ayrıntılı
   sipariş kartlarına geçer; burada ofis-geneli havuz gösterilmez. */
#watchlistPageApp .watchlist-live-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:18px}
/* Kart + ••• menüsü aynı ızgara gözünde durur: menü kartın dışındadır
   (iç içe düğme olmaz), sağ üst köşeye oturur. */
#watchlistPageApp .watchlist-live-card-wrap{position:relative;display:grid;min-width:0}
#watchlistPageApp .watchlist-live-card-wrap>.watchlist-live-card{height:100%}
#watchlistPageApp .watchlist-live-card-menu{position:absolute;z-index:3;top:11px;right:11px}
#watchlistPageApp .watchlist-live-card-head strong{padding-right:34px}
#watchlistPageApp .watchlist-live-card,#watchlistPageApp .watchlist-live-create{position:relative;min-height:214px;padding:16px;border:1px solid var(--watch-line);border-radius:16px;background:var(--watch-paper);color:var(--watch-ink);text-align:left;font:inherit;overflow:hidden;cursor:pointer;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}
#watchlistPageApp .watchlist-live-card{display:grid;grid-template-columns:auto 1fr auto;grid-template-rows:auto auto 1fr;align-items:start;column-gap:9px}
#watchlistPageApp .watchlist-live-card::before{content:"";position:absolute;inset:0 0 auto;height:2px;background:var(--board-color)}
#watchlistPageApp .watchlist-live-card:hover,#watchlistPageApp .watchlist-live-card:focus-visible{transform:translateY(-2px);border-color:color-mix(in srgb,var(--board-color) 55%,var(--watch-line));box-shadow:0 12px 26px rgba(7,15,27,.12);outline:none}
/* Davet kartı: henüz panolarına eklenmemiş paylaşım. Kesik çerçeveyle ayrılır,
   tek tıkla ("Panolarıma ekle") listeye katılır. */
#watchlistPageApp .watchlist-live-card.is-invite{border-style:dashed;background:color-mix(in srgb,var(--board-color) 4%,var(--watch-paper))}
#watchlistPageApp .watchlist-live-invite{grid-column:1/-1;align-self:end;display:grid;gap:3px;padding-top:8px;border-top:1px solid var(--watch-line)}
#watchlistPageApp .watchlist-live-invite b{color:var(--watch-muted);font-size:11px;font-weight:600}
#watchlistPageApp .watchlist-live-invite em{color:color-mix(in srgb,var(--board-color) 78%,var(--watch-ink));font-size:11.5px;font-style:normal;font-weight:750}
#watchlistPageApp .watchlist-live-card-head{display:contents}
#watchlistPageApp .watchlist-live-card-head>i{width:9px;height:9px;margin-top:5px;border-radius:50%;background:var(--board-color);box-shadow:0 0 0 4px color-mix(in srgb,var(--board-color) 14%,transparent)}
#watchlistPageApp .watchlist-live-card-head strong{font-size:14px;font-weight:720;line-height:1.35;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

#watchlistPageApp .watchlist-live-people{grid-column:1/-1;display:flex;margin:16px 0 11px;padding-left:1px}
#watchlistPageApp .watchlist-live-avatar{width:27px;height:27px;display:grid;place-items:center;margin-right:-6px;border:2px solid var(--watch-paper);border-radius:50%;background:#264979;color:#dbeafe;font-size:10px;font-style:normal;font-weight:800}
#watchlistPageApp .watchlist-live-avatar.is-1{background:#57358a;color:#eadcff}#watchlistPageApp .watchlist-live-avatar.is-2{background:#176249;color:#d2fae7}#watchlistPageApp .watchlist-live-avatar.is-3{background:#85572a;color:#ffe5bf}#watchlistPageApp .watchlist-live-avatar.is-4{background:#3d4f66;color:#dbe9f6}
#watchlistPageApp .watchlist-live-count{position:absolute;right:16px;top:58px;color:var(--watch-muted);font-size:11px;font-weight:650}
#watchlistPageApp .watchlist-live-orders{grid-column:1/-1;align-self:end;width:100%;margin:0;padding:8px 0 0;border-top:1px solid var(--watch-line);list-style:none}
#watchlistPageApp .watchlist-live-orders li{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 0;color:var(--watch-muted);font-size:11px}
#watchlistPageApp .watchlist-live-orders li+li{border-top:1px solid color-mix(in srgb,var(--watch-line) 70%,transparent)}
#watchlistPageApp .watchlist-live-orders li span{display:flex;align-items:center;gap:6px;font-variant-numeric:tabular-nums}#watchlistPageApp .watchlist-live-orders li span i{width:6px;height:6px;border-radius:50%}
#watchlistPageApp .watchlist-live-orders li b{color:var(--watch-muted);font-size:10px;font-weight:600}
#watchlistPageApp .watchlist-live-empty{grid-column:1/-1;align-self:end;color:var(--watch-muted);font-size:11px}
#watchlistPageApp .watchlist-live-create{display:grid;place-items:center;align-content:center;gap:8px;border-style:dashed;color:var(--accent);background:color-mix(in srgb,var(--accent) 3%,var(--watch-paper))}
#watchlistPageApp .watchlist-live-create:hover,#watchlistPageApp .watchlist-live-create:focus-visible{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,var(--watch-paper));outline:none}
#watchlistPageApp .watchlist-live-create span{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;background:color-mix(in srgb,var(--accent) 15%,transparent);font-size:22px;font-weight:350}
#watchlistPageApp .watchlist-live-create b{font-size:13px;font-weight:700}
@media(max-width:1050px){#watchlistPageApp .watchlist-live-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){#watchlistPageApp .watchlist-live-grid{grid-template-columns:1fr;gap:10px}#watchlistPageApp .watchlist-live-card,#watchlistPageApp .watchlist-live-create{min-height:188px}}

/* ─── Pano kurulumunun iki yüzü (2026-09-17) ───
   "Yeni pano": ad/renk üstte, paylaşım altta KAPALI (tek satırlık özet).
   "Yeni ortak takip": paylaşım üstte AÇIK, ad/renk altta. */
.wl-pick-share-toggle {
  display:flex; align-items:center; gap:10px; width:100%; padding:9px 11px;
  border:1px solid var(--border); border-radius:11px; background:var(--surface);
  color:var(--text); font:inherit; text-align:left; cursor:pointer;
}
.wl-pick-share-toggle:hover { border-color:color-mix(in srgb,var(--accent) 45%,var(--border)); background:var(--accent-soft); }
.wl-pick-share-toggle b { color:var(--muted); font-size:9px; font-weight:800; letter-spacing:.12em; }
.wl-pick-share-toggle small { flex:1; min-width:0; overflow:hidden; color:var(--muted); font-size:11px; font-weight:500; text-overflow:ellipsis; white-space:nowrap; }
.wl-pick-share-toggle svg { width:16px; height:16px; flex:0 0 auto; color:var(--muted); transition:transform .18s ease; }
.wl-pick-share-toggle[aria-expanded="true"] svg { transform:rotate(180deg); }
.wl-pick-share.is-collapsed { gap:0; }
/* Paylaşım üstteyken ayırıcı çizgi ad/renk bloğunun üstünde durmalı. */
.wl-pick-share.is-share-first { margin-top:0; padding-top:0; border-top:0; }
.wl-pick-new.is-share-first .wl-pick-new-row { margin-top:14px; padding-top:13px; border-top:1px solid var(--border); }

/* Aşama ilerlemesi (2026-09-24): "Örme %90" "Boya %50" — başlamamış aşama çizilmez. */
#watchlistPageApp .watch-stage-progress{display:inline-flex;align-items:center;flex-wrap:wrap;gap:6px}
#watchlistPageApp .watch-current-stage.is-orme{--stage-color:var(--accent)}
#watchlistPageApp .watch-current-stage.is-boya{--stage-color:var(--success)}
#watchlistPageApp .watch-current-stage{font-variant-numeric:tabular-nums}

/* Üretim özeti: Aşama · Çıkan · Gelen · Durum */
#watchlistPageApp .watch-order-ledger.is-in-out>div{grid-template-columns:minmax(0,1fr) minmax(64px,auto) minmax(64px,auto) 92px;gap:10px}
#watchlistPageApp .watch-order-ledger.is-in-out>div:first-child{font-size:var(--type-caption);font-weight:650;letter-spacing:0}
#watchlistPageApp .watch-order-ledger.is-in-out>div>:nth-child(2),#watchlistPageApp .watch-order-ledger.is-in-out>div>:nth-child(3),#watchlistPageApp .watch-order-ledger.is-in-out>div>:nth-child(4){text-align:right}
#watchlistPageApp .watch-order-ledger.is-in-out strong{font-size:var(--type-control)}
#watchlistPageApp .watch-order-ledger.is-in-out b{font-size:var(--type-control);font-weight:650}
#watchlistPageApp .watch-order-ledger.is-in-out b.is-quiet{color:var(--watch-muted);font-weight:500}
#watchlistPageApp .watch-order-ledger.is-in-out em{font-size:var(--type-caption);font-weight:600}
#watchlistPageApp .watch-order-ledger.is-in-out em.is-positive{color:var(--success)}
#watchlistPageApp .watch-order-ledger.is-in-out em.is-warning{color:var(--warning)}
#watchlistPageApp .watch-ledger-source{margin:6px 18px 0;color:var(--watch-muted);font-size:var(--type-caption)}
/* Canlı durum satırı (2026-10-17, TASARIM-DILI §3.13c): üretim özetinin altı —
   son hareket (çıkış mavi ↑, giriş yeşil ↓) + şu an hangi fasoncuda + Haritada. */
#watchlistPageApp .watch-live{display:grid;gap:8px;margin:12px 18px 14px;padding:10px 12px;border:1px solid var(--watch-line);border-radius:10px;background:var(--watch-soft)}
#watchlistPageApp .watch-live-line{display:flex;align-items:flex-start;gap:7px;margin:0;color:var(--watch-ink);font-size:var(--type-control);font-weight:500;line-height:1.35}
#watchlistPageApp .watch-live-line svg{width:15px;height:15px;flex:0 0 auto;margin-top:1px;stroke-width:2.2;color:var(--live-tone,var(--watch-muted))}
#watchlistPageApp .watch-live.is-out{--live-tone:var(--accent)}
#watchlistPageApp .watch-live.is-in{--live-tone:var(--success)}
#watchlistPageApp .watch-live-line b{font-weight:650;color:var(--live-tone,var(--watch-ink))}
#watchlistPageApp .watch-live small{color:var(--watch-muted);font-size:var(--type-caption);font-weight:500}
#watchlistPageApp .watch-live.is-empty .watch-live-line{color:var(--watch-muted)}
#watchlistPageApp .watch-live-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0}
#watchlistPageApp .watch-live-at{min-width:0;overflow:hidden;color:var(--watch-ink);font-size:var(--type-caption);font-weight:500;text-overflow:ellipsis;white-space:nowrap;font-variant-numeric:tabular-nums}
#watchlistPageApp .watch-live-at small{margin-right:5px;text-transform:uppercase;letter-spacing:.04em}
#watchlistPageApp .watch-live-at b{font-weight:650}
#watchlistPageApp .watch-live-at.is-quiet{color:var(--watch-muted)}
#watchlistPageApp .watch-live-map{flex:0 0 auto;display:inline-flex;align-items:center;gap:5px;height:28px;padding:0 10px;border:1px solid var(--watch-line);border-radius:999px;background:var(--watch-paper);color:var(--watch-ink);font:600 var(--type-caption)/1 var(--font);cursor:pointer}
#watchlistPageApp .watch-live-map:hover{border-color:color-mix(in srgb,var(--accent) 45%,var(--watch-line));color:var(--accent)}
#watchlistPageApp .watch-live-map:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
#watchlistPageApp .watch-live-map svg{width:14px;height:14px;stroke-width:2}
#watchlistPageApp .watch-order-at-glance>.watch-due-list,#watchlistPageApp .watch-order-at-glance>.watch-due{margin-left:auto}

/* ── Kart ayarları menüsü (2026-09-25) ──
   Eski menüde yazılar `font:… inherit` kısayoluyla verilmişti; `inherit`
   kısayolda geçersiz olduğu için bütün tanım düşüyor, metin 16px varsayılana
   dönüyordu. Menü güncel dile taşındı: sakin kâğıt, 1px ayraçlı bölümler,
   baş harfi büyük bölüm adları, çizgi ikonlu stickerlar, altta tehlikeli satır. */
#watchlistPageApp .watch-order-card-menu-pop{width:284px;max-height:min(720px,calc(100vh - 24px));gap:0;padding:4px;border:1px solid var(--watch-line);border-radius:14px;background:var(--watch-paper);box-shadow:0 18px 44px rgba(15,25,40,.16),0 2px 6px rgba(15,25,40,.05);color:var(--watch-ink);font-family:var(--font)}
#watchlistPageApp .watch-order-card-menu-pop>:is(label,section){display:grid;gap:9px;padding:12px 12px 13px;border-bottom:1px solid var(--watch-line)}
#watchlistPageApp .watch-order-card-menu-pop>:is(label,section)>span,
#watchlistPageApp .watch-order-badge-picker>header>span{color:var(--watch-muted);font-size:11px;font-weight:600;letter-spacing:0;text-transform:none}
#watchlistPageApp .watch-order-card-menu-pop select{height:34px;padding:0 10px;border:1px solid var(--watch-line);border-radius:9px;background:var(--watch-paper);color:var(--watch-ink);font:500 12px var(--font)}
#watchlistPageApp .watch-order-card-menu-pop select:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 12%,transparent)}

/* Kart rengi: yuvarlak renk noktaları, seçili olan halka alır. */
#watchlistPageApp .watch-order-color-picker>div{display:flex;flex-wrap:wrap;gap:8px}
#watchlistPageApp .watch-order-color-picker button{width:24px;max-width:none;height:24px;border:0;border-radius:50%;box-shadow:inset 0 0 0 1px rgba(0,0,0,.08);transition:transform .14s ease,box-shadow .14s ease}
#watchlistPageApp .watch-order-color-picker button:hover{transform:scale(1.08)}
#watchlistPageApp .watch-order-color-picker button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
#watchlistPageApp .watch-order-color-picker button.active{box-shadow:0 0 0 2px var(--watch-paper),0 0 0 4px var(--watch-ink)}
#watchlistPageApp .watch-order-color-picker button.active::after{content:none}
#watchlistPageApp .watch-order-color-picker button.is-auto::before{inset:4px;border-radius:50%;background:var(--watch-paper)}

/* Kart görünümü: üç eşit seçenek, küçük kart çizimi + ad. */
#watchlistPageApp .watch-order-style-picker>div{gap:6px}
#watchlistPageApp .watch-order-style-picker button{gap:6px;padding:8px 4px 7px;border-color:var(--watch-line);border-radius:10px;color:var(--watch-muted);font:500 12px var(--font)}
#watchlistPageApp .watch-order-style-picker button:hover{background:var(--watch-soft);color:var(--watch-ink)}
#watchlistPageApp .watch-order-style-picker button.active{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 7%,var(--watch-paper));color:var(--watch-ink);font-weight:600}
#watchlistPageApp .watch-order-style-picker i{border-color:var(--watch-line);background:var(--watch-paper)}
#watchlistPageApp .watch-order-style-picker i.is-stripe::before{top:4px;left:4px;width:2px;height:10px;border-radius:1px}
#watchlistPageApp .watch-order-style-picker i.is-corner::before{top:0;right:0;left:auto;width:8px;height:8px;border-radius:0 4px 0 2px;background:linear-gradient(225deg,var(--board-color) 0 50%,color-mix(in srgb,var(--board-color) 55%,black) 50%)}
#watchlistPageApp .watch-order-style-picker i.is-divider::before{top:9px;left:4px;width:20px;height:2px;border-radius:1px}

/* Stickerlar: iki sütun sakin satır; renk yalnız ikonda, seçilince zeminde. */
#watchlistPageApp .watch-order-badge-picker>header{display:flex;align-items:center;justify-content:space-between}
#watchlistPageApp .watch-order-badge-picker>header>small{color:var(--watch-muted);font:500 11px var(--font);font-variant-numeric:tabular-nums}
#watchlistPageApp .watch-order-badge-picker>header>small b{color:var(--watch-ink);font-weight:650}
#watchlistPageApp .watch-order-badge-picker>div{gap:4px}
#watchlistPageApp .watch-order-badge-picker>div>button{height:32px;grid-template-columns:22px minmax(0,1fr);gap:8px;padding:0 8px;border:1px solid transparent;border-radius:9px;background:transparent;box-shadow:none;color:var(--watch-ink);font:500 12px var(--font);transform:none;transition:background .14s ease,border-color .14s ease}
#watchlistPageApp .watch-order-badge-picker>div>button:hover{border-color:transparent;background:var(--watch-soft);color:var(--watch-ink);transform:none}
#watchlistPageApp .watch-order-badge-picker>div>button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}
#watchlistPageApp .watch-order-badge-picker>div>button.active{border-color:color-mix(in srgb,var(--sticker-color) 40%,var(--watch-line));background:color-mix(in srgb,var(--sticker-color) 9%,var(--watch-paper));box-shadow:none;color:var(--watch-ink);font-weight:600}
#watchlistPageApp .watch-order-badge-picker>div>button:disabled{opacity:.45;cursor:not-allowed}
#watchlistPageApp .watch-order-badge-picker>div>button>i,
#watchlistPageApp .watch-card-sticker>i{display:grid;place-items:center;border-radius:6px;background:color-mix(in srgb,var(--sticker-color) 13%,transparent);color:var(--sticker-color)}
#watchlistPageApp .watch-order-badge-picker>div>button>i{width:22px;height:22px}
#watchlistPageApp .watch-order-badge-picker>div>button>i svg{width:14px;height:14px}
#watchlistPageApp .watch-card-sticker>i svg{width:12px;height:12px}
#watchlistPageApp .watch-order-badge-picker>footer{display:flex;align-items:center;justify-content:space-between}
#watchlistPageApp .watch-order-badge-picker>footer>span{color:var(--watch-muted);font-size:11px;font-weight:450}
#watchlistPageApp .watch-order-badge-picker>footer>button{padding:2px 0;color:var(--accent);font:600 11px var(--font)}

/* Tehlikeli satırlar en altta: §3.3 satır dili (26px rozet + etiket). */
#watchlistPageApp .watch-order-card-menu-pop>button{min-height:40px;grid-template-columns:26px minmax(0,1fr);gap:10px;margin:4px 0 0;padding:6px 8px;border-radius:9px;font:600 12px var(--font)}
#watchlistPageApp .watch-order-card-menu-pop>button+button{margin-top:0}
#watchlistPageApp .watch-order-card-menu-pop>button>span{width:26px;height:26px;border-radius:8px;background:color-mix(in srgb,var(--danger) 10%,transparent);color:var(--danger);font-size:16px;line-height:1}
#watchlistPageApp .watch-order-card-menu-pop>button>b{color:var(--danger);font-size:12px;font-weight:600}
#watchlistPageApp .watch-order-card-menu-pop>button:hover{background:color-mix(in srgb,var(--danger) 7%,transparent)}
#watchlistPageApp .watch-order-card-menu-pop>button.is-board-only>b{color:var(--watch-ink)}

/* Kart üstündeki stickerlar pano etiketi hapıyla aynı dildedir: çerçeve ve
   degrade yok, rengin %12 zemini, çizgi ikon + kısa ad. */
#watchlistPageApp .watch-card-sticker{height:24px;gap:4px;padding:0 9px 0 6px;border:0;border-radius:999px;background:color-mix(in srgb,var(--sticker-color) 12%,var(--watch-paper));box-shadow:none;color:color-mix(in srgb,var(--sticker-color) 72%,var(--watch-ink))}
#watchlistPageApp .watch-card-sticker>i{width:14px;height:14px;background:transparent}
#watchlistPageApp .watch-card-sticker>b{color:inherit;font:600 11px var(--font);letter-spacing:0}
@media(max-width:760px){#watchlistPageApp .watch-card-sticker{width:24px;padding:0}}

/* Seç + Yazdır müşteri şeridinin sağ ucunda (2026-10-15; eskiden başlıktaydı).
   Haplar kalan genişliği alır ve kendi içinde kayar; düğmeler hiç kırpılmaz. */
#watchlistPageApp .watchlist-active-board-tools.is-pills-only{gap:var(--space-3,12px)}
#watchlistPageApp .watchlist-active-board-tools .watchlist-customer-pills{flex:1 1 auto}
#watchlistPageApp .watchlist-row-commands{flex:0 0 auto;margin-left:auto}
@media(max-width:680px){#watchlistPageApp .watchlist-row-commands{margin-left:0;justify-content:flex-end}}

/* ── Yeni kart düzeni (2026-10-17 taslak, Kart ayarları > Kart düzeni > Yeni) ──
   Kart sorunu söyler: durum cümlesi, gecikme hapı, biten/şimdiki adım ayrımı,
   not tazeliği; tekrar eden sayılar kalkar, boşluklar ~%15 sıkı. */
#watchlistPageApp[data-card-layout="v2"] .watch-order-customer{min-height:0;padding:8px 18px 8px;align-items:flex-start}
#watchlistPageApp[data-card-layout="v2"] .watch-order-customer>div{gap:5px}
#watchlistPageApp[data-card-layout="v2"] .watch-order-customer>svg{margin-top:3px;opacity:.7}
#watchlistPageApp[data-card-layout="v2"] .watch-order-customer:hover>svg{opacity:1;color:var(--accent)}
#watchlistPageApp[data-card-layout="v2"] .watch-order-at-glance{margin:2px 18px 14px}
#watchlistPageApp .watch-order-customer b .watch-order-age{font-style:normal;font-weight:500;letter-spacing:0;color:var(--watch-muted);opacity:.85}
/* Termin hapı: çerçeve ve yazı aynı tonda */
#watchlistPageApp[data-card-layout="v2"] .watch-due-list .watch-due.is-danger{border-color:color-mix(in srgb,var(--danger) 32%,var(--watch-line));background:color-mix(in srgb,var(--danger) 6%,var(--watch-paper))}
#watchlistPageApp[data-card-layout="v2"] .watch-due-list .watch-due.is-warning{border-color:color-mix(in srgb,var(--warning) 30%,var(--watch-line));background:color-mix(in srgb,var(--warning) 6%,var(--watch-paper))}
#watchlistPageApp[data-card-layout="v2"] .watch-due-list .watch-due.is-quiet[data-shell-tip]{border-color:var(--watch-line)}
/* Kumaşlar: üstte toplam ve ortak renk */
#watchlistPageApp[data-card-layout="v2"] .watch-materials>header{padding-top:11px}
#watchlistPageApp[data-card-layout="v2"] .watch-materials>header>span{display:inline-flex;align-items:center;gap:8px}
#watchlistPageApp[data-card-layout="v2"] .watch-materials>header>b{font-variant-numeric:tabular-nums;font-weight:600;color:var(--watch-ink)}
#watchlistPageApp .watch-materials-shared-color{padding:2px 6px;border-radius:5px;background:var(--watch-soft);font-style:normal;font-weight:600;letter-spacing:0;text-transform:none;color:var(--watch-ink)}
#watchlistPageApp .watch-materials-shared-color small{color:var(--watch-muted);font-weight:500}
#watchlistPageApp[data-card-layout="v2"] .watch-material{padding-block:9px}
/* Adım çizgisi: biten adım sakin + ✓, yalnız şimdiki adım renkli halkalı */
#watchlistPageApp[data-card-layout="v2"] .watch-order-flow{margin-top:2px}
#watchlistPageApp[data-card-layout="v2"] .watch-order-flow-rail{padding:15px 18px 10px}
#watchlistPageApp[data-card-layout="v2"] .watch-order-flow-step.is-done{color:var(--watch-muted)}
#watchlistPageApp[data-card-layout="v2"] .watch-order-flow-step>i{display:grid;place-items:center}
#watchlistPageApp[data-card-layout="v2"] .watch-order-flow-step.is-done>i{width:14px;height:14px;margin-top:-2px;border:0;background:color-mix(in srgb,var(--watch-ink) 62%,var(--watch-paper));color:var(--watch-paper)}
#watchlistPageApp[data-card-layout="v2"] .watch-order-flow-step.is-done>i svg{width:10px;height:10px;stroke-width:2}
#watchlistPageApp[data-card-layout="v2"] .watch-order-flow-step.is-done+b{background:color-mix(in srgb,var(--watch-ink) 45%,var(--watch-line))}
#watchlistPageApp[data-card-layout="v2"] .watch-order-flow-step.is-current{color:var(--watch-ink)}
#watchlistPageApp[data-card-layout="v2"] .watch-order-flow-step.is-current>i{width:12px;height:12px;margin-top:-1px;background:var(--watch-paper);border:3px solid var(--stage-color);box-shadow:0 0 0 4px color-mix(in srgb,var(--stage-color) 16%,transparent)}
#watchlistPageApp[data-card-layout="v2"] .watch-order-flow-step.is-current small{font-weight:750}
#watchlistPageApp[data-card-layout="v2"] .watch-order-flow-toggle{height:27px}
/* Notlar: sayılar anahtarın içinde, ok başlığın yanında, tarih + kaç gün önce */
#watchlistPageApp[data-card-layout="v2"] .watch-note-chat.is-collapsible .watch-note-chat-head{padding:11px 16px 11px;align-items:center}
#watchlistPageApp[data-card-layout="v2"] .watch-note-chat.is-collapsible .watch-note-chat-title>span{display:flex;align-items:center;gap:8px}
#watchlistPageApp[data-card-layout="v2"] .watch-note-chat.is-collapsible .watch-note-chat-title svg{grid-row:auto;flex:0 0 auto}
#watchlistPageApp[data-card-layout="v2"] .watch-note-chat.is-collapsible .watch-note-chat-title svg.watch-note-title-chevron{width:14px;height:14px;color:var(--watch-muted);transition:transform .18s ease}
#watchlistPageApp[data-card-layout="v2"] .watch-note-chat.is-collapsible .watch-note-chat-chevron{display:none}
#watchlistPageApp .watch-note-chat.is-expanded .watch-note-title-chevron{transform:rotate(180deg)}
#watchlistPageApp .watch-note-mode-count{margin-left:5px;font-size:9px;font-weight:600;font-variant-numeric:tabular-nums;opacity:.6}
#watchlistPageApp .watch-note-mode button.active .watch-note-mode-count{opacity:.85}
#watchlistPageApp .watch-note-day small{font-weight:500;opacity:.8}
#watchlistPageApp .watch-note-day.is-stale small{color:color-mix(in srgb,var(--warning) 80%,var(--watch-muted));opacity:1}
/* Unutulmuş kart (son not 14 günden eski): kart rengi SOLDURULMAZ — soluk
   renk "sevimsiz" bulundu (2026-10-17); eskilik notlardaki uyarı tonlu tarihte. */
#watchlistPageApp[data-card-layout="v2"] .watch-order-card.is-stale .watch-order-board-tag{filter:saturate(.45)}
#watchlistPageApp[data-card-layout="v2"] .watch-due-list>small{padding:4px 6px;border-radius:6px;background:var(--watch-soft);font-weight:600;cursor:help}
/* Paralel üretim: örme sürerken boya başladıysa Boyahane de ışıklı (boya tonunda), ara çizgi iki rengi bağlar */
#watchlistPageApp[data-card-layout="v2"] .watch-order-flow-step.is-parallel{--stage-color:var(--watch-dye-color,#8b5cf6)}
#watchlistPageApp[data-card-layout="v2"] .watch-order-flow-rail>b.is-parallel{background:linear-gradient(90deg,var(--stage-color),var(--watch-dye-color,#8b5cf6))}
/* Kumaş satırında termin: kg'nin altında yalın tarih, tonu gecikmeyi söyler */
#watchlistPageApp .watch-material-side{display:grid;justify-items:end;gap:3px}
#watchlistPageApp .watch-material-termin{font-size:10.5px;font-weight:600;font-variant-numeric:tabular-nums;color:var(--watch-muted);cursor:help;outline:0}
#watchlistPageApp .watch-material-termin.is-danger{color:var(--danger)}
#watchlistPageApp .watch-material-termin.is-warning{color:var(--warning)}
#watchlistPageApp .watch-material-termin:focus-visible{border-radius:4px;box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 40%,transparent)}
#watchlistPageApp .watch-material-colors .watch-material-termin.is-inline{margin-left:6px;font-style:normal;font-size:10px}
#watchlistPageApp .watch-material-colors .watch-material-termin.is-inline::before{content:"· ";color:var(--watch-muted);font-weight:400}
/* ── Sadeleştirme (2026-10-17 öneri turu) ──────────────────────────────────
   Aynı bilgi bir kez: pano adı her kartta tekrar etmez (renk noktası kalır),
   aşama yüzdesi ayrı hap değil adım çubuğunda, ortak termin kumaş başlığında. */
#watchlistPageApp[data-card-layout="v2"] .watch-order-card-head{min-height:38px;padding-top:6px}
/* Pano adı yazılmayan kartta etiket boştur; renk kart işaretiyle görünür */
#watchlistPageApp .watch-order-board-tag.is-dot-only{display:none}
/* Sürükleme tutamacı ve kart ayarları: fareli cihazda yalnız kartın üzerindeyken
   belirir (dokunmatikte hep görünür; menü açıkken ya da klavye odağında da) */
@media (hover:hover) and (pointer:fine){
  #watchlistPageApp[data-card-layout="v2"] .watch-order-card :is(.watch-order-drag-handle,.watch-order-card-more){opacity:0;transition:opacity .15s ease}
  #watchlistPageApp[data-card-layout="v2"] .watch-order-card:is(:hover,:focus-within) :is(.watch-order-drag-handle,.watch-order-card-more),
  #watchlistPageApp[data-card-layout="v2"] .watch-order-card-menu.is-open .watch-order-card-more{opacity:1}
}
#watchlistPageApp[data-card-layout="v2"] .watch-order-customer{padding-top:4px}
/* Kumaş adı firma adının bir kademe altında */
#watchlistPageApp[data-card-layout="v2"] .watch-material-info>strong{font-weight:560}
/* Ortak termin başlıkta, kg'nin yanında */
#watchlistPageApp .watch-materials>header .watch-material-termin.is-head{margin-left:6px;font-size:inherit}
#watchlistPageApp .watch-materials>header .watch-material-termin.is-head::before{content:"· ";color:var(--watch-muted);font-weight:400}
/* Adım çubuğu: tek satır — bölmeler + şimdiki aşama + ok */
#watchlistPageApp .watch-order-flow.is-bar{display:flex;align-items:center;gap:12px;margin-top:4px;padding:12px 18px;border-bottom:0}
#watchlistPageApp .watch-order-flow-bar{flex:1;min-width:0;display:flex;gap:3px}
#watchlistPageApp .watch-order-flow.is-bar .watch-order-flow-step{width:auto;flex:1;display:block;height:16px;padding:6px 0;cursor:inherit}
#watchlistPageApp .watch-order-flow.is-bar .watch-order-flow-step>i{width:100%;height:4px;margin:0;border:0;border-radius:2px;box-shadow:none;background:var(--watch-line)}
#watchlistPageApp .watch-order-flow.is-bar .watch-order-flow-step>small{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
#watchlistPageApp .watch-order-flow.is-bar .watch-order-flow-step.is-done>i{background:color-mix(in srgb,var(--watch-ink) 38%,var(--watch-line))}
#watchlistPageApp .watch-order-flow.is-bar .watch-order-flow-step.is-current>i{background:linear-gradient(90deg,var(--stage-color) var(--fill,100%),color-mix(in srgb,var(--stage-color) 22%,var(--watch-line)) var(--fill,100%))}
#watchlistPageApp .watch-order-flow-now{display:inline-flex;align-items:baseline;gap:8px;flex:0 0 auto;font-size:11.5px;font-weight:500;font-variant-numeric:tabular-nums;color:var(--watch-muted);white-space:nowrap}
#watchlistPageApp .watch-order-flow-now b{font-weight:650;color:var(--watch-ink)}
#watchlistPageApp .watch-order-flow-now>span+span::before{content:"·";margin-right:8px;color:var(--watch-muted)}
#watchlistPageApp .watch-order-flow-chev{width:6px;height:6px;flex:0 0 auto;margin:0 2px 3px 0;border-right:1.5px solid var(--watch-muted);border-bottom:1.5px solid var(--watch-muted);transform:rotate(45deg);transition:transform .18s ease}
#watchlistPageApp .watch-order-flow.is-bar.is-open .watch-order-flow-chev{margin-bottom:-2px;transform:rotate(225deg)}
#watchlistPageApp .watch-order-flow.is-bar:hover .watch-order-flow-chev{border-color:var(--accent)}
/* Notlar: kartla aynı kâğıt (kat yok), boşken tek sessiz satır, sıkı akış */
#watchlistPageApp[data-card-layout="v2"] .watch-note-chat.is-collapsible{background:var(--watch-paper)}
#watchlistPageApp[data-card-layout="v2"] .watch-note-chat.is-collapsible.is-empty:not(.is-composing) .watch-note-chat-body{height:auto}
#watchlistPageApp .watch-note-empty.is-quiet{display:block;min-height:0;padding:2px 0 12px;text-align:left}
#watchlistPageApp .watch-note-empty.is-quiet span{font-size:11px;font-weight:450;color:var(--watch-muted)}
#watchlistPageApp[data-card-layout="v2"] .watch-note-chat.is-collapsible .watch-note-thread{gap:2px;padding-top:2px}
#watchlistPageApp[data-card-layout="v2"] .watch-note-chat.is-collapsible .watch-note-entry{padding:5px 8px 6px 11px}
#watchlistPageApp[data-card-layout="v2"] .watch-note-chat.is-collapsible .watch-note-entry-head{margin-bottom:1px}
/* ── Kart rengi işaretleri (2026-10-17, kullanıcı sekiz taslaktan seçti) ──
   Renk kartın KENARINA değil içine düşer: yan şerit künyenin solunda, köşe
   kartın kendi yuvarlağını izleyen kıvrım, ayraç künyenin altındaki çizgi.
   --watch-mark: kart rengi; akışı biten kartta yeşil, unutulmuş kartta soluk. */
#watchlistPageApp .watch-order-card{--watch-mark:var(--board-color)}
#watchlistPageApp .watch-order-card.is-workflow-complete{--watch-mark:var(--success)}
#watchlistPageApp[data-card-style="stripe"] .watch-order-customer{position:relative;padding-left:31px}
#watchlistPageApp[data-card-style="stripe"] .watch-order-customer::before{content:"";position:absolute;left:18px;top:5px;bottom:9px;width:3px;border-radius:3px;background:var(--watch-mark)}
#watchlistPageApp[data-card-style="corner"] .watch-order-card::before{content:"";position:absolute;z-index:2;top:0;right:0;width:24px;height:24px;border-radius:0 16px 0 7px;background:linear-gradient(225deg,var(--watch-mark) 0 50%,color-mix(in srgb,var(--watch-mark) 55%,black) 50% 100%);box-shadow:-2px 2px 4px rgba(0,0,0,.18);pointer-events:none}
#watchlistPageApp[data-card-style="corner"] .watch-order-card-head-end{margin-right:14px}
#watchlistPageApp[data-card-style="divider"] .watch-materials{border-top:2px solid var(--watch-mark)}
/* ── Hızlı ekle (+) düğmeleri: dinlenirken silik (2026-10-17) ──────────────
   Fareli cihazda düğme küçük, çerçevesiz ve neredeyse görünmez durur; kartın
   üzerine gelince biraz, imleç düğmeye ~28px yaklaşınca tamamen belirir
   (::before görünmez yakalama alanı). Dokunmatikte ve klavye odağında eskisi
   gibi tam görünür — orada "yaklaşma" yok. */
@media (hover:hover) and (pointer:fine){
  #watchlistPageApp .watch-quick-add-slot{width:30px;height:30px;border-color:transparent;background:transparent;box-shadow:none;color:var(--watch-muted);opacity:.28;transition:opacity .2s ease,transform .16s ease,border-color .16s ease,background .16s ease,color .16s ease}
  #watchlistPageApp .watch-quick-add-slot::before{content:"";position:absolute;inset:-28px;border-radius:50%}
  #watchlistPageApp .watch-quick-add-slot span{font-size:18px}
  #watchlistPageApp .watch-quick-add-slot.is-before{left:-56px}
  #watchlistPageApp .watch-quick-add-slot.is-after{right:-56px}
  #watchlistPageApp .watch-order-card:hover .watch-quick-add-slot{opacity:.55}
  #watchlistPageApp :is(.watch-order-card,.watch-quick-add-lane) .watch-quick-add-slot:is(:hover,:focus-visible){opacity:1;border-color:color-mix(in srgb,var(--board-color) 45%,var(--watch-line));background:var(--watch-paper);color:var(--board-color);box-shadow:0 0 0 4px color-mix(in srgb,var(--board-color) 10%,transparent)}
  #watchlistPageApp .watch-quick-add-lane{min-height:64px;padding-bottom:24px}
  #watchlistPageApp .watch-quick-add-lane::before{opacity:0;transition:opacity .2s ease}
  #watchlistPageApp .watch-quick-add-lane:hover::before{opacity:1}
  #watchlistPageApp .watch-quick-add-lane .watch-quick-add-slot:is(:hover,:focus-visible){transform:none}
}
/* ── Takip kartı notları: madde listesi (2026-10-17, kullanıcı A taslağını seçti) ──
   Sohbet balonu değil, slayt maddesi: nokta (etiketin renginde) · metin · sağda
   yalnız gerekli zaman (bugün saat, eski not tarihi yalnız gün değişince).
   Gün ayracı ve ayrı saat satırı yok; ayrıntı ipucunda. Sipariş detayının not paneli de aynı listeyi kullanır ("Yeni" çizgisi orada kalır).
   Plan satırındaki not penceresi (#orderNotesPopup) da kapsamda: yoksa saat ve
   düğmeler metnin altına alt alta düşüyordu (2026-10-28). */
:is(#watchlistPageApp,#orderModal,#page-notes,#orderNotesPopup) .watch-note-chat{--wn-ink:var(--watch-ink,var(--desk-ink,var(--text)));--wn-muted:var(--watch-muted,var(--desk-muted,var(--muted)));--wn-paper:var(--watch-paper,var(--desk-paper,var(--surface-solid)))}
:is(#watchlistPageApp,#orderModal,#page-notes,#orderNotesPopup) .watch-note-thread:has(> .watch-note-entry.is-line){gap:0}
:is(#watchlistPageApp,#orderModal,#page-notes,#orderNotesPopup) .watch-note-entry.is-line{display:grid;grid-template-columns:12px minmax(0,1fr) auto;align-items:baseline;column-gap:6px;padding:4px 0;border:0;border-radius:6px;background:transparent}
:is(#watchlistPageApp,#orderModal,#page-notes,#orderNotesPopup) .watch-note-entry.is-line::before{content:none}
:is(#watchlistPageApp,#orderModal,#page-notes,#orderNotesPopup) .watch-note-entry.is-line+.watch-note-entry.is-line{border-top:0}
:is(#watchlistPageApp,#orderModal,#page-notes,#orderNotesPopup) .watch-note-bullet{width:5px;height:5px;margin-left:2px;align-self:start;margin-top:8px;border-radius:50%;background:color-mix(in srgb,var(--wn-ink) 32%,transparent)}
:is(#watchlistPageApp,#orderModal,#page-notes,#orderNotesPopup) .watch-note-entry.is-line:not([data-note-label="general"]) .watch-note-bullet{background:var(--note-tone)}
:is(#watchlistPageApp,#orderModal,#page-notes,#orderNotesPopup) .watch-note-line-body{min-width:0}
:is(#watchlistPageApp,#orderModal,#page-notes,#orderNotesPopup) .watch-note-entry.is-line p{margin:0;font-size:12px;font-weight:450;line-height:1.5;color:var(--wn-ink);overflow-wrap:anywhere}
:is(#watchlistPageApp,#orderModal,#page-notes,#orderNotesPopup) .watch-note-line-tag{margin-right:6px;font-style:normal;font-size:10px;font-weight:650;color:var(--note-tone)}
:is(#watchlistPageApp,#orderModal,#page-notes,#orderNotesPopup) .watch-note-line-meta{display:inline-flex;align-items:center;gap:5px;color:var(--wn-muted);font-size:10.5px;font-weight:450;font-variant-numeric:tabular-nums;white-space:nowrap;cursor:default}
:is(#watchlistPageApp,#orderModal,#page-notes,#orderNotesPopup) .watch-note-line-meta b{font-weight:600;color:color-mix(in srgb,var(--wn-ink) 70%,var(--wn-muted))}
:is(#watchlistPageApp,#orderModal,#page-notes,#orderNotesPopup) .watch-note-line-meta time{margin:0;color:inherit;font:inherit;letter-spacing:0}
:is(#watchlistPageApp,#orderModal,#page-notes,#orderNotesPopup) .watch-note-line-meta time.is-stale{color:color-mix(in srgb,var(--warning) 80%,var(--wn-muted))}
/* Düzenle/sil: üzerine gelince zamanın üstüne biner, satır genişliği oynamaz */
:is(#watchlistPageApp,#orderModal,#page-notes,#orderNotesPopup) .watch-note-entry.is-line{position:relative}
:is(#watchlistPageApp,#orderModal,#page-notes,#orderNotesPopup) .watch-note-line-actions{position:absolute;top:1px;right:0;display:flex;gap:2px;padding-left:8px;background:linear-gradient(90deg,transparent,var(--wn-paper) 8px);opacity:0;pointer-events:none;transition:opacity .12s ease}
:is(#watchlistPageApp,#orderModal,#page-notes,#orderNotesPopup) .watch-note-entry.is-line:is(:hover,:focus-within,.is-editing) .watch-note-line-actions{opacity:1;pointer-events:auto}
:is(#watchlistPageApp,#orderModal,#page-notes,#orderNotesPopup) .watch-note-line-actions :is(.watch-note-entry-edit,.watch-note-entry-remove){opacity:1;margin:0}
:is(#watchlistPageApp,#orderModal,#page-notes,#orderNotesPopup) .watch-note-entry.is-line.is-editing{grid-template-columns:12px minmax(0,1fr) 52px}
:is(#watchlistPageApp,#orderModal,#page-notes,#orderNotesPopup) .watch-note-entry.is-line .watch-note-edit{width:100%}
:is(#watchlistPageApp,#orderModal,#page-notes,#orderNotesPopup) .watch-note-entry.is-line.is-deleted p{font-size:11px;font-style:italic;color:var(--wn-muted)}
:is(#watchlistPageApp,#orderModal,#page-notes,#orderNotesPopup) .watch-note-entry.is-line .watch-note-images{margin-top:4px}
:is(#orderModal,#page-notes,#orderNotesPopup) .watch-note-chat.is-order-surface .watch-note-entry.is-line{padding:5px 0}
:is(#orderModal,#page-notes,#orderNotesPopup) .watch-note-chat.is-order-surface .watch-note-entry.is-line p{font-size:13px}
:is(#orderModal,#page-notes,#orderNotesPopup) .watch-note-chat.is-order-surface .watch-note-line-meta{font-size:11px}

/* ── Takip kartları: boşluk dolduran sütun düzeni (2026-10-17) ───────────────
   Kartlar en kısa sütuna akar; son sıra ortalanmaz, yana kaydırma yok.
   Konum JS'in yazdığı `translate`'tir (watchlist.js "boşluk dolduran sütun
   düzeni"); geçiş yalnız translate/transform — compositor'da kayar, düzen
   hesabı tetiklemez. `contain` KULLANILMAZ: içerideki sabit konumlu
   menüler/ipuçları için yeni kapsayıcı blok açardı. */
#watchlistPageApp .watchlist-masonry{position:relative;display:block;min-width:0}
#watchlistPageApp .watchlist-masonry>.watch-order-card{position:absolute;top:0;left:0;width:var(--wm-col-w,100%);margin:0}
#watchlistPageApp .watchlist-masonry.is-wm-ready>.watch-order-card{transition:translate .38s cubic-bezier(.2,.8,.2,1),transform .18s ease,border-color .18s ease,box-shadow .18s ease}
#watchlistPageApp .watchlist-masonry>.watch-order-card.is-wm-new,
#watchlistPageApp .watchlist-masonry.is-wm-resizing>.watch-order-card{transition:none}
#watchlistPageApp .watchlist-masonry>.watch-order-card:hover{z-index:2}
#watchlistPageApp .watchlist-masonry>.watch-order-card.has-open-menu{z-index:40}
#watchlistPageApp .watchlist-masonry .watch-order-drag-handle{touch-action:none}
/* Sürüklenen kart: imleci izler (geçişsiz), hafif büyür ve havaya kalkar.
   Izgaraya miras alınan özellik (pointer-events, user-select) YAZILMAZ: başlangıç
   karesinde bütün kartların alt ağacını yeniden hesaplatıyordu. Hover zaten
   tutamağın pointer capture'ında kalır, metin seçimini pointerdown engeller. */
#watchlistPageApp .watchlist-masonry>.watch-order-card.is-wm-dragging{z-index:60;transition:transform .18s ease,box-shadow .18s ease;transform:scale(1.025);box-shadow:0 26px 56px rgba(0,0,0,.26);cursor:grabbing;will-change:translate}
#watchlistPageApp .watchlist-masonry>.watch-order-card.is-wm-dragging .watch-order-drag-handle{opacity:1;cursor:grabbing}
#watchlistPageApp .watchlist-masonry>.watch-order-card.is-wm-dropping{z-index:50}
#watchlistPageApp .watchlist-masonry-sentinel{height:1px}
/* Tek + ızgaranın altında: panonun sonuna ekler */
#watchlistPageApp .watch-quick-add-lane.is-masonry-lane{display:grid;margin-top:22px}
#watchlistPageApp .watch-quick-add-lane.is-masonry-lane::before{display:none}
#watchlistPageApp .watch-quick-add-lane.is-masonry-lane .watch-quick-add-slot{display:grid}
@media(prefers-reduced-motion:reduce){
  #watchlistPageApp .watchlist-masonry.is-wm-ready>.watch-order-card,
  #watchlistPageApp .watchlist-masonry>.watch-order-card.is-wm-dragging{transition:none}
}

/* Not ekleme düğmesi sağ altta yüzer (2026-10-17): anahtar başlığın sağına yapışır,
   + kartın not alanının sağ alt köşesinde; basınca dönerek × olur, yazma alanı onun
   solunda açılır (gönder düğmesiyle çakışmasın diye satıra sağ boşluk). */
#watchlistPageApp[data-card-layout="v2"] .watch-note-chat.is-collapsible{position:relative}
#watchlistPageApp[data-card-layout="v2"] .watch-note-chat.is-collapsible .watch-note-chat-head{position:static}
#watchlistPageApp[data-card-layout="v2"] .watch-note-chat.is-collapsible .watch-note-mode{margin-left:auto}
#watchlistPageApp[data-card-layout="v2"] .watch-note-chat.is-collapsible .watch-note-add{position:absolute;right:12px;bottom:12px;z-index:3;width:34px;height:34px;border-color:var(--watch-line);background:var(--watch-soft);box-shadow:0 2px 8px rgba(0,0,0,.12);transition:transform .28s cubic-bezier(.34,1.56,.64,1),background .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease}
#watchlistPageApp[data-card-layout="v2"] .watch-note-chat.is-collapsible .watch-note-add:hover{transform:scale(1.08);box-shadow:0 4px 14px rgba(0,0,0,.18)}
#watchlistPageApp[data-card-layout="v2"] .watch-note-chat.is-collapsible .watch-note-add:active{transform:scale(.92)}
#watchlistPageApp[data-card-layout="v2"] .watch-note-chat.is-collapsible .watch-note-add svg{width:15px;height:15px;transition:transform .32s cubic-bezier(.34,1.56,.64,1)}
#watchlistPageApp[data-card-layout="v2"] .watch-note-chat.is-collapsible.is-composing .watch-note-add{background:color-mix(in srgb,var(--accent) 12%,var(--watch-soft));border-color:color-mix(in srgb,var(--accent) 45%,var(--watch-line));color:var(--accent)}
#watchlistPageApp[data-card-layout="v2"] .watch-note-chat.is-collapsible.is-composing .watch-note-add svg{transform:rotate(135deg)}
#watchlistPageApp[data-card-layout="v2"] .watch-note-chat.is-collapsible.is-composing .watch-note-compose-row{padding-right:44px}
#watchlistPageApp[data-card-layout="v2"] .watch-note-chat.is-collapsible .watch-note-thread{padding-bottom:40px}
@media(prefers-reduced-motion:reduce){#watchlistPageApp[data-card-layout="v2"] .watch-note-chat.is-collapsible .watch-note-add,#watchlistPageApp[data-card-layout="v2"] .watch-note-chat.is-collapsible .watch-note-add svg{transition:none}}

/* Kart başlığındaki işaretler (2026-10-17): ticket = kendi kategori simgesi,
   sticker = dolu renkli rozet + beyaz simge. Eskiden ticket yalnız renkli bir
   noktaydı, sticker'ın %12 zemini ve ince "!" simgesi neredeyse görünmüyordu. */
#watchlistPageApp .watch-ticket-pins{gap:4px}
#watchlistPageApp .watch-ticket-pin{width:auto;min-width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:0 3px;border:1px solid color-mix(in srgb,var(--ticket-pin) 34%,var(--watch-line));border-radius:9px;background:color-mix(in srgb,var(--ticket-pin) 11%,var(--watch-paper));color:color-mix(in srgb,var(--ticket-pin) 82%,var(--watch-ink));transition:background .15s ease,border-color .15s ease,transform .15s ease}
#watchlistPageApp .watch-ticket-pin::before{display:none}
#watchlistPageApp .watch-ticket-pin.has-label{padding:0 9px 0 3px}
#watchlistPageApp .watch-ticket-pin>i{width:20px;height:20px;flex:0 0 20px;display:grid;place-items:center;border-radius:6px;background:var(--ticket-pin);color:var(--on-accent)}
#watchlistPageApp .watch-ticket-pin>i svg{width:13px;height:13px;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
#watchlistPageApp .watch-ticket-pin>span{max-width:110px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:600 11px var(--font);letter-spacing:0}
#watchlistPageApp .watch-ticket-pin:hover,
#watchlistPageApp .watch-ticket-pin.active{border-color:color-mix(in srgb,var(--ticket-pin) 60%,var(--watch-line));background:color-mix(in srgb,var(--ticket-pin) 18%,var(--watch-paper))}
#watchlistPageApp .watch-ticket-pin.is-closed{border-color:var(--watch-line);background:transparent;color:var(--watch-muted)}
#watchlistPageApp .watch-ticket-pin.is-closed>i{background:color-mix(in srgb,var(--ticket-pin) 22%,var(--watch-soft));color:color-mix(in srgb,var(--ticket-pin) 70%,var(--watch-ink))}
#watchlistPageApp .watch-ticket-pins-more{height:28px;min-width:28px;border-radius:9px;font:650 11px var(--font)}

/* Ticket simge yığını + alt şerit (2026-10-18, kullanıcı seçimi "D + E'nin
   alt bilgisi"): başlıkta yuvarlak kategori simgeleri üst üste biner, fazlası
   +N, okunmamışta kırmızı nokta; üstüne gelince liste. Açık ticketın son sözü
   aşama çubuğunun altında kategori renginde şeritte durur. */
#watchlistPageApp .watch-ticket-pins.is-stack{position:relative;gap:0;padding-left:6px}
#watchlistPageApp .watch-ticket-pins.is-stack .watch-ticket-pin,
#watchlistPageApp .watch-ticket-pins.is-stack .watch-ticket-pins-more{width:28px;min-width:28px;height:28px;padding:0;margin-left:-8px;border:2px solid var(--watch-paper);border-radius:50%;background:var(--watch-paper);position:relative;transition:transform .15s ease}
#watchlistPageApp .watch-ticket-pins.is-stack .watch-ticket-pin>i{width:24px;height:24px;flex:0 0 24px;border-radius:50%}
#watchlistPageApp .watch-ticket-pins.is-stack .watch-ticket-pin>i svg{width:13px;height:13px}
#watchlistPageApp .watch-ticket-pins.is-stack .watch-ticket-pin:nth-child(1){z-index:4}
#watchlistPageApp .watch-ticket-pins.is-stack .watch-ticket-pin:nth-child(2){z-index:3}
#watchlistPageApp .watch-ticket-pins.is-stack .watch-ticket-pin:nth-child(3){z-index:2}
#watchlistPageApp .watch-ticket-pins.is-stack .watch-ticket-pin:hover,
#watchlistPageApp .watch-ticket-pins.is-stack .watch-ticket-pin.active{transform:translateY(-2px);background:var(--watch-paper);border-color:var(--watch-paper)}
#watchlistPageApp .watch-ticket-pins.is-stack .watch-ticket-pin.active>i{box-shadow:0 0 0 2px color-mix(in srgb,var(--ticket-pin) 45%,transparent)}
#watchlistPageApp .watch-ticket-pins.is-stack .watch-ticket-pin.is-closed{background:var(--watch-paper)}
#watchlistPageApp .watch-ticket-pins.is-stack .watch-ticket-pins-more{z-index:1;display:grid;place-items:center;background:var(--watch-soft);color:var(--watch-muted);font:650 10.5px var(--font)}
#watchlistPageApp .watch-ticket-stack-dot{position:absolute;top:-3px;right:-3px;z-index:6;width:10px;height:10px;border:2px solid var(--watch-paper);border-radius:50%;background:var(--danger);pointer-events:none}
#watchlistPageApp .watch-ticket-stack-list{position:absolute;top:calc(100% + 6px);right:0;z-index:60;min-width:220px;max-width:280px;display:grid;gap:2px;padding:6px;border:1px solid var(--watch-line);border-radius:12px;background:var(--watch-paper);box-shadow:0 10px 28px rgba(0,0,0,.18);opacity:0;visibility:hidden;transform:translateY(-4px);transition:opacity .14s ease,transform .14s ease,visibility 0s linear .14s}
#watchlistPageApp .watch-ticket-pins.is-stack:hover .watch-ticket-stack-list,
#watchlistPageApp .watch-ticket-pins.is-stack:focus-within .watch-ticket-stack-list{opacity:1;visibility:visible;transform:none;transition-delay:0s}
#watchlistPageApp .watch-order-card.has-ticket-preview .watch-ticket-stack-list{display:none}
#watchlistPageApp .watch-ticket-stack-item{display:flex;align-items:center;gap:8px;width:100%;min-height:32px;padding:4px 8px 4px 4px;border:0;border-radius:8px;background:transparent;color:var(--watch-ink);text-align:left;cursor:pointer}
#watchlistPageApp .watch-ticket-stack-item:hover{background:color-mix(in srgb,var(--ticket-pin) 10%,var(--watch-paper))}
#watchlistPageApp .watch-ticket-stack-item>i{width:22px;height:22px;flex:0 0 22px;display:grid;place-items:center;border-radius:50%;background:var(--ticket-pin);color:var(--on-accent)}
#watchlistPageApp .watch-ticket-stack-item>i svg{width:12px;height:12px;stroke-width:2.2}
#watchlistPageApp .watch-ticket-stack-item>span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:600 12px var(--font)}
#watchlistPageApp .watch-ticket-stack-item>small{font:500 11px var(--font);color:var(--watch-muted)}
#watchlistPageApp .watch-ticket-stack-item.is-unread>small::before{content:"";display:inline-block;width:6px;height:6px;margin-right:5px;border-radius:50%;background:var(--danger);vertical-align:1px}
#watchlistPageApp .watch-ticket-stack-item.is-closed{color:var(--watch-muted)}
#watchlistPageApp .watch-ticket-stack-item.is-closed>i{background:color-mix(in srgb,var(--ticket-pin) 22%,var(--watch-soft));color:color-mix(in srgb,var(--ticket-pin) 70%,var(--watch-ink))}

#watchlistPageApp .watch-ticket-footer{display:flex;align-items:center;gap:7px;width:100%;margin:0;min-height:44px;padding:12px 18px;border:0;border-top:1px solid var(--watch-line);border-radius:0;background:transparent;color:color-mix(in srgb,var(--ticket-pin) 78%,var(--watch-ink));text-align:left;cursor:pointer;transition:background .15s ease}
#watchlistPageApp .watch-ticket-footer:hover{background:color-mix(in srgb,var(--ticket-pin) 7%,var(--watch-paper))}
#watchlistPageApp .watch-ticket-footer:focus-visible{outline:2px solid var(--ticket-pin);outline-offset:-2px}
#watchlistPageApp .watch-ticket-footer>i{width:20px;height:20px;flex:0 0 20px;display:grid;place-items:center;border-radius:50%;background:var(--ticket-pin);color:var(--on-accent)}
#watchlistPageApp .watch-ticket-footer>i svg{width:12px;height:12px;stroke-width:2.2}
#watchlistPageApp .watch-ticket-footer>b{flex:0 0 auto;font:650 12px var(--font)}
#watchlistPageApp .watch-ticket-footer>span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:500 12px var(--font);color:var(--watch-muted)}
#watchlistPageApp .watch-ticket-footer>small{flex:0 0 auto;font:500 11px var(--font);color:var(--watch-muted)}
#watchlistPageApp .watch-ticket-footer>small.is-rest{padding:1px 6px;border-radius:999px;background:color-mix(in srgb,var(--ticket-pin) 16%,var(--watch-paper));color:inherit;font-weight:650}
#watchlistPageApp .watch-ticket-footer.is-unread>b::after{content:"";display:inline-block;width:6px;height:6px;margin-left:6px;border-radius:50%;background:var(--danger);vertical-align:2px}
#watchlistPageApp .watch-ticket-footer>svg{width:14px;height:14px;flex:0 0 14px;stroke-width:2;color:var(--watch-muted)}
@media(hover:none){#watchlistPageApp .watch-ticket-stack-list{display:none}}

#watchlistPageApp .watch-card-stickers-host{gap:4px}
#watchlistPageApp .watch-card-sticker{height:28px;gap:6px;padding:0 10px 0 4px;border:1px solid color-mix(in srgb,var(--sticker-color) 36%,var(--watch-line));border-radius:999px;background:color-mix(in srgb,var(--sticker-color) 13%,var(--watch-paper));color:color-mix(in srgb,var(--sticker-color) 82%,var(--watch-ink))}
#watchlistPageApp .watch-card-sticker>i{width:20px;height:20px;border-radius:50%;background:var(--sticker-color);color:var(--on-accent)}
#watchlistPageApp .watch-card-sticker>i svg{width:13px;height:13px}
#watchlistPageApp .watch-card-sticker>b{font:650 11.5px var(--font)}
@media(max-width:760px){#watchlistPageApp .watch-card-sticker{width:28px;padding:0;justify-content:center}}
/* Sticker de ticket gibi yalnız yuvarlak simge (2026-10-18, kullanıcı isteği):
   ad yazmaz, ipucunda ve okuyucu etiketinde durur. */
#watchlistPageApp .watch-card-sticker{width:28px;height:28px;padding:0;gap:0;justify-content:center;border:2px solid var(--watch-paper);border-radius:50%;background:var(--watch-paper)}
#watchlistPageApp .watch-card-sticker>i{width:24px;height:24px;flex:0 0 24px}
#watchlistPageApp .watch-card-sticker>i svg{width:14px;height:14px}
#watchlistPageApp .watch-card-sticker>b{display:none}

/* Menüdeki seçici de aynı rozeti kullanır: hangi sticker'ın ne olduğu ilk bakışta okunur. */
#watchlistPageApp .watch-order-badge-picker>div>button>i{border-radius:50%;background:var(--sticker-color);color:var(--on-accent)}
#watchlistPageApp .watch-order-badge-picker>div>button>i svg{width:13px;height:13px}
#watchlistPageApp .watch-order-badge-picker>div>button.active{border-color:color-mix(in srgb,var(--sticker-color) 55%,var(--watch-line));background:color-mix(in srgb,var(--sticker-color) 14%,var(--watch-paper))}
#watchlistPageApp .watch-order-badge-picker>div>button.active{grid-template-columns:22px minmax(0,1fr) 8px}
#watchlistPageApp .watch-order-badge-picker>div>button.active::after{content:"";width:8px;height:8px;border-radius:50%;background:var(--sticker-color)}
/* Kumaş satırında gönderilen fiyat (2026-10-18): kg'nin altında yalın yeşil fiyat. */
#watchlistPageApp .order-fabric-price.is-watch{font-size:11px;font-weight:650;font-variant-numeric:tabular-nums;color:var(--success);cursor:help;outline:0}

/* ── assets/styles/dashboard-refined.css ── */
/* Shared calm surfaces, with the home workspace as the primary application. */
:root{--accent-bright:var(--accent);--desk-ink:#243249;--desk-muted:#718096;--desk-line:#e6ebf1;--desk-paper:#fff;--desk-soft:#f7f9fc;--bg:#eff3f8;--text:var(--desk-ink);--muted:var(--desk-muted);--border:var(--desk-line);--shadow:0 5px 18px rgba(28,44,68,.045)}
html[data-theme=dark]{--accent-bright:#6cb6ff;--desk-ink:#e2e8f1;--desk-muted:#99a8bc;--desk-line:#313d4c;--desk-paper:#1e2733;--desk-soft:#242e3c;--bg:#151d28;--text:var(--desk-ink);--muted:var(--desk-muted);--border:var(--desk-line)}
/* WhatsApp görünümü (Rehber WhatsApp bölümü, TASARIM-DILI §3.18): WhatsApp'ın kendi
   renkleri — şirket hattı yazışması iç Sohbet'ten ilk bakışta ayrılsın diye. Başka yerde kullanılmaz. */
:root{--wa-brand:#25d366;--wa-ink:#008069;--wa-wall:#efeae2;--wa-in:#fff;--wa-out:#d9fdd3;--wa-text:#111b21;--wa-meta:#667781;--wa-day:#fff}
html[data-theme=dark]{--wa-brand:#25d366;--wa-ink:#21c063;--wa-wall:#0b141a;--wa-in:#202c33;--wa-out:#005c4b;--wa-text:#e9edef;--wa-meta:#8696a0;--wa-day:#182229}
html body,html[data-theme=dark] body{background:var(--bg)!important}
html body .sky-bg{display:none}
html body .topbar,html body .nav{background:var(--desk-paper);border-color:var(--desk-line);box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}

html body .topbar-right>.notif-btn,html body .account-chip{box-shadow:none;background:var(--desk-soft);border-color:var(--desk-line);border-radius:10px}
html body .nav-btn{font-weight:600;border-radius:9px}
html body .nav-btn.active{color:var(--accent);background:var(--accent-soft);box-shadow:none}
html body .nav-btn.active svg{color:var(--accent)}
#page-dashboard{padding-top:26px;padding-bottom:90px}
html #page-dashboard .dashboard-hero{min-height:0;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:24px;padding:28px 30px;margin-bottom:20px;border:1px solid var(--desk-line);border-top:3px solid #a5bddd;border-radius:18px;background:var(--desk-paper);color:var(--desk-ink);box-shadow:var(--shadow);backdrop-filter:none}
#page-dashboard .dashboard-hero::before,#page-dashboard .dashboard-hero::after{display:none}
#page-dashboard .dashboard-hero h1{max-width:760px;min-height:0;max-height:none;margin:12px 0 0;color:var(--desk-ink);font-size:clamp(24px,2.6vw,36px);font-weight:720;line-height:1.2;letter-spacing:-.035em;overflow-wrap:anywhere}
#page-dashboard .hero-copy{max-width:670px;min-height:0;max-height:none;margin-top:10px;color:var(--desk-muted);font-size:12px;line-height:1.6;font-weight:450}

#page-dashboard .hero-actions{min-width:0;gap:20px;align-items:flex-end}

#page-dashboard .new-ticket-cta{min-height:40px;padding:10px 13px;border:1px solid var(--desk-line);border-radius:9px;background:var(--desk-paper);color:var(--desk-ink);font-size:12px;font-weight:600;box-shadow:none;animation:none;transform:none}
#page-dashboard .new-ticket-cta::before,#page-dashboard .new-ticket-cta::after{display:none}

#page-dashboard .new-ticket-cta:hover{border-color:var(--accent);background:var(--accent-soft);color:var(--accent);box-shadow:none;transform:none}

#page-dashboard .dash-search{border:1px solid var(--desk-line);border-radius:12px;background:var(--desk-paper);box-shadow:none}
#page-dashboard .dash-search .search-input{min-height:48px;height:48px;font-size:13px;font-weight:450}

/* Arama çubuğu TEK kutudur. İç input kendi zeminini, kenarlığını ve odak
   halkasını çizmemeli; yoksa sarmalayıcının çerçevesiyle aynı hizaya
   gelmeyen ikinci bir kutu görünür (koyu temada belirgindi: oradaki
   input kuralları özgüllükleri yüzünden saydamlığı eziyordu). */
#page-dashboard .dash-search{min-height:0}
#page-dashboard .dash-search .search-input,
#page-dashboard .dash-search .search-input:hover,
#page-dashboard .dash-search .search-input:focus{border:0;border-radius:12px;background:transparent;box-shadow:none}
#page-dashboard .dashboard-section-label{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:0 0 12px}
#page-dashboard .dashboard-section-label h2{margin:0;color:var(--desk-ink);font-size:15px;line-height:1.4;font-weight:650;letter-spacing:-.02em}

html #page-dashboard>.card{margin-top:0;margin-bottom:24px;padding:24px;border:1px solid var(--desk-line);border-radius:18px;background:var(--desk-paper);box-shadow:var(--shadow);backdrop-filter:none}
#page-dashboard .card-title{font-size:18px;font-weight:650;letter-spacing:-.025em;color:var(--desk-ink)}
#page-dashboard .termin-planner-head{gap:16px;margin-bottom:18px}

#page-dashboard .termin-cal-stat{background:var(--desk-soft);border-color:var(--desk-line);box-shadow:none;font-size:10px}
#page-dashboard .termin-planner-open{border-color:var(--desk-line);border-radius:8px;background:var(--desk-paper);box-shadow:none;color:var(--desk-muted);font-size:11px}
#page-dashboard .termin-filter-row{gap:8px;padding:12px;margin-bottom:20px;border:0;border-radius:10px;background:var(--desk-soft);box-shadow:none;flex-wrap:wrap}
#page-dashboard .termin-filter-row select,#page-dashboard .termin-filter-row .search-input{min-width:0;min-height:36px;border:1px solid var(--desk-line);border-radius:7px;background:var(--desk-paper);font-size:11px;font-weight:450;box-shadow:none}
#page-dashboard .termin-filter-row .termin-search{min-width:160px;flex:1}
#page-dashboard .termin-calendar-layout{gap:24px}
#page-dashboard .cal-header{margin-bottom:12px}
#page-dashboard .cal-title{font-size:15px;font-weight:650;color:var(--desk-ink)}
#page-dashboard .cal-nav{width:32px;height:32px;border-color:var(--desk-line);border-radius:8px;background:var(--desk-paper);box-shadow:none}
#page-dashboard .cal-dow{padding:8px 0;font-size:10px;font-weight:550;letter-spacing:0;color:var(--desk-muted)}
#page-dashboard .cal-grid{gap:5px}
#page-dashboard .cal-big .cal-cell{border-color:var(--desk-line);border-radius:8px;background:var(--desk-paper);box-shadow:none}
#page-dashboard .termin-calendar-card:not(.termin-planner-expanded) .cal-big .cal-cell{aspect-ratio:auto;min-height:68px}
#page-dashboard .cal-big .cal-cell.today{border-color:var(--accent);background:var(--accent-soft)}
#page-dashboard .cal-big .cal-cell.today .cal-num{color:var(--accent)}
#page-dashboard .cal-big .cal-cell.selected{border-color:var(--accent);background:var(--accent-soft)}
/* Ok tuşlarıyla gezerken hangi günde olduğumuz net görünür. */
#page-dashboard .cal-big .cal-cell:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
#page-dashboard .cal-big .cal-cell:focus{outline:none}
#page-dashboard .cal-big .cal-cell.selected:focus-visible{outline-color:var(--accent)}
#page-dashboard .cal-big .cal-cell.selected .cal-num{color:var(--accent)}
#page-dashboard .cal-cell .cal-num{font-size:12px;font-weight:550}
#page-dashboard .cal-chip{border-radius:4px;box-shadow:none;font-weight:550}
#page-dashboard .termin-upcoming{background:var(--desk-soft);border:1px solid var(--desk-line);border-radius:12px;padding:16px;box-shadow:none}
/* Ana sayfa takvimi (2026-09-23): kart → yumuşak kutu → koyu panel üç kat
   kutuydu ve az terminde koca boş bir kutu kalıyordu. Kutu içinde kutu yok:
   panel düzleşir, takvimden yalnız 1px dikey ayraçla ayrılır. */
#page-dashboard .termin-calendar-card:not(.termin-planner-expanded) .termin-upcoming{padding:0 0 0 20px;background:none;border:0;border-left:1px solid var(--desk-line);border-radius:0}
#page-dashboard .termin-calendar-card:not(.termin-planner-expanded) .termin-side-panel{padding:4px 0 0;background:none;border:0;border-radius:0}
#page-dashboard .termin-calendar-card.is-narrow:not(.termin-planner-expanded) .termin-upcoming{padding:20px 0 0;border-left:0;border-top:1px solid var(--desk-line)}
#page-dashboard .termin-upcoming-title{font-size:12px;font-weight:650;letter-spacing:0;color:var(--desk-ink)}
#page-dashboard .termin-upcoming-row{margin-bottom:7px;padding:11px 14px;border:1px solid var(--desk-line);border-radius:8px;background:var(--desk-paper);box-shadow:none}
#page-dashboard .termin-upcoming-empty{color:var(--desk-muted);font-size:12px;line-height:1.6}
#page-dashboard .termin-upcoming-title small{font-weight:500;color:var(--desk-muted)}
#page-dashboard .termin-section-count{background:var(--desk-paper);border:1px solid var(--desk-line);color:var(--desk-muted);font-weight:600}
html #page-dashboard>.dashboard-ticket-hub-card{padding:0}

/* Seçili ticket'ın metni önceki tema katmanında beyaza dönüyordu; açık seçili
   yüzey ve koyu metin, başlığın her iki temada okunur kalmasını sağlar. */

#page-dashboard .dashboard-ticket-hub-card #recentTickets>.empty-state{min-height:150px;color:var(--desk-muted);font-size:13px}
#page-dashboard button:focus-visible,#page-dashboard [role=button]:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
/* Earlier theme layers use !important on these surfaces. Resolve them here. */
html #page-dashboard>.card {background:var(--desk-paper)!important;border-color:var(--desk-line)!important}
html #page-dashboard .new-ticket-cta{background:var(--desk-paper)!important;color:var(--desk-ink)!important;border-color:var(--desk-line)!important;box-shadow:none!important}

html #page-dashboard .cal-big .cal-cell{background:var(--desk-paper);border-color:var(--desk-line)}
html #page-dashboard .cal-big .cal-cell:is(.today,.selected){background:var(--accent-soft);border-color:var(--accent)}
/* ── Bugün ile seçili gün aynı anda vurgulanmaz ────────────────────────
   Başka bir güne tıklandığında ekranda iki eşdeğer mavi kutu kalıyordu;
   hangisinin seçili olduğu okunmuyordu. Kural: DOLU yüzey her zaman SEÇİLİ
   gündür. Bugün, seçili değilken geri çekilir — dolgusu kalkar, çerçevesi
   kesik çizgiye döner, rakamı sakin tona iner. Yeni renk gelmez; yalnız
   aynı vurgunun zayıf hali kullanılır (TASARIM-DILI.md §2.1, §3.6). */
html #page-dashboard .cal-big:has(.cal-cell.selected) .cal-cell.today:not(.selected){
  background:transparent;
  border-style:dashed;
  border-color:color-mix(in srgb,var(--accent) 42%,transparent);
}
html #page-dashboard .cal-big:has(.cal-cell.selected) .cal-cell.today:not(.selected) .cal-num{
  color:color-mix(in srgb,var(--accent) 62%,var(--muted));
  font-weight:600;
}
html #page-dashboard .cal-big:has(.cal-cell.selected) .cal-cell.today:not(.selected):hover{
  background:color-mix(in srgb,var(--accent) 6%,transparent);
  border-color:color-mix(in srgb,var(--accent) 60%,transparent);
}
@media (prefers-reduced-motion:no-preference){
  html #page-dashboard .cal-big .cal-cell{transition:background .16s ease,border-color .16s ease}
}
html[data-theme=dark] body{--bg:#151d28;--text:var(--desk-ink);--muted:var(--desk-muted);--border:var(--desk-line)}
html[data-theme=dark] #page-dashboard :is(.cal-nav,.termin-planner-open,.termin-filter-row select,.termin-filter-row .search-input,.termin-upcoming-row,.dashboard-ticket-hub-list,.calendar-note-add){background:var(--desk-paper)!important;color:var(--desk-ink)!important;border-color:var(--desk-line)!important}
html[data-theme=dark] body .topbar,html[data-theme=dark] body .nav{background:var(--desk-paper)!important;border-color:var(--desk-line)!important}
html[data-theme=dark] body .topbar :is(.notif-btn,.account-chip){background:var(--desk-soft)!important;color:var(--desk-ink)!important;border-color:var(--desk-line)!important}

@media(max-width:760px){#page-dashboard .dashboard-ticket-hub{display:grid;grid-template-columns:minmax(0,1fr);min-height:0}#page-dashboard .dashboard-ticket-hub-list{border:0;min-height:160px}#page-dashboard .dashboard-ticket-hub-card #recentTickets{min-height:0}#page-dashboard .termin-calendar-card:not(.termin-planner-expanded) .cal-big .cal-cell{min-height:64px}}
@media(max-width:1100px){html #page-dashboard .dashboard-hero{grid-template-columns:1fr}#page-dashboard .hero-actions{flex-direction:row;align-items:center;justify-content:space-between}#page-dashboard .dashboard-hero h1{min-height:0}}
@media(max-width:760px){#page-dashboard{padding-top:18px}html #page-dashboard .dashboard-hero{padding:22px 20px;gap:18px}#page-dashboard .dashboard-hero h1{font-size:27px}#page-dashboard .hero-actions{flex-direction:column;align-items:stretch;gap:16px}#page-dashboard .new-ticket-cta{min-height:42px}html #page-dashboard>.card{padding:16px}#page-dashboard .termin-planner-head{flex-wrap:wrap}#page-dashboard .termin-planner-head-actions{flex-wrap:wrap;gap:8px}#page-dashboard .termin-filter-row{padding:10px}#page-dashboard .termin-filter-row select{max-width:100%;min-width:0!important}#page-dashboard .termin-filter-row .termin-search{flex-basis:100%}#page-dashboard .termin-filter-row .search-input,#page-dashboard .dash-search .search-input{font-size:16px}#page-dashboard .termin-calendar-layout{gap:16px}html #page-dashboard>.dashboard-ticket-hub-card{padding:0}}
@media(prefers-reduced-motion:reduce){#page-dashboard .new-ticket-cta {transition:none;animation:none}}

/* Compact home shortcuts. */
/* ── PANO WIDGETLARI ────────────────────────────────────────────────
   SERBEST YERLEŞİM: ızgara DECK_COLS (5) kutu geniştir ve varsayılan
   yerleşim 3 satırı boşluk bırakmadan doldurur. Her kutu 128px.
   Widget kendi hücresini --x/--y ile tutar, --w/--h kadar yer kaplar.
   Boy büyütmek başka widgetı KIMILDATMAZ; bu yüzden boy şeridi kartın
   altında sabit durabilir. Ölçüler JS'teki DECK_COLS/DECK_ROW_H ile
   birebir aynıdır — biri değişirse öteki de değişir. */
#page-dashboard .deck{position:relative;margin:0 0 20px}
#page-dashboard .deck-bar{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-2);margin:0 0 var(--space-2)}
#page-dashboard .deck.is-editing .deck-bar{position:sticky;top:56px;z-index:8;justify-content:space-between;flex-wrap:wrap;padding:var(--space-2);margin-bottom:var(--space-3);background:var(--desk-paper);border:1px solid var(--desk-line);border-radius:14px;box-shadow:var(--shadow)}
#page-dashboard .deck-bar-global{display:flex;align-items:center;gap:var(--space-2);min-width:0}
#page-dashboard .deck-bar-hint{font-size:var(--type-meta);color:var(--desk-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#page-dashboard .deck-bar-btn{font-family:inherit;font-size:var(--type-meta);font-weight:600;letter-spacing:0;color:var(--desk-muted);background:none;border:0;border-radius:8px;padding:6px 8px;min-height:30px;cursor:pointer}
#page-dashboard .deck-bar-btn:hover{color:var(--accent)}
#page-dashboard .deck-bar-btn.is-done{color:var(--accent)}
#page-dashboard .deck-bar-btn:disabled{cursor:default;opacity:.52}
#page-dashboard .deck-presets{display:flex;align-items:center;gap:3px;margin-right:var(--space-1)}
#page-dashboard .deck-presets>span{margin-right:3px;font-size:var(--type-caption);color:var(--desk-muted)}
#page-dashboard .deck-preset{height:28px;min-width:34px;padding:0 8px;border:1px solid var(--desk-line);border-radius:8px;background:var(--desk-soft);color:var(--desk-muted);font-family:inherit;font-size:var(--type-caption);font-weight:600;line-height:1;cursor:pointer}
#page-dashboard .deck-preset:hover:not(:disabled),#page-dashboard .deck-preset.is-on{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}
#page-dashboard .deck-preset:disabled{cursor:default;opacity:.4}
#page-dashboard .deck-preset.is-empty:not(.is-armed){border-style:dashed;background:none;opacity:.7}
#page-dashboard .deck-preset.is-armed{border-color:color-mix(in srgb,var(--accent) 60%,var(--desk-line));color:var(--accent);animation:deck-preset-armed 1s ease-in-out 3}
@keyframes deck-preset-armed{50%{background:var(--accent-soft)}}
#page-dashboard .deck-preset-save{display:inline-flex;align-items:center;gap:5px;height:28px;margin-left:4px;padding:0 10px 0 8px;border:1px solid var(--desk-line);border-radius:8px;background:none;color:var(--desk-ink);font-family:inherit;font-size:var(--type-caption);font-weight:600;line-height:1;cursor:pointer}
#page-dashboard .deck-preset-save svg{width:14px;height:14px;stroke-width:1.8}
#page-dashboard .deck-preset-save:hover{border-color:var(--accent);color:var(--accent)}
#page-dashboard .deck-preset-save.is-on{border-color:var(--accent);background:var(--accent);color:#fff}
#page-dashboard .deck-preset-save:focus-visible,#page-dashboard .deck-preset:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
#page-dashboard .deck-bar-hint.is-armed{color:var(--accent);font-weight:600}
@media (prefers-reduced-motion:reduce){#page-dashboard .deck-preset.is-armed{animation:none}}
/* Sınırı aşan widget varken "Bitti" kırmızı yanar: basmak bir karar demektir. */
#page-dashboard .deck-bar-btn.is-danger{color:var(--danger)}
#page-dashboard .deck-bar-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}

#page-dashboard .deck-grid{position:relative;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-template-rows:repeat(var(--deck-rows,1),128px);gap:var(--space-3)}
#page-dashboard .deck-card{grid-column:var(--x) / span var(--w);grid-row:var(--y) / span var(--h);position:relative;display:flex;flex-direction:column;min-width:0;overflow:hidden;padding:var(--space-4);border:1px solid var(--desk-line);border-radius:16px;background:var(--desk-paper);color:var(--desk-ink);box-shadow:var(--shadow);transition:border-color .16s ease,box-shadow .16s ease}
#page-dashboard .deck-card:hover{border-color:color-mix(in srgb,var(--accent) 24%,var(--desk-line))}
/* 1×1 kutu tek düğmedir: iç boşluğu düğmenin kendisi taşır. */
#page-dashboard .deck-card.is-tile{padding:0}
#page-dashboard .deck-empty{grid-column:1/-1;margin:0;padding:var(--space-4);border:1px dashed var(--desk-line);border-radius:16px;color:var(--desk-muted);font-size:var(--type-control)}
#page-dashboard .deck-empty button{font:inherit;font-weight:600;color:var(--accent);background:none;border:0;cursor:pointer;padding:0}

/* 1×1 kutu */
#page-dashboard .deck-tile{display:flex;align-items:center;gap:var(--space-3);width:100%;height:100%;padding:var(--space-4);font-family:inherit;font-size:var(--type-control);font-weight:600;color:inherit;text-align:left;background:none;border:0;border-radius:16px;cursor:pointer}

#page-dashboard .deck-tile-arrow{display:grid;place-items:center;margin-left:auto;width:29px;height:29px;border-radius:9px;background:var(--desk-soft);font-size:16px;color:var(--desk-muted);transition:color .16s ease,background .16s ease}

#page-dashboard .deck-tile:hover{color:var(--accent)}
#page-dashboard .deck-tile:hover .deck-tile-arrow{color:var(--accent);background:var(--accent-soft)}
#page-dashboard .deck-tile:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
#page-dashboard .deck-tile.has-icon{flex-direction:column;align-items:stretch;justify-content:space-between;gap:var(--space-2);padding:var(--space-4)}
#page-dashboard .deck-tile-top{display:flex;align-items:flex-start;justify-content:space-between}
#page-dashboard .deck-tile-top .deck-tile-arrow{margin-left:0}
#page-dashboard .deck-tile-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:var(--accent-soft);color:var(--accent);transition:background .16s ease,color .16s ease,transform .16s ease}
#page-dashboard .deck-tile-icon svg{width:21px;height:21px}
#page-dashboard .deck-tile-copy{display:flex;flex-direction:column;gap:2px;min-width:0}
#page-dashboard .deck-tile-copy strong{font-size:var(--type-control);font-weight:680;letter-spacing:-.012em;color:var(--desk-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#page-dashboard .deck-tile-copy small{font-size:var(--type-caption);font-weight:500;letter-spacing:0;color:var(--desk-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#page-dashboard .deck-tile.has-icon:hover .deck-tile-icon{background:var(--accent);color:#fff;transform:translateY(-1px)}
#page-dashboard .deck-tile.has-icon:hover .deck-tile-copy strong{color:var(--accent)}

/* Başlık, ölçü, araçlar, grafik, künye */
#page-dashboard .deck-card-head{display:flex;align-items:flex-start;gap:var(--space-2)}
#page-dashboard .deck-card-head.is-tight{align-items:center}
#page-dashboard .deck-card-title{display:flex;flex-direction:column;gap:2px;min-width:0}
#page-dashboard .deck-card-title strong{font-size:var(--type-control);font-weight:680;letter-spacing:-.012em;line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#page-dashboard .deck-card[data-w="2"] .deck-card-title strong,#page-dashboard .deck-card[data-w="3"] .deck-card-title strong{font-size:var(--type-section);letter-spacing:-.02em}
#page-dashboard .deck-card-figure{display:flex;align-items:baseline;gap:var(--space-1);margin-left:auto}
#page-dashboard .deck-card-figure b{font-size:22px;font-weight:780;letter-spacing:-.035em}
#page-dashboard .deck-card[data-w="2"] .deck-card-figure b,#page-dashboard .deck-card[data-w="3"] .deck-card-figure b{font-size:28px}
#page-dashboard .deck-card-head.is-tight .deck-card-figure{margin-left:var(--space-2)}
/* Başlık sağındaki yalın ok: kartın ilgili sayfasına gider. */
#page-dashboard .deck-head-go{display:grid;place-items:center;flex:none;width:26px;height:26px;margin-left:auto;padding:0;border:0;border-radius:8px;background:var(--accent-soft);color:var(--accent);font-size:14px;line-height:1;cursor:pointer;transition:background .15s ease,transform .15s ease}
#page-dashboard .deck-head-go:hover{background:var(--accent);color:#fff;transform:translateY(-1px)}
#page-dashboard .deck-head-go:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
#page-dashboard .deck-figure-label{display:none;font-size:var(--type-caption);font-weight:500;letter-spacing:0;color:var(--desk-muted)}
#page-dashboard .deck-card[data-w="2"] .deck-figure-label,#page-dashboard .deck-card[data-w="3"] .deck-figure-label{display:inline}
#page-dashboard .deck-delta{font-size:var(--type-caption);font-weight:650;letter-spacing:0}
#page-dashboard .deck-delta.is-up{color:var(--success)}
#page-dashboard .deck-delta.is-down{color:var(--danger)}
#page-dashboard .deck-delta.is-flat,#page-dashboard .deck-delta.is-new{color:var(--desk-muted)}
#page-dashboard .deck-note{margin:var(--space-2) 0 auto;font-size:var(--type-meta);color:var(--desk-muted)}

#page-dashboard .deck-card-tools{display:flex;align-items:center;gap:var(--space-2);margin-top:var(--space-2)}

#page-dashboard .deck-period{margin-left:auto}
#page-dashboard .deck-period select{font-family:inherit;font-size:var(--type-caption);font-weight:600;letter-spacing:0;color:var(--desk-ink);background:var(--desk-soft);border:1px solid transparent;border-radius:999px;min-height:29px;padding:0 26px 0 10px;cursor:pointer;appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2' stroke-linecap='round'><path d='m6 9 6 6 6-6'/></svg>");background-repeat:no-repeat;background-position:right 8px center;background-size:13px}
#page-dashboard .deck-period select:focus-visible{outline:2px solid var(--accent);outline-offset:2px}

/* İki akış birlikte çizilince hangi çizginin ne olduğu efsaneden okunur.
   İkinci akış YENİ BİR RENK DEĞİLDİR: aynı vurgu renginin soluk tonudur. */
#page-dashboard .deck-legend{display:flex;flex-wrap:wrap;gap:4px var(--space-3);min-width:0}
#page-dashboard .deck-legend-item{display:inline-flex;align-items:center;gap:var(--space-1);font-size:var(--type-caption);letter-spacing:0;color:var(--desk-muted)}
#page-dashboard .deck-legend-item::before{content:"";width:10px;height:2px;border-radius:2px;background:var(--accent)}
#page-dashboard .deck-legend-item.is-second::before{background:color-mix(in srgb,var(--accent) 45%,var(--desk-muted))}

#page-dashboard .deck-chart{flex:1;display:flex;flex-direction:column;min-height:0;margin-top:var(--space-2)}
#page-dashboard .deck-chart-plot{position:relative;flex:1;min-height:0;padding-left:30px}
#page-dashboard .deck-chart.is-bare .deck-chart-plot{padding-left:0}
#page-dashboard .deck-chart-y{position:absolute;inset:0 auto 0 0;width:26px}
#page-dashboard .deck-chart-y span{position:absolute;right:0;transform:translateY(-50%);font-size:var(--type-caption);letter-spacing:0;color:var(--desk-muted)}
#page-dashboard .deck-chart-canvas{height:100%}
#page-dashboard .deck-chart-canvas svg{display:block;width:100%;height:100%;overflow:visible}
#page-dashboard .deck-chart-grid{stroke:var(--desk-line);stroke-width:1}
/* Birleşik grafik: sütun = bu dönemin kovası (sipariş grafiğinde iki akış
   üst üste; ikinci akış vurgunun soluk tonudur, yeni renk değil), kesikli
   çizgi = önceki eşit dönem, sütun üstü yazı = değer. Sütunlar HTML'dir. */
#page-dashboard .deck-chart-canvas{position:relative}
#page-dashboard .deck-chart-canvas>svg{position:absolute;inset:0;pointer-events:none}
#page-dashboard .deck-chart-grid.is-base{stroke:var(--desk-line)}
#page-dashboard .deck-cols{position:absolute;inset:0;display:grid;grid-template-columns:repeat(var(--deck-cols),minmax(0,1fr));column-gap:4px;align-items:end}
#page-dashboard .deck-chart.is-dense .deck-cols{column-gap:2px}
#page-dashboard .deck-col{position:relative;display:flex;align-items:flex-end;justify-content:center;height:100%;min-width:0;cursor:default}
#page-dashboard .deck-col-fill{display:flex;flex-direction:column-reverse;width:100%;max-width:28px;min-height:3px;overflow:hidden;border-radius:5px 5px 2px 2px;background:var(--accent);transition:opacity .16s ease,filter .16s ease}
#page-dashboard .deck-chart.is-dense .deck-col-fill{border-radius:3px 3px 1px 1px}
#page-dashboard .deck-col-fill.is-zero{background:var(--desk-soft);border-radius:2px}
#page-dashboard .deck-col-seg{display:block;flex:1 1 0;min-height:2px}
#page-dashboard .deck-col-seg.is-main{background:var(--accent)}
#page-dashboard .deck-col-seg.is-second{background:color-mix(in srgb,var(--accent) 45%,var(--desk-muted))}

#page-dashboard .deck-cols:hover .deck-col:not(:hover) .deck-col-fill:not(.is-zero){opacity:.42}
#page-dashboard .deck-col:hover .deck-col-fill.is-zero{background:color-mix(in srgb,var(--accent) 22%,var(--desk-soft))}
#page-dashboard .deck-chart-line.is-compare{fill:none;stroke:var(--desk-ink);stroke-width:1.6;stroke-dasharray:5 4;stroke-linecap:round;opacity:.5}
#page-dashboard .deck-col-vals{position:absolute;inset:0;pointer-events:none}
#page-dashboard .deck-col-val{position:absolute;transform:translate(-50%,-3px);font-size:10.5px;font-weight:650;line-height:1;letter-spacing:-.01em;font-variant-numeric:tabular-nums;color:var(--desk-muted);white-space:nowrap}
#page-dashboard .deck-col-val.is-start,#page-dashboard .deck-col-val.is-end{transform:translateY(-3px)}
#page-dashboard .deck-col-val.is-peak{color:var(--desk-ink);font-weight:720}
#page-dashboard .deck-legend-item.is-bar::before{width:8px;height:8px;border-radius:2px}
#page-dashboard .deck-legend-item.is-compare::before{width:12px;height:0;border-top:1.6px dashed var(--desk-ink);background:none;opacity:.55}
#page-dashboard .deck-figure-unit{font-size:var(--type-caption);font-weight:650;letter-spacing:0;color:var(--desk-muted)}
#page-dashboard .deck-head-tools{display:flex;align-items:center;gap:var(--space-2);margin-left:auto}
#page-dashboard .deck-head-tools .deck-period{margin-left:0}
#page-dashboard .deck-card-title.is-with-go{flex-direction:row;align-items:center;gap:var(--space-2)}
#page-dashboard .deck-card-title.is-with-go .deck-head-go{margin-left:0}
#page-dashboard .deck-chart-x{position:relative;height:16px;margin-top:var(--space-1);margin-left:30px}
#page-dashboard .deck-chart-x span{position:absolute;transform:translateX(-50%);white-space:nowrap;font-size:var(--type-caption);letter-spacing:0;color:var(--desk-muted)}

#page-dashboard .deck-card-foot{display:flex;align-items:center;gap:var(--space-2);margin-top:var(--space-1);flex-wrap:wrap}
#page-dashboard .deck-card-foot.is-end{justify-content:flex-end}
#page-dashboard .deck-chip{font-family:inherit;font-size:var(--type-caption);font-weight:600;letter-spacing:0;color:var(--desk-muted);background:none;border:0;border-radius:8px;min-height:26px;padding:0 6px;margin-left:-6px;cursor:pointer;white-space:nowrap}
#page-dashboard .deck-chip b{font-weight:650;color:var(--desk-ink);margin-left:3px}
#page-dashboard .deck-chip:hover{color:var(--accent)}
#page-dashboard .deck-chip.is-add{color:var(--accent)}
#page-dashboard .deck-chip:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
#page-dashboard .deck-record-note{margin-left:auto;font-size:var(--type-caption);letter-spacing:0;color:var(--desk-muted)}
#page-dashboard .deck-list-nav{display:flex;align-items:center;gap:3px;margin-left:auto;color:var(--desk-muted)}
#page-dashboard .deck-list-nav span{margin-right:2px;font-size:var(--type-caption);font-variant-numeric:tabular-nums;white-space:nowrap}
#page-dashboard .deck-list-nav button{display:grid;place-items:center;width:25px;height:25px;padding:0;border:1px solid var(--desk-line);border-radius:8px;background:var(--desk-soft);color:var(--desk-ink);font-family:inherit;font-size:14px;font-weight:600;line-height:1;cursor:pointer}
#page-dashboard .deck-list-nav button:hover:not(:disabled){border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}
#page-dashboard .deck-list-nav button:disabled{opacity:.34;cursor:default}
#page-dashboard .deck-list-nav button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}

/* Kayıt satırı: ticket, sipariş, bildirim ve sohbet aynı anatomiyi kullanır. */
#page-dashboard .deck-feed{flex:1;display:flex;flex-direction:column;gap:1px;min-height:0;margin-top:var(--space-1);overflow:hidden}
#page-dashboard .deck-record{display:flex;align-items:center;gap:var(--space-2);min-height:34px;padding:5px 6px;margin:0 -6px;font-family:inherit;font-size:var(--type-control);color:var(--desk-ink);text-align:left;background:none;border:0;border-radius:9px;cursor:pointer;min-width:0}
#page-dashboard .deck-record:hover{background:var(--desk-soft)}
#page-dashboard .deck-record.is-unread .deck-record-copy b{font-weight:680}
#page-dashboard .deck-record.is-unread .deck-record-dot{box-shadow:0 0 0 3px var(--accent-soft)}
#page-dashboard .deck-record:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
#page-dashboard .deck-record-dot{flex:none;width:7px;height:7px;border-radius:50%}
#page-dashboard .deck-record-copy{display:flex;flex-direction:column;gap:0;min-width:0;flex:1}
#page-dashboard .deck-record-copy b{font-weight:600;font-size:var(--type-meta);line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#page-dashboard .deck-record-copy small{font-size:var(--type-caption);letter-spacing:0;line-height:1.3;color:var(--desk-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#page-dashboard .deck-record-meta{flex:none;font-size:var(--type-caption);letter-spacing:0;color:var(--desk-muted);white-space:nowrap}
#page-dashboard [data-deck-id="notifications"] .deck-feed{gap:var(--space-1);margin-top:var(--space-2)}
#page-dashboard [data-deck-id="notifications"] .deck-record{min-height:38px;padding:6px var(--space-2);margin:0 calc(var(--space-2) * -1)}
#page-dashboard [data-deck-id="notifications"] .deck-record-copy b{font-size:var(--type-control)}
#page-dashboard [data-deck-id="notifications"] .deck-record-copy small{font-size:var(--type-meta)}
#page-dashboard .deck-rotator.is-single{margin-top:var(--space-1)}

/* Takip Kartları: pano içindeki siparişler sırayla görünür. */
#page-dashboard [data-deck-id="tracking"]{padding:var(--space-4) 20px}
#page-dashboard [data-deck-id="tracking"] .deck-rotator-order{gap:0;padding:var(--space-3)}
#page-dashboard .deck-tracking-termins{display:flex;flex-direction:column;gap:2px;min-height:0;margin-top:var(--space-2)}
#page-dashboard .deck-tracking-termin{display:grid;grid-template-columns:7px minmax(0,1fr) auto;align-items:center;gap:var(--space-2);min-height:26px;padding:0;font-family:inherit;color:var(--desk-ink);text-align:left;background:none;border:0;border-radius:8px;cursor:pointer}
#page-dashboard .deck-tracking-termin:hover{color:var(--accent);background:var(--desk-soft)}
#page-dashboard .deck-tracking-termin:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
#page-dashboard .deck-tracking-termin i{width:7px;height:7px;border-radius:50%;background:var(--success)}
#page-dashboard .deck-tracking-termin.is-warning i{background:var(--warning-fill)}
#page-dashboard .deck-tracking-termin.is-danger i{background:var(--danger)}
#page-dashboard .deck-tracking-termin span{min-width:0;overflow:hidden;font-size:var(--type-meta);font-weight:650;letter-spacing:.015em;text-overflow:ellipsis;white-space:nowrap}
#page-dashboard .deck-tracking-termin time{font-size:var(--type-caption);font-weight:600;letter-spacing:0;color:var(--desk-muted);white-space:nowrap}
#page-dashboard .deck-tracking-empty{margin:auto 0;font-size:var(--type-meta);line-height:1.45;color:var(--desk-muted)}
#page-dashboard .deck-compact-rotator{display:flex;flex:1;flex-direction:column;min-height:0}
#page-dashboard .deck-compact-rotator .deck-tracking-termins{flex:1;margin-top:2px}
#page-dashboard .deck-compact-actions{display:flex;align-items:center;justify-content:center;gap:var(--space-1);min-height:22px;margin-top:1px}
#page-dashboard .deck-compact-pages{display:flex;align-items:center;gap:1px}
#page-dashboard .deck-compact-pages button{position:relative;width:15px;height:18px;padding:0;border:0;background:none;color:var(--desk-muted);font-family:inherit;font-size:var(--type-control);line-height:1;cursor:pointer}
#page-dashboard .deck-compact-pages .deck-compact-dot::after{content:"";position:absolute;inset:7px 5px;border-radius:50%;background:var(--desk-line)}
#page-dashboard .deck-compact-pages .deck-compact-dot.is-on::after{inset:6px 4px;background:var(--accent)}
#page-dashboard .deck-compact-pages button:focus-visible{outline:2px solid var(--accent);outline-offset:1px;border-radius:5px}
#page-dashboard .deck-compact-records{justify-content:flex-end}
#page-dashboard .deck-compact-records>.deck-record{flex:1;min-height:0;margin-top:2px}
#page-dashboard .deck-rotator{flex:1;display:flex;flex-direction:column;min-height:0;margin-top:var(--space-1)}
#page-dashboard .deck-rotator-order{flex:1;display:flex;flex-direction:column;gap:2px;min-height:0;padding:8px;font-family:inherit;text-align:left;color:var(--desk-ink);background:var(--desk-soft);border:0;border-radius:11px;cursor:pointer;overflow:hidden}
#page-dashboard .deck-rotator-order:hover{background:color-mix(in srgb,var(--accent) 7%,var(--desk-soft))}
#page-dashboard .deck-rotator-order:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
#page-dashboard .deck-rotator-head{display:flex;align-items:center;gap:var(--space-2);min-width:0}
#page-dashboard .deck-rotator-head i{flex:none;width:7px;height:7px;border-radius:50%}
#page-dashboard .deck-rotator-head strong{font-size:var(--type-meta);font-weight:650;letter-spacing:.015em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#page-dashboard .deck-rotator-firma{margin-top:1px;font-size:var(--type-caption);letter-spacing:0;color:var(--desk-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
/* Takip kartı: numara ile müşteri satırı birbirine yapışmasın; müşteri
   satırı noktanın değil numaranın hizasından başlar (7px nokta + 8px aralık). */
#page-dashboard [data-deck-id="tracking"] .deck-rotator-head strong{line-height:1.3}
#page-dashboard [data-deck-id="tracking"] .deck-rotator-firma{margin-top:5px;padding-left:15px;line-height:1.35}
#page-dashboard .deck-fabric-list{display:flex;flex-direction:column;margin:var(--space-1) 0 0;padding:0;list-style:none;min-height:0;overflow:hidden}
#page-dashboard .deck-fabric-list li{display:flex;align-items:center;gap:var(--space-2);font-size:var(--type-caption);line-height:1.25;letter-spacing:0}
#page-dashboard .deck-fabric-list.is-airy{gap:10px;margin-top:12px}
#page-dashboard .deck-fabric-list.is-airy li{line-height:1.55}
#page-dashboard .deck-fabric-list.is-relaxed{gap:5px;margin-top:9px}
#page-dashboard .deck-fabric-list.is-relaxed li{line-height:1.4}
#page-dashboard .deck-fabric-list.is-dense{gap:1px;margin-top:var(--space-1)}
#page-dashboard .deck-fabric-list span{color:var(--desk-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#page-dashboard .deck-fabric-list b{margin-left:auto;font-weight:600;color:var(--desk-ink);white-space:nowrap}
/* Renk adları kumaşın altında ikinci satırda; kumaş satırı yine tek satır. */
#page-dashboard .deck-fabric-list.has-colors li{align-items:flex-start}
#page-dashboard .deck-fabric-list.has-colors span{display:flex;flex-direction:column;gap:1px;white-space:normal}
#page-dashboard .deck-fabric-list.has-colors span small{font-size:var(--type-meta);line-height:1.2;color:var(--desk-muted);opacity:.78;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
/* Terminler kumaşların altında: geçmiş kırmızı, bu hafta sarı, ilerisi sakin. */
#page-dashboard .deck-termin-row{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:var(--space-1);padding-top:var(--space-1);border-top:1px solid var(--desk-line)}
#page-dashboard .deck-termin-chip{font-size:var(--type-caption);font-weight:650;letter-spacing:0;color:var(--desk-muted);white-space:nowrap}
#page-dashboard .deck-termin-chip.is-warning{color:var(--warning)}
#page-dashboard .deck-termin-chip.is-danger{color:var(--danger)}
#page-dashboard .deck-dots{display:flex;align-items:center;justify-content:center;gap:1px;margin-top:var(--space-1)}
#page-dashboard .deck-dot{width:13px;height:13px;padding:0;background:none;border:0;cursor:pointer;position:relative}
#page-dashboard .deck-dot::after{content:"";position:absolute;inset:5px;border-radius:50%;background:var(--desk-line)}
#page-dashboard .deck-dot.is-on::after{inset:4px;background:var(--accent)}
#page-dashboard .deck-dot:focus-visible{outline:2px solid var(--accent);outline-offset:1px;border-radius:50%}
#page-dashboard .deck-dot-nav{width:20px;height:20px;padding:0;font-family:inherit;font-size:var(--type-control);color:var(--desk-muted);background:none;border:0;border-radius:8px;cursor:pointer}
#page-dashboard .deck-dot-nav:hover{color:var(--accent)}

#page-dashboard .deck-avatar{position:relative;flex:none;display:flex;align-items:center;justify-content:center;width:26px;height:26px;padding:0;font-size:var(--type-caption);font-weight:650;letter-spacing:0;color:#fff;border:0;border-radius:50%}
#page-dashboard .deck-avatar.is-online::before{content:"";position:absolute;right:-1px;bottom:-1px;width:8px;height:8px;border-radius:50%;background:var(--success);border:2px solid var(--desk-paper)}

/* ── Liste yüzeyi: ölçüm, özet, boş hâl (2026-09-23) ─────────────────
   Sığmayan satırı deckFitFeeds gizler; [hidden] display:flex'i yenmeli. */
#page-dashboard [data-deck-fit]>[hidden],#page-dashboard .deck-list-nav[hidden]{display:none}
#page-dashboard .deck-card-foot .deck-record-note{margin-left:0;margin-right:auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#page-dashboard .deck-card-foot .deck-record-note+.deck-list-nav{margin-left:0}
#page-dashboard .deck-empty-state{flex:1;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:var(--space-2);min-height:0}
#page-dashboard .deck-card[data-h="1"] .deck-empty-state{justify-content:flex-start}
#page-dashboard .deck-empty-state .deck-note{margin:0}
#page-dashboard .deck-card:not([data-h="1"]) .deck-empty-state{align-items:center;text-align:center}
#page-dashboard .deck-empty-action{min-height:28px;padding:4px 10px;font-family:inherit;font-size:var(--type-meta);font-weight:600;color:var(--accent);background:var(--accent-soft);border:0;border-radius:8px;cursor:pointer}
#page-dashboard .deck-empty-action:hover{background:color-mix(in srgb,var(--accent) 18%,transparent)}
#page-dashboard .deck-empty-action:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
#page-dashboard .deck-card[data-h="1"] .deck-empty-action{display:none}
/* 1×1 Sohbet: ekibin yüz sırası. */
#page-dashboard .deck-faces{flex:1;display:flex;flex-direction:column;justify-content:flex-end;gap:var(--space-1);min-height:0}
#page-dashboard .deck-faces-row{display:flex;align-items:center;gap:4px;min-width:0}
#page-dashboard .deck-faces-row .deck-avatar{cursor:pointer}
#page-dashboard .deck-faces-row .deck-avatar:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
#page-dashboard .deck-faces-row .deck-avatar.has-unread{box-shadow:0 0 0 2px var(--desk-paper),0 0 0 4px var(--accent)}
#page-dashboard .deck-faces-more,#page-dashboard .deck-faces-meta{font-size:var(--type-caption);color:var(--desk-muted)}
/* 1×1 Takip: iki termin + sayfa noktaları 96px'lik gövdeye sığar (eskiden
   noktalar ikinci satırın üstüne biniyordu). */
#page-dashboard .deck-card[data-h="1"] .deck-compact-rotator .deck-tracking-termins{gap:0;margin-top:0}
#page-dashboard .deck-card[data-h="1"] .deck-tracking-termin{min-height:24px}
#page-dashboard .deck-card[data-h="1"] .deck-compact-actions{min-height:18px;margin-top:0}
/* 3 kutu Takip: önizleme içeriği kadar, altında sıradaki terminler. */
#page-dashboard [data-deck-id="tracking"][data-h="3"] .deck-rotator{flex:none}
#page-dashboard [data-deck-id="tracking"][data-h="3"] .deck-rotator-order{flex:none}
#page-dashboard .deck-tracking-next{flex:1;display:flex;flex-direction:column;min-height:0;margin-top:var(--space-3);padding-top:var(--space-2);border-top:1px solid var(--desk-line)}
#page-dashboard .deck-tracking-next-title{font-size:var(--type-caption);font-weight:600;color:var(--desk-muted)}
#page-dashboard .deck-tracking-next .deck-tracking-termins{flex:1;margin-top:var(--space-1);overflow:hidden}

/* ── Düzenleme kipi ────────────────────────────────────────────────
   Kart içeriği okunur kalır ama tıklanmaz: kart yalnız seçilir ve sürüklenir.
   Denetimler kartın ALTINDAKİ şerittedir; serbest yerleşimde boy değişimi
   kartın yerini değiştirmediği için şerit imlecin altından kaçmaz. */
#page-dashboard .deck.is-editing .deck-card > *{opacity:.72;pointer-events:none}
#page-dashboard .deck.is-editing .deck-card.is-selected > *{opacity:1}
#page-dashboard .deck.is-editing .deck-card{cursor:grab;touch-action:none;user-select:none;border-style:dashed}
#page-dashboard .deck.is-editing .deck-card:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
#page-dashboard .deck-card.is-selected{border-style:solid;border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}
#page-dashboard .deck-card.is-dragging{opacity:.5;cursor:grabbing}
#page-dashboard .deck-card.is-clash{border-color:var(--danger);box-shadow:0 0 0 2px color-mix(in srgb,var(--danger) 18%,transparent)}
/* Pano bölgesinin (4 kutu) dışına taşan widget: düzenlerken serbesttir ama
   "Bitti"de kalkacağı buradan okunur. */
#page-dashboard .deck-card.is-outside{border-color:var(--danger);border-style:dashed;opacity:.9}
#page-dashboard .deck-limit{position:absolute;left:0;right:0;top:calc(var(--deck-region) * (128px + var(--space-3)) - var(--space-3) / 2);z-index:2;height:0;border-top:2px dashed color-mix(in srgb,var(--danger) 55%,transparent);pointer-events:none}
#page-dashboard .deck-limit span{position:absolute;right:0;top:4px;padding:2px 8px;font-size:var(--type-caption);font-weight:650;letter-spacing:0;color:var(--danger);background:var(--bg);border-radius:999px}

/* Hayalet dikdörtgen: boy şeridine imleç değince ya da sürüklerken,
   seçilen boyun/hedefin kaplayacağı alanı TIKLAMADAN ÖNCE gösterir. */
#page-dashboard .deck-ghost{position:absolute;z-index:4;display:flex;align-items:flex-start;justify-content:center;padding:var(--space-2);text-align:center;font-size:var(--type-caption);font-weight:650;letter-spacing:0;color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,transparent);border:2px dashed var(--accent);border-radius:16px;pointer-events:none}
#page-dashboard .deck-ghost.is-clash{color:var(--danger);background:color-mix(in srgb,var(--danger) 12%,transparent);border-color:var(--danger)}

/* Boy şeridi — seçili widgetın tam altında, panonun kendi katmanında. */
#page-dashboard .deck-size-bar{position:absolute;z-index:7;display:flex;align-items:center;gap:var(--space-2);padding:5px 8px;background:var(--desk-paper);border:1px solid var(--desk-line);border-radius:999px;box-shadow:0 18px 44px rgba(15,23,42,.18)}
#page-dashboard .deck-size-name{font-size:var(--type-caption);font-weight:650;letter-spacing:0;white-space:nowrap}
#page-dashboard .deck-size{display:flex;gap:2px;padding:2px;background:var(--desk-soft);border-radius:999px}
#page-dashboard .deck-size-chip{min-width:34px;min-height:24px;padding:0 6px;font-family:inherit;font-size:var(--type-caption);font-weight:600;letter-spacing:0;color:var(--desk-muted);background:none;border:0;border-radius:999px;cursor:pointer}
#page-dashboard .deck-size-chip:hover{color:var(--desk-ink);background:var(--desk-paper)}
#page-dashboard .deck-size-chip.is-on{color:#fff;background:var(--accent)}
#page-dashboard .deck-size-chip:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
#page-dashboard .deck-size-single{font-size:var(--type-caption);color:var(--desk-muted)}
#page-dashboard .deck-size-remove{font-family:inherit;font-size:var(--type-caption);font-weight:600;letter-spacing:0;color:var(--danger);background:none;border:0;border-radius:8px;min-height:24px;padding:0 6px;cursor:pointer}
#page-dashboard .deck-size-remove:focus-visible{outline:2px solid var(--danger);outline-offset:2px}
/* Seçili widget şeridindeki onay: düzeni kaydedip düzenlemeyi kapatır (Bitti ile aynı). */
#page-dashboard .deck-size-confirm{font-family:inherit;font-size:var(--type-caption);font-weight:650;letter-spacing:0;color:#fff;background:var(--accent);border:0;border-radius:999px;min-height:26px;padding:0 12px;cursor:pointer;white-space:nowrap}
#page-dashboard .deck-size-confirm:hover{filter:brightness(1.08)}
#page-dashboard .deck-size-confirm:focus-visible{outline:2px solid var(--accent);outline-offset:2px}

#page-dashboard .deck-picker-wrap{margin-top:var(--space-3)}
#page-dashboard .deck-picker{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:var(--space-2);padding:var(--space-4);border:1px solid var(--desk-line);border-radius:16px;background:var(--desk-paper)}
#page-dashboard .deck-picker-empty{margin:0;font-size:var(--type-control);color:var(--desk-muted)}
#page-dashboard .deck-picker-item{display:flex;align-items:center;gap:var(--space-3);min-height:44px;padding:8px 12px;font-family:inherit;text-align:left;color:var(--desk-ink);background:none;border:0;border-radius:10px;cursor:pointer}
#page-dashboard .deck-picker-item:hover{background:var(--desk-soft)}
#page-dashboard .deck-picker-size{flex:none;min-width:44px;font-size:var(--type-caption);font-weight:600;letter-spacing:0;color:var(--desk-muted)}
#page-dashboard .deck-picker-copy{display:flex;flex-direction:column;gap:2px;min-width:0}
#page-dashboard .deck-picker-copy b{font-size:var(--type-control);font-weight:650}
#page-dashboard .deck-picker-copy small{font-size:var(--type-caption);letter-spacing:0;color:var(--desk-muted)}
#page-dashboard .deck-picker-add{margin-left:auto;color:var(--accent);font-weight:600}
#page-dashboard .deck-picker-item:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}

.deck-tip{position:fixed;z-index:9000;display:flex;flex-direction:column;gap:1px;padding:8px 10px;border:1px solid var(--desk-line);border-radius:10px;background:var(--desk-paper);box-shadow:0 18px 44px rgba(15,23,42,.18);pointer-events:none;font-size:var(--type-caption);letter-spacing:0;color:var(--desk-muted)}
.deck-tip[hidden]{display:none}
.deck-tip b{font-size:var(--type-meta);font-weight:650;color:var(--desk-ink)}
.deck-tip span{font-size:var(--type-control);font-weight:650;color:var(--accent)}
.deck-tip small em{font-style:normal;font-weight:650;color:var(--desk-ink)}

/* Dar ekranda serbest konum korunamaz: widgetlar okuma sırasına (üstten
   alta, soldan sağa) göre akar. JS bu sırayı --order ile verir. */
@media(max-width:1150px){
  #page-dashboard .deck-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:none;grid-auto-rows:128px;grid-auto-flow:row dense}
  #page-dashboard .deck-card{grid-column:span min(var(--w),2);grid-row:span var(--h);order:var(--order,0)}
  #page-dashboard .deck-ghost,#page-dashboard .deck-size-bar{display:none}
}
@media(max-width:650px){
  #page-dashboard .deck-grid{grid-template-columns:minmax(0,1fr);gap:var(--space-2)}
  #page-dashboard .deck-card{grid-column:span 1;padding:var(--space-3)}
  #page-dashboard .deck-card-figure b{font-size:22px}
  /* Araç şeridi dar ekranda tek satırda kalsın: kutular sıkışır, sarmaz —
     sarmak kartı uzatıp grafiği eziyordu. */
  #page-dashboard .deck-card-tools{gap:var(--space-1)}
  
  #page-dashboard .deck-period select{padding:0 22px 0 8px;background-position:right 6px center}
  /* Mobilde 2×2 kart tek sütuna düştüğü için takvim matrisi saati ezmez;
     1×2 ayrıntı düzenine geri döner. Masaüstünde tam matris korunur. */
  #page-dashboard .deck-card.is-clock[data-w="2"] .deck-clock{display:flex;padding:17px 18px}
  #page-dashboard .deck-card.is-clock[data-w="2"] .deck-clock-top,
  #page-dashboard .deck-card.is-clock[data-w="2"] .deck-clock-led,
  #page-dashboard .deck-card.is-clock[data-w="2"] .deck-clock-date,
  #page-dashboard .deck-card.is-clock[data-w="2"] .deck-clock-divider,
  #page-dashboard .deck-card.is-clock[data-w="2"] .deck-clock-month{grid-column:auto;grid-row:auto}
  #page-dashboard .deck-card.is-clock[data-w="2"] .deck-clock-led{align-self:auto;justify-content:center;margin:23px 0 18px}
  #page-dashboard .deck-card.is-clock[data-w="2"] .deck-clock-calendar{display:none}
}
@media (prefers-reduced-motion: reduce){
  #page-dashboard .deck-card {transition:none}
}

/* Ticketlar sayfası ile anasayfa Ticket Önizleme AYNI klasör/liste/akış
   çizicilerini kullanır. Stilleri de burada ortaktır; önizleme açılışta
   göründüğü için bu blok gecikmeli tickets-refined.css'te durmaz. */
:is(#page-tickets,#ticketModal,#recentTickets) {
  --ticket-workspace-line:var(--desk-line);
  --ticket-workspace-blue:#1683f8;
  --surface-solid:var(--desk-paper);
  --ticket-selected:color-mix(in srgb,var(--ticket-workspace-blue) 9%,var(--desk-paper));
}
:is(#page-tickets,#ticketModal,#recentTickets) :is(.ticket-folder-pane,.ticket-list-pane,.ticket-workspace-inspector) { --ticket-workspace-line:var(--desk-line); }
:is(#page-tickets,#recentTickets) .ticket-folder-pane { padding:18px 10px; background:var(--desk-soft); }
:is(#page-tickets,#recentTickets) .ticket-pane-title { padding:0 10px; margin-bottom:8px; font-size:10px; font-weight:750; letter-spacing:.12em; }
:is(#page-tickets,#recentTickets) .ticket-pane-title.is-categories { margin-top:22px; }
:is(#page-tickets,#recentTickets) :is(.ticket-smart-folders>button,.ticket-folder-row) { min-height:42px; padding:8px 10px; font-family:inherit; font-size:12px; font-weight:600; line-height:1.35; }
:is(#page-tickets,#recentTickets) :is(.ticket-smart-folders>button>b,.ticket-folder-row>b,.ticket-folder-children button>b) { font-size:11px; font-weight:600; }
:is(#page-tickets,#recentTickets) .ticket-folder-children button { min-height:34px; font-family:inherit; font-size:11px; }
:is(#page-tickets,#recentTickets) .ticket-folder-icon { width:16px; height:12px; border-color:var(--desk-muted); background:transparent; box-shadow:none; }
:is(#page-tickets,#recentTickets) .ticket-folder-icon::before { top:-4px; height:4px; width:7px; border-color:var(--desk-muted); background:var(--desk-soft); }
:is(#page-tickets,#recentTickets) .ticket-folder-icon::after { display:none; }
:is(#page-tickets,#ticketModal,#recentTickets) :is(.ticket-list-pane,.ticket-workspace-inspector) { background:var(--desk-paper); }
:is(#page-tickets,#recentTickets) .ticket-list-pane { --ticket-pane-type-main:13px; --ticket-pane-type-meta:11px; }
:is(#page-tickets,#recentTickets) .ticket-list-pane>header { min-height:64px; padding:0 18px; }
:is(#page-tickets,#recentTickets) .ticket-list-pane>header strong { font-size:14px; font-weight:700; }
:is(#page-tickets,#recentTickets) .ticket-file-row { min-height:90px; gap:10px; padding:16px 14px; color:var(--desk-ink); }
:is(#page-tickets,#recentTickets) .ticket-file-row:hover { background:var(--desk-soft); }
:is(#page-tickets,#recentTickets) .ticket-file-row.selected { background:var(--ticket-selected); box-shadow:inset 3px 0 var(--ticket-workspace-blue); }
:is(#page-tickets,#recentTickets) .ticket-file-row.ticket-just-sent { animation:ticketWorkspaceJustSent 1.05s ease-in-out 2; }
@keyframes ticketWorkspaceJustSent { 50% { background:color-mix(in srgb,var(--accent) 17%,var(--desk-paper)); } }
:is(#page-tickets,#recentTickets) .ticket-file-row.selected :is(.ticket-file-title strong,.ticket-file-title>span) { color:var(--desk-ink); }
:is(#page-tickets,#recentTickets) .ticket-file-row.selected :is(.ticket-file-meta,.ticket-file-side) { color:var(--desk-muted); opacity:1; }
:is(#page-tickets,#recentTickets) .ticket-file-row.selected .ticket-file-state>time { color:var(--desk-muted); }
:is(#page-tickets,#recentTickets) .ticket-file-row.selected .ticket-file-status { background:var(--ticket-workspace-blue); border-color:var(--ticket-workspace-blue); }
:is(#page-tickets,#recentTickets) .ticket-file-title { align-items:baseline; gap:7px; }
:is(#page-tickets,#recentTickets) .ticket-file-title strong { font-family:inherit; font-size:11px; font-weight:650; color:var(--desk-muted); }
:is(#page-tickets,#recentTickets) .ticket-file-priority-mark {
  display:inline-grid;
  flex:0 0 auto;
  place-items:center;
  width:15px;
  height:15px;
  color:#d6a128;
  font-size:15px;
  font-weight:850;
  line-height:1;
}
:is(#page-tickets,#recentTickets) .ticket-file-priority-mark.is-important { transform:translateY(1px); }
:is(#page-tickets,#recentTickets) .ticket-file-priority-mark.is-urgent svg { width:14px; height:14px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
:is(#page-tickets,#recentTickets) .ticket-file-title>.ticket-file-message { white-space:normal; font-weight:650; line-height:1.45; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
:is(#page-tickets,#recentTickets) .ticket-file-message>span { display:inline; min-width:0; padding:0; overflow-wrap:anywhere; animation:none!important; }
:is(#page-tickets,#recentTickets) .ticket-file-meta { font-weight:500; gap:5px; }
:is(#page-tickets,#recentTickets) .ticket-file-meta>span:first-child { flex:0 1 auto; }
:is(#page-tickets,#recentTickets) .ticket-file-side { width:62px; grid-template-columns:1fr; }
:is(#page-tickets,#recentTickets) .ticket-file-row .ticket-file-state>b { color:#238153; background:color-mix(in srgb,#35b476 10%,var(--desk-paper)); font-weight:650; }
:is(#page-tickets,#recentTickets) .ticket-file-row .ticket-file-state>b.is-progress { color:#9a6512; background:color-mix(in srgb,#d49a30 12%,var(--desk-paper)); }
:is(#page-tickets,#recentTickets) .ticket-file-row .ticket-file-state>b.is-closed { color:var(--desk-muted); background:var(--desk-soft); }
:is(#page-tickets,#ticketModal,#recentTickets) :is(.ticket-meta-status,.ticket-status).is-closing {
  border-color:color-mix(in srgb,#d49a30 52%,var(--desk-line));
  background:color-mix(in srgb,#d49a30 14%,var(--desk-paper))!important;
  box-shadow:inset 0 0 0 999px color-mix(in srgb,#d49a30 7%,transparent);
  color:#9a6512;
}
:is(#page-tickets,#ticketModal,#recentTickets) .ticket-meta-status.is-closing strong { display:flex; align-items:baseline; gap:5px; color:#9a6512; }
:is(#page-tickets,#ticketModal,#recentTickets) .ticket-meta-status.is-closing strong b { font-size:inherit; font-weight:750; }
:is(#page-tickets,#ticketModal,#recentTickets) .ticket-meta-status.is-closing strong i { color:var(--desk-muted); font-size:10px; font-style:normal; font-weight:600; }
:is(#page-tickets,#ticketModal,#recentTickets) .ticket-status.is-closing b { font-weight:800; }
html[data-theme="dark"] :is(#page-tickets,#ticketModal,#recentTickets) :is(.ticket-meta-status,.ticket-status).is-closing { background:color-mix(in srgb,#d49a30 16%,var(--desk-paper))!important; }
:is(#page-tickets,#ticketModal,#recentTickets) .ticket-workspace-inspector { --ticket-inspector-type-main:14px; --ticket-inspector-type-meta:11px; }
:is(#page-tickets,#ticketModal,#recentTickets) .ticket-inspector-head { min-height:82px; padding:16px 20px; gap:12px; flex-wrap:wrap; }
:is(#page-tickets,#ticketModal,#recentTickets) .ticket-inspector-title { flex:1 1 160px; gap:7px; }
:is(#page-tickets,#ticketModal,#recentTickets) .ticket-inspector-title>span { color:var(--desk-muted); font-size:11px; font-weight:650; }
:is(#page-tickets,#ticketModal,#recentTickets) .ticket-inspector-title>strong { font-size:17px; letter-spacing:-.025em; }
:is(#page-tickets,#ticketModal,#recentTickets) .ticket-inspector-actions { margin-left:auto; }
:is(#page-tickets,#ticketModal,#recentTickets) :is(.ticket-inspector-actions>button,.ticket-inspector-actions .ticket-more-btn,.ticket-inspector-back) { width:34px; min-width:34px; height:34px; min-height:34px; border-radius:10px; color:var(--desk-muted); background:var(--desk-paper)!important; }
:is(#page-tickets,#ticketModal,#recentTickets) .ticket-inspector-scroll { padding:20px; }
:is(#page-tickets,#ticketModal,#recentTickets) .ticket-inspector-meta>button { min-height:38px; padding:0 13px; border-radius:11px; background:var(--desk-soft); }
:is(#page-tickets,#ticketModal,#recentTickets) .ticket-inspector-meta span { font-size:9.5px; font-weight:650; letter-spacing:.07em; }
:is(#page-tickets,#ticketModal,#recentTickets) .ticket-inspector-meta strong { font-size:12px; font-weight:650; }
:is(#page-tickets,#ticketModal,#recentTickets) .ticket-activity-head { margin:26px 0 20px; }
:is(#page-tickets,#ticketModal,#recentTickets) .ticket-activity-head span { font-size:13px; font-weight:650; letter-spacing:0; text-transform:none; }
:is(#page-tickets,#ticketModal,#recentTickets) .ticket-activity-copy>div:first-child strong { font-size:12px; font-weight:650; }
:is(#page-tickets,#ticketModal,#recentTickets) .ticket-activity-copy { gap:7px; }
:is(#page-tickets,#ticketModal,#recentTickets,.tkmini) .ticket-activity-node { background:var(--desk-paper)!important; }
:is(#page-tickets,#ticketModal,#recentTickets) .ticket-activity-message { background:var(--desk-soft); border-color:transparent; border-radius:4px 12px 12px 12px; line-height:1.65; overflow-wrap:anywhere; }
:is(#page-tickets,#ticketModal,#recentTickets) .ticket-activity-item.is-mine .ticket-activity-message { background:var(--ticket-selected); border-color:transparent; }
:is(#page-tickets,#ticketModal,#recentTickets) :is(button,input,select,textarea,[role="button"]):focus-visible { outline:2px solid var(--ticket-workspace-blue); outline-offset:-2px; }
html[data-theme="dark"] :is(#page-tickets,#recentTickets) .ticket-file-row .ticket-file-state>b.is-open { color:#79d8a5; }
html[data-theme="dark"] :is(#page-tickets,#recentTickets) .ticket-file-row .ticket-file-state>b.is-progress { color:#edc16e; }
html[data-theme="dark"] :is(#page-tickets,#ticketModal,#recentTickets) .ticket-inspector-meta strong.is-open { color:#79d8a5; }
html[data-theme="dark"] :is(#page-tickets,#ticketModal,#recentTickets) .ticket-inspector-meta strong.is-progress { color:#edc16e; }

/* ── Yanıt düzenleme/silme ve gün ayırıcıları ─────────────────────────
   Tarih yalnız gün değiştiğinde ayırıcı satırda görünür; mesajlarda saat kalır. */
:is(#page-tickets,#ticketModal,#recentTickets) .ticket-activity-day {
  display:flex;
  align-items:center;
  gap:10px;
  margin:14px 0 12px;
  color:var(--desk-muted);
  font-size:10px;
  font-weight:700;
  letter-spacing:.04em;
}
:is(#page-tickets,#ticketModal,#recentTickets) .ticket-activity-day::before,
:is(#page-tickets,#ticketModal,#recentTickets) .ticket-activity-day::after {
  height:1px;
  flex:1;
  background:var(--desk-line);
  content:"";
}
:is(#page-tickets,#ticketModal,#recentTickets) .ticket-activity-day>span { flex:0 0 auto }

/* Düzenlendi / silindi izi: yazar satırının yanında sessiz bir not */
:is(#page-tickets,#ticketModal,#recentTickets) .ticket-activity-trail {
  margin-left:7px;
  padding-left:8px;
  border-left:1px solid var(--desk-line);
  color:var(--desk-muted);
  font-size:10px;
  font-weight:600;
  font-style:italic;
}
:is(#page-tickets,#ticketModal,#recentTickets) .ticket-activity-trail.is-removed { color:#b4483c; font-style:normal; font-weight:650 }
html[data-theme="dark"] :is(#page-tickets,#ticketModal,#recentTickets) .ticket-activity-trail.is-removed { color:#f0938a }
:is(#page-tickets,#ticketModal,#recentTickets) .ticket-activity-removed { color:var(--desk-muted); font-style:italic }
:is(#page-tickets,#ticketModal,#recentTickets) .ticket-activity-item.is-removed .ticket-activity-message {
  background:transparent;
  border:1px dashed var(--desk-line);
}

:is(#page-tickets,#ticketModal,#recentTickets) .ticket-activity-item.is-opening-event .ticket-activity-message.is-opening-message {
  padding:0; border:0; border-radius:0; background:transparent; line-height:1.5;
}
/* Ticket Önizleme yoğunluğu (2026-09-23): ana sayfada liste bir BAKIŞ
   yüzeyidir; Ticketlar sayfasındaki 90px'lik çalışma satırı burada 6 ticketın
   ancak 5'ini gösteriyordu. Aynı satır bileşeni, daha sıkı ölçü. Ticketlar
   sayfası etkilenmez. */
#recentTickets .ticket-file-row{min-height:0;padding:11px 14px;gap:8px}
#recentTickets .ticket-file-title>.ticket-file-message{line-height:1.4}
#recentTickets .ticket-list-pane>header{min-height:56px}
#recentTickets .ticket-inspector-head{min-height:72px;padding:14px 20px}
/* Ticket Önizleme dar ekran: Ticketlar sayfasıyla aynı kırılımlar */
@media(max-width:1100px){#recentTickets .dashboard-ticket-hub{grid-template-columns:minmax(280px,.85fr) minmax(0,1fr)}#recentTickets .dashboard-ticket-hub>.ticket-folder-pane{display:none}}
@media(max-width:720px){#recentTickets .dashboard-ticket-hub{grid-template-columns:minmax(0,1fr);height:auto}#recentTickets .dashboard-ticket-hub>.ticket-workspace-inspector{display:none}#recentTickets .dashboard-ticket-hub-list{border-right:0}#recentTickets .dashboard-ticket-hub-list>div{max-height:420px}}

/* Dar (1 kutu) Aktiviteler / Bildirimler: başlık tek satırda kesilmez, iki
   satıra kadar sarar; zaman künyesi üst satıra hizalanır. Liste ölçümle
   sığdırıldığı için (deckFitFeeds) uzayan satır sayfalamayı kendisi ayarlar. */
#page-dashboard .deck-card[data-w="1"]:is([data-deck-id="activity"],[data-deck-id="notifications"]) .deck-feed .deck-record{flex:none;align-items:flex-start}
#page-dashboard .deck-card[data-w="1"]:is([data-deck-id="activity"],[data-deck-id="notifications"]) .deck-feed .deck-record-copy b{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;white-space:normal;overflow:hidden}
#page-dashboard .deck-card[data-w="1"]:is([data-deck-id="activity"],[data-deck-id="notifications"]) .deck-feed .deck-record-dot{margin-top:5px}

/* ── Pixel art sahne widgetları ──────────────────────────────────────────
   Her sahne 640×288'lik tek tuvaldir; kart onun bir KADRAJINI gösterir
   (--s tam sayı ölçek, --ox/--oy tuval pikseline hizalı kaydırma — JS kartın
   gerçek ölçüsünden yazar). Tuval yatayda tekrarlanmaz.
   Hareket yalnız değişen küçük bantlardadır: her bant kendi <i>'sidir ve
   ortak şeritten steps() ile kare atlar — kare başına JS çalışmaz.
   Açık tema gündüz, koyu tema gece görselini yükler (yalnız görüneni).
   Görünmeyen ya da arka sekmedeki sahne DURUR; hareket azaltma açıksa hiç
   oynamaz. Bu üç fren eski makineler için vardır, kaldırılmaz.
   ?v= etiketlerini `python3 tools/pixel-sahne.py` kendisi günceller. */
#page-dashboard .deck-card.is-scene{padding:0}
#page-dashboard .deck-scene{
  --s:2;--ox:0px;--oy:0px;--sw:640;--sh:288;
  position:relative;overflow:hidden;
  flex:1 1 auto;min-height:0;
  background-color:#6aa7d6;
  background-repeat:no-repeat;
  background-position:var(--ox) var(--oy);
  background-size:calc(640px * var(--s)) calc(288px * var(--s));
  image-rendering:pixelated;
}
html[data-theme=dark] #page-dashboard .deck-scene{background-color:#0d1834}
#page-dashboard .deck-scene-band{
  position:absolute;
  left:calc(var(--ox) + var(--bx) * var(--s) * 1px);
  top:calc(var(--oy) + var(--by) * var(--s) * 1px);
  width:calc(var(--bw) * var(--s) * 1px);
  height:calc(var(--bh) * var(--s) * 1px);
  background-repeat:no-repeat;
  background-size:calc(var(--sw) * var(--s) * 1px) calc(var(--sh) * var(--s) * 1px);
  background-position:0 calc(var(--bo) * var(--s) * -1px);
  image-rendering:pixelated;
  animation:deckSceneFrames 4.8s steps(8) infinite;
}
#page-dashboard .deck-scene[data-deck-scene="scene-mountain"]{background-image:url("../images/pixel-daglar-gun.png?v=badbe3b8")}
#page-dashboard .deck-scene[data-deck-scene="scene-mountain"] .deck-scene-band{background-image:url("../images/pixel-daglar-gun-hareket.png?v=66cc6506")}
html[data-theme=dark] #page-dashboard .deck-scene[data-deck-scene="scene-mountain"]{background-image:url("../images/pixel-daglar-gece.png?v=d8118fb5")}
html[data-theme=dark] #page-dashboard .deck-scene[data-deck-scene="scene-mountain"] .deck-scene-band{background-image:url("../images/pixel-daglar-gece-hareket.png?v=62312ba3")}
#page-dashboard .deck-scene[data-deck-scene="scene-ocean"]{background-image:url("../images/pixel-okyanus-gun.png?v=44eeef55")}
#page-dashboard .deck-scene[data-deck-scene="scene-ocean"] .deck-scene-band{background-image:url("../images/pixel-okyanus-gun-hareket.png?v=80f2d1bd")}
html[data-theme=dark] #page-dashboard .deck-scene[data-deck-scene="scene-ocean"]{background-image:url("../images/pixel-okyanus-gece.png?v=a4e31e70")}
html[data-theme=dark] #page-dashboard .deck-scene[data-deck-scene="scene-ocean"] .deck-scene-band{background-image:url("../images/pixel-okyanus-gece-hareket.png?v=dc973dcf")}
#page-dashboard .deck-scene[data-deck-scene="scene-istanbul"]{background-image:url("../images/pixel-istanbul-gun.png?v=9ce8747b")}
#page-dashboard .deck-scene[data-deck-scene="scene-istanbul"] .deck-scene-band{background-image:url("../images/pixel-istanbul-gun-hareket.png?v=95c8450e")}
html[data-theme=dark] #page-dashboard .deck-scene[data-deck-scene="scene-istanbul"]{background-image:url("../images/pixel-istanbul-gece.png?v=77ee2996")}
html[data-theme=dark] #page-dashboard .deck-scene[data-deck-scene="scene-istanbul"] .deck-scene-band{background-image:url("../images/pixel-istanbul-gece-hareket.png?v=8ab648dd")}
#page-dashboard .deck-scene[data-deck-scene="scene-meadow"]{background-image:url("../images/pixel-kir-gun.png?v=dc23d6c3")}
#page-dashboard .deck-scene[data-deck-scene="scene-meadow"] .deck-scene-band{background-image:url("../images/pixel-kir-gun-hareket.png?v=725b96f8")}
html[data-theme=dark] #page-dashboard .deck-scene[data-deck-scene="scene-meadow"]{background-image:url("../images/pixel-kir-gece.png?v=6e677434")}
html[data-theme=dark] #page-dashboard .deck-scene[data-deck-scene="scene-meadow"] .deck-scene-band{background-image:url("../images/pixel-kir-gece-hareket.png?v=be32ce1c")}
#page-dashboard .deck-scene.is-paused .deck-scene-band,
body.deck-scenes-off #page-dashboard .deck-scene-band{animation-play-state:paused}
@keyframes deckSceneFrames{
  from{background-position-y:calc(var(--bo) * var(--s) * -1px)}
  to{background-position-y:calc((var(--bo) + var(--bh) * 8) * var(--s) * -1px)}
}
@media (prefers-reduced-motion: reduce){#page-dashboard .deck-scene-band{animation:none}}

/* ── Saat & Takvim ─────────────────────────────────────────────────
   Görsel bilgi yüzeyi: tıklanmaz. LED'ler saf CSS noktalarıdır; fonta ya da
   animasyona bağlı olmadıkları için eski makinelerde de keskin ve ucuzdur. */
#page-dashboard .deck-card.is-clock{
  --clk-bg:linear-gradient(150deg,#fffdf8,#f4f1ea);--clk-glow:rgba(255,183,77,.14);
  --clk-border:#e7e1d5;--clk-ink:#1f2328;--clk-muted:#6b7178;--clk-faint:#9aa0a6;--clk-line:#e6e0d4;
  --clk-dot-off:#ebe6dc;--clk-dot-on:#e8870e;--clk-dot-shadow:rgba(232,135,14,.28);--clk-today-ink:#fff;
  padding:0;border-color:var(--clk-border);background:#f7f4ee;color:var(--clk-ink);box-shadow:0 10px 24px rgba(60,48,20,.07)}
/* Koyu tema: gece LED'i — karanlık panel, sıcak amber noktalar. */
html[data-theme=dark] #page-dashboard .deck-card.is-clock{
  --clk-bg:linear-gradient(145deg,#20262d,#171b20);--clk-glow:rgba(255,183,77,.055);
  --clk-border:#303841;--clk-ink:#edf0f2;--clk-muted:#919aa3;--clk-faint:#68727b;--clk-line:#323940;
  --clk-dot-off:#30363c;--clk-dot-on:#ffb13b;--clk-dot-shadow:rgba(255,177,59,.48);--clk-today-ink:#181c20;
  background:#1b2026;box-shadow:0 12px 28px rgba(8,12,16,.22)}
#page-dashboard .deck-clock{display:flex;flex:1;min-height:0;flex-direction:column;padding:14px 16px 13px;background:radial-gradient(circle at 84% 12%,var(--clk-glow),transparent 28%),var(--clk-bg);font-variant-numeric:tabular-nums;user-select:none}
#page-dashboard .deck-clock-top{display:flex;align-items:center;justify-content:space-between;color:var(--clk-faint);font-size:10px;font-weight:700;letter-spacing:.16em;line-height:1}
#page-dashboard .deck-clock-top i{width:5px;height:5px;border-radius:50%;background:var(--clk-dot-on);box-shadow:0 0 8px var(--clk-dot-shadow)}
#page-dashboard .deck-clock-led{display:flex;align-items:center;justify-content:center;gap:6px;margin:auto 0 7px;filter:drop-shadow(0 0 5px var(--clk-glow))}
#page-dashboard .deck-clock-digit{display:grid;grid-template-columns:repeat(3,4px);grid-template-rows:repeat(7,4px);gap:2px}
#page-dashboard .deck-clock-digit.is-colon{grid-template-columns:4px;margin:0 1px}
#page-dashboard .deck-clock-digit i{width:4px;height:4px;border-radius:50%;background:var(--clk-dot-off)}
#page-dashboard .deck-clock-digit i.is-on{background:var(--clk-dot-on);box-shadow:0 0 5px var(--clk-dot-shadow)}
#page-dashboard .deck-clock-date{display:flex;align-items:baseline;justify-content:space-between;gap:8px;color:var(--clk-muted);text-transform:capitalize}
#page-dashboard .deck-clock-date strong{font-size:14px;font-weight:680;letter-spacing:.01em;color:var(--clk-ink)}
#page-dashboard .deck-clock-date span{min-width:0;overflow:hidden;font-size:12px;font-weight:550;white-space:nowrap;text-overflow:ellipsis}
#page-dashboard .deck-clock-divider,#page-dashboard .deck-clock-month,#page-dashboard .deck-clock-calendar{display:none}

/* 1×2: aynı saatin altında sakin bir tarih kartuşu açılır. */
#page-dashboard .deck-card.is-clock[data-h="2"] .deck-clock{padding:17px 18px}
#page-dashboard .deck-card.is-clock[data-h="2"] .deck-clock-led{margin:23px 0 18px;gap:7px}
#page-dashboard .deck-card.is-clock[data-h="2"] .deck-clock-digit{grid-template-columns:repeat(3,5px);grid-template-rows:repeat(7,5px);gap:2px}
#page-dashboard .deck-card.is-clock[data-h="2"] .deck-clock-digit.is-colon{grid-template-columns:5px}
#page-dashboard .deck-card.is-clock[data-h="2"] .deck-clock-digit i{width:5px;height:5px}
#page-dashboard .deck-card.is-clock[data-h="2"] .deck-clock-date{flex-direction:column-reverse;align-items:flex-start;gap:3px;margin-top:auto}
#page-dashboard .deck-card.is-clock[data-h="2"] .deck-clock-date strong{font-size:28px;letter-spacing:-.035em}
#page-dashboard .deck-card.is-clock[data-h="2"] .deck-clock-date span{font-size:14px}
#page-dashboard .deck-card.is-clock[data-h="2"] .deck-clock-divider{display:block;height:1px;margin:14px 0 11px;background:var(--clk-line)}
#page-dashboard .deck-card.is-clock[data-h="2"] .deck-clock-month{display:flex;align-items:center;justify-content:space-between;color:var(--clk-muted);font-size:12px}
#page-dashboard .deck-card.is-clock[data-h="2"] .deck-clock-month b{font-weight:600;color:var(--clk-faint)}

/* 2×2: saat solda, gerçek ay matrisi sağda; bugünün hücresi LED tonuyla yanar. */
#page-dashboard .deck-card.is-clock[data-w="2"] .deck-clock{display:grid;grid-template-columns:minmax(150px,.9fr) minmax(190px,1.1fr);grid-template-rows:auto 1fr auto auto;column-gap:26px;padding:20px 22px}
#page-dashboard .deck-card.is-clock[data-w="2"] .deck-clock-top{grid-column:1;grid-row:1}
#page-dashboard .deck-card.is-clock[data-w="2"] .deck-clock-led{grid-column:1;grid-row:2;align-self:center;justify-content:flex-start;margin:0;gap:8px}
#page-dashboard .deck-card.is-clock[data-w="2"] .deck-clock-date{grid-column:1;grid-row:3;flex-direction:column-reverse;align-items:flex-start;gap:3px;margin:0}
#page-dashboard .deck-card.is-clock[data-w="2"] .deck-clock-date strong{font-size:31px}
#page-dashboard .deck-card.is-clock[data-w="2"] .deck-clock-divider{grid-column:1;grid-row:4;margin:13px 0 9px}
#page-dashboard .deck-card.is-clock[data-w="2"] .deck-clock-month{grid-column:1;grid-row:5}
#page-dashboard .deck-card.is-clock[data-w="2"] .deck-clock-calendar{grid-column:2;grid-row:1/6;display:flex;min-height:0;flex-direction:column;justify-content:center;padding-left:22px;border-left:1px solid var(--clk-line)}
/* 2×1: tek satır — LED solda büyük, tarih sağda; ay satırı ve takvim yok. */
#page-dashboard .deck-card.is-clock[data-w="2"][data-h="1"] .deck-clock{grid-template-columns:auto minmax(0,1fr);grid-template-rows:auto 1fr;column-gap:24px;padding:14px 20px 16px}
#page-dashboard .deck-card.is-clock[data-w="2"][data-h="1"] .deck-clock-top{grid-column:1/3}
#page-dashboard .deck-card.is-clock[data-w="2"][data-h="1"] .deck-clock-led{grid-row:2;align-self:center}
#page-dashboard .deck-card.is-clock[data-w="2"][data-h="1"] .deck-clock-digit{grid-template-columns:repeat(3,5px);grid-template-rows:repeat(7,5px)}
#page-dashboard .deck-card.is-clock[data-w="2"][data-h="1"] .deck-clock-digit.is-colon{grid-template-columns:5px}
#page-dashboard .deck-card.is-clock[data-w="2"][data-h="1"] .deck-clock-digit i{width:5px;height:5px}
#page-dashboard .deck-card.is-clock[data-w="2"][data-h="1"] .deck-clock-date{grid-column:2;grid-row:2;align-self:center;align-items:flex-end;text-align:right}
#page-dashboard .deck-card.is-clock[data-w="2"][data-h="1"] .deck-clock-date strong{font-size:26px}
#page-dashboard .deck-clock-week,#page-dashboard .deck-clock-days{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;text-align:center}
#page-dashboard .deck-clock-week{margin-bottom:8px}
#page-dashboard .deck-clock-week b{font-size:10px;font-weight:650;color:var(--clk-faint)}
#page-dashboard .deck-clock-days i{display:grid;place-items:center;min-height:23px;border-radius:50%;font-size:11px;font-style:normal;font-weight:550;color:var(--clk-muted)}
#page-dashboard .deck-clock-days i.is-today{background:var(--clk-dot-on);color:var(--clk-today-ink);font-weight:800;box-shadow:0 0 12px var(--clk-dot-shadow)}
/* Takip kartı: aşama ilerlemesi termin satırında (firma adını kesmesin). */
#page-dashboard .deck-stage-chip{font-size:var(--type-caption);font-weight:650;color:var(--accent);white-space:nowrap;font-variant-numeric:tabular-nums}
#page-dashboard .deck-stage-chip.is-boya{color:var(--success)}
#page-dashboard .deck-stage-group{display:inline-flex;gap:6px;margin-left:auto;white-space:nowrap}

/* ── SİPARİŞ VE TICKET WIDGET YÜKSELTMESİ (2026-10-10) ────────────
   Analiz panosu dili (§3.26) panoya: özet cümle, tıklanır sütun → kart içi
   liste, yaş kovası şeridi, konu şeridi. Kova renkleri FASON_DURATION_RANGES. */
#page-dashboard .deck-lead{margin:2px 0 0;font-size:var(--type-caption);line-height:1.35;color:var(--desk-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#page-dashboard .deck-lead b{color:var(--desk-ink);font-weight:680}
#page-dashboard .deck-col.is-pick{cursor:pointer}
#page-dashboard .deck-chart-line.is-closed{fill:none;stroke:var(--success);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
#page-dashboard .deck-legend-item.is-closed::before{width:12px;height:2px;background:var(--success)}

/* Başlıktaki küçük metin düğmesi: sıralama (Acil/Yeni) ve "‹ Grafik". */
#page-dashboard .deck-sort-toggle{display:inline-flex;align-items:center;gap:3px;flex:none;min-height:24px;padding:0 8px;font-family:inherit;font-size:var(--type-caption);font-weight:600;letter-spacing:0;color:var(--desk-muted);background:var(--desk-soft);border:0;border-radius:999px;cursor:pointer;white-space:nowrap}
#page-dashboard .deck-sort-toggle span{font-size:10px;opacity:.7}
#page-dashboard .deck-sort-toggle.is-back span{font-size:13px;opacity:1;margin-top:-1px}
#page-dashboard .deck-sort-toggle:hover{color:var(--desk-ink)}
#page-dashboard .deck-sort-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}

/* Yaş kovası şeridi: dört eşit hücre, sayı + aralık; basılı hücre süzer. */
#page-dashboard .deck-age-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;margin:var(--space-2) 0 2px}
#page-dashboard .deck-age-cell{display:flex;flex-direction:column;align-items:flex-start;gap:1px;min-width:0;padding:5px 6px 4px;font-family:inherit;color:var(--desk-ink);text-align:left;background:none;border:1px solid var(--desk-line);border-radius:8px;cursor:pointer;position:relative;overflow:hidden}
#page-dashboard .deck-age-cell i{position:absolute;left:0;right:0;top:0;height:3px;background:var(--age)}
#page-dashboard .deck-age-cell b{font-size:13px;font-weight:700;line-height:1.1;font-variant-numeric:tabular-nums}
#page-dashboard .deck-age-cell small{font-size:10px;line-height:1.1;color:var(--desk-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
#page-dashboard .deck-age-cell:hover{border-color:color-mix(in srgb,var(--age) 45%,var(--desk-line))}
#page-dashboard .deck-age-cell.is-on{border-color:var(--age);background:color-mix(in srgb,var(--age) 10%,transparent)}
#page-dashboard .deck-age-cell:focus-visible{outline:2px solid var(--accent);outline-offset:1px}

/* Konu şeridi: tek çubuk + ilk üç konu adı. */
#page-dashboard .deck-cat{display:flex;flex-direction:column;gap:4px;margin-top:var(--space-2);min-width:0}
#page-dashboard .deck-cat-bar{display:flex;gap:2px;height:6px;border-radius:999px;overflow:hidden}
#page-dashboard .deck-cat-seg{flex-basis:0;min-width:4px;height:100%;padding:0;border:0;background:var(--cat);cursor:pointer}
#page-dashboard .deck-cat-bar:hover .deck-cat-seg:not(:hover){opacity:.45}
#page-dashboard .deck-cat-names{display:flex;align-items:center;gap:2px 10px;min-width:0;overflow:hidden;white-space:nowrap}
#page-dashboard .deck-cat-name{display:inline-flex;align-items:center;gap:5px;min-width:0;padding:0;font-family:inherit;font-size:var(--type-caption);letter-spacing:0;color:var(--desk-muted);background:none;border:0;cursor:pointer;white-space:nowrap}
#page-dashboard .deck-cat-name i{flex:none;width:7px;height:7px;border-radius:50%;background:var(--cat)}
#page-dashboard .deck-cat-name b{font-weight:650;color:var(--desk-ink)}
#page-dashboard .deck-cat-name:hover{color:var(--desk-ink)}
#page-dashboard .deck-cat-more{font-size:var(--type-caption);color:var(--desk-muted)}

/* MANZARA ÇERÇEVESİZ (2026-10-10, kullanıcı isteği): resim kartın kenarına
   kadar dayanır; kâğıt, çizgi ve iç boşluk yok. Köşe yuvarlaması kalır.
   Düzenleme kipinde seçim/taşıma çerçevesi yine görünür. */
#page-dashboard .deck-card.is-scene,
html.ds-v2 #page-dashboard .deck-card.is-scene{padding:0;border-color:transparent;background:transparent;box-shadow:none}
#page-dashboard .deck:not(.is-editing) .deck-card.is-scene:hover,
html.ds-v2 #page-dashboard .deck:not(.is-editing) .deck-card.is-scene:hover{border-color:transparent;box-shadow:none}
html #page-dashboard .deck.is-editing .deck-card.is-scene{border-color:var(--desk-line)}
html #page-dashboard .deck .deck-card.is-scene.is-selected{border-color:var(--accent)}
html #page-dashboard .deck .deck-card.is-scene.is-outside{border-color:var(--danger)}
#page-dashboard .deck-card-foot .deck-sort-toggle{margin-right:auto}
/* Koyu v2'deki "üst kenar ışığı" gölgesi manzarada da çerçeve gibi görünüyordu. */
html.ds-v2[data-theme="dark"] #page-dashboard .deck-card.is-scene,
html.ds-v2[data-theme="dark"] #page-dashboard .deck-card.is-scene:hover{box-shadow:none}

/* ── Duyurular (2026-10-20) — widget + pencere. TASARIM-DILI.md §3.40.
   Pencere iskeleti ticket bağlam penceresinin (§3.38 .tks-*) aynısıdır;
   o stil gecikmeli dosyada olduğu için burada .duyuru-* adıyla durur. */
#page-dashboard .duyuru-head-add{margin-left:0;background:transparent;color:var(--desk-muted)}
#page-dashboard .duyuru-head-add:hover{background:var(--desk-soft);color:var(--desk-ink);transform:none}
#page-dashboard .duyuru-head-add svg{width:15px;height:15px}
#page-dashboard [data-deck-id="announcements"] .deck-head-tools+.deck-head-go{margin-left:0}
#page-dashboard .duyuru-feature{display:flex;flex-direction:column;gap:var(--space-2);margin-top:var(--space-2);padding-bottom:var(--space-2);border-bottom:1px solid var(--desk-line);min-width:0}
#page-dashboard .duyuru-feature-open{display:flex;flex-direction:column;gap:var(--space-1);padding:0;border:0;background:none;color:var(--desk-ink);font-family:inherit;text-align:left;cursor:pointer;min-width:0}
#page-dashboard .duyuru-feature-open:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}
#page-dashboard .duyuru-feature-meta{display:flex;align-items:center;gap:6px;min-width:0;font-size:var(--type-caption);letter-spacing:0;color:var(--desk-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#page-dashboard .duyuru-feature-meta b{font-weight:650;color:var(--desk-ink)}
#page-dashboard .duyuru-feature.is-urgent .duyuru-feature-meta b{color:var(--danger)}
#page-dashboard .duyuru-feature-body{font-size:var(--type-control);font-weight:500;line-height:1.45;white-space:pre-line;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
#page-dashboard .duyuru-spacer{flex:1}
#page-dashboard .duyuru-feature-foot{display:flex;align-items:center;gap:var(--space-2);min-width:0}
#page-dashboard .duyuru-feature-foot .duyuru-seen{flex:1}
#page-dashboard .duyuru-feature-foot .duyuru-chip{flex:none;max-width:50%}
#page-dashboard .duyuru-feature{gap:6px;margin-top:var(--space-1)}
#page-dashboard .duyuru-quick{display:flex;align-items:center;gap:var(--space-1);margin-top:var(--space-2);padding:4px 4px 4px var(--space-3);border-radius:22px;background:var(--desk-soft)}
#page-dashboard .duyuru-quick:focus-within{box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 45%,transparent)}
#page-dashboard .duyuru-quick input{flex:1;min-width:0;height:28px;padding:0;border:0;outline:0;background:transparent;color:var(--desk-ink);font:500 var(--type-meta)/1.2 var(--font,inherit);box-shadow:none}
#page-dashboard .duyuru-quick button{display:grid;place-items:center;flex:none;width:28px;height:28px;padding:0;border:0;border-radius:50%;cursor:pointer}
#page-dashboard .duyuru-quick svg{width:15px;height:15px}
#page-dashboard .duyuru-quick-more{background:transparent;color:var(--desk-muted)}
#page-dashboard .duyuru-quick-more:hover{color:var(--desk-ink)}
#page-dashboard .duyuru-quick-send{background:var(--accent);color:var(--on-accent,#fff)}
#page-dashboard .duyuru-quick button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}

/* Gördüm satırı ve anket: widget ve pencere ortak */
.duyuru-dot{display:inline-block;flex:none;width:7px;height:7px;border-radius:50%}
.duyuru-seen{display:flex;align-items:center;gap:var(--space-2);min-width:0;font-size:var(--type-caption);color:var(--desk-muted,var(--muted))}
.duyuru-seen .btn{margin-left:auto}
.duyuru-seen.is-compact .btn{min-height:26px;padding:0 10px;font-size:var(--type-caption)}
.duyuru-seen-count{white-space:nowrap;font-variant-numeric:tabular-nums}
.duyuru-seen-me{display:inline-flex;align-items:center;gap:4px;margin-left:auto;color:var(--success);font-weight:600;white-space:nowrap}
.duyuru-seen-me svg{width:13px;height:13px}
.duyuru-faces{display:inline-flex;align-items:center}
.duyuru-face{display:inline-grid;place-items:center;width:22px;height:22px;margin-left:-5px;border-radius:50%;box-shadow:0 0 0 2px var(--desk-paper,var(--surface-solid));color:#fff;font-size:10px;font-weight:650;letter-spacing:0}
.duyuru-face:first-child{margin-left:0}
.duyuru-faces-more{margin-left:6px;font-size:var(--type-caption);color:var(--desk-muted,var(--muted))}
.duyuru-unseen{margin:var(--space-1) 0 0;font-size:var(--type-caption);color:var(--desk-muted,var(--muted))}
.duyuru-poll{display:flex;flex-direction:column;gap:var(--space-1);min-width:0}
.duyuru-poll-opt{position:relative;display:flex;align-items:center;gap:var(--space-2);min-height:32px;padding:0 var(--space-3);overflow:hidden;border:1px solid var(--desk-line,var(--border));border-radius:9px;background:transparent;color:var(--desk-ink,var(--text));font:600 var(--type-meta)/1.2 var(--font,inherit);text-align:left;cursor:pointer}
.duyuru-poll.is-compact .duyuru-poll-opt{min-height:28px}
.duyuru-poll-opt:disabled{cursor:default}
.duyuru-poll-opt:not(:disabled):hover{background:var(--desk-soft)}
.duyuru-poll-opt:focus-visible{outline:2px solid var(--accent);outline-offset:1px}
.duyuru-poll-bar{position:absolute;inset:0 auto 0 0;background:color-mix(in srgb,var(--accent) 9%,transparent);transition:width .18s ease}
.duyuru-poll-opt.is-on{border-color:color-mix(in srgb,var(--accent) 55%,var(--desk-line,var(--border)))}
.duyuru-poll-opt.is-on .duyuru-poll-bar{background:color-mix(in srgb,var(--accent) 16%,transparent)}
.duyuru-poll-mark{position:relative;flex:none;width:14px;height:14px;border:1.5px solid color-mix(in srgb,var(--desk-ink,var(--text)) 30%,transparent);border-radius:4px}
.duyuru-poll-mark.is-radio{border-radius:50%}
.duyuru-poll-opt.is-on .duyuru-poll-mark{border-color:var(--accent);background:var(--accent)}
.duyuru-poll-opt.is-on .duyuru-poll-mark::after{content:"";position:absolute;inset:3px;border-radius:inherit;background:var(--on-accent,#fff)}
.duyuru-poll-label{position:relative;flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.duyuru-poll-n{position:relative;flex:none;color:var(--desk-muted,var(--muted));font-variant-numeric:tabular-nums}
.duyuru-poll-foot{font-size:var(--type-caption);color:var(--desk-muted,var(--muted))}
.duyuru-chips{display:flex;flex-wrap:wrap;gap:var(--space-1)}
.duyuru-chip{display:inline-flex;align-items:center;gap:4px;max-width:100%;height:24px;padding:0 10px;border:1px solid var(--desk-line,var(--border));border-radius:999px;background:transparent;color:var(--desk-ink,var(--text));font:600 var(--type-caption)/1 var(--font,inherit);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer;font-variant-numeric:tabular-nums}
button.duyuru-chip:hover{background:var(--desk-soft)}
.duyuru-chip.is-edit{cursor:default;padding-right:4px}
.duyuru-chip.is-edit button{display:grid;place-items:center;width:18px;height:18px;padding:0;border:0;border-radius:50%;background:transparent;color:var(--desk-muted,var(--muted));cursor:pointer}
.duyuru-chip.is-edit button:hover{background:var(--desk-soft);color:var(--desk-ink,var(--text))}
.duyuru-chip svg{width:12px;height:12px}

/* Pencere */
.duyuru-host{position:fixed;inset:0;z-index:2000;display:grid;place-items:center;padding:20px}
.duyuru-host[hidden]{display:none}
.duyuru-scrim{position:absolute;inset:0;background:rgba(11,17,28,.32);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);animation:duyuruFade .16s ease}
.duyuru-sheet{position:relative;width:min(520px,100%);max-height:min(680px,calc(100dvh - 40px));display:flex;flex-direction:column;overflow:hidden;color:var(--text);border:1px solid var(--border);border-radius:16px;background:var(--surface-solid);box-shadow:0 18px 44px rgba(15,23,42,.18);animation:duyuruIn .18s cubic-bezier(.2,.75,.25,1);outline:0}
.duyuru-sheet.is-panel{width:min(640px,100%)}
/* Ayrıntı penceresi kırpmaz: kısa duyuruda ••• menüsü pencerenin altına taşar
   (2026-10-20 hata: Sabitle'den sonrası kesiliyordu). Kaydırma gövdededir. */
.duyuru-sheet.is-detail{overflow:visible}
@keyframes duyuruFade{from{opacity:0}}
@keyframes duyuruIn{from{opacity:0;transform:translateY(6px) scale(.98)}}
.duyuru-sheet-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3);padding:16px 16px 12px 20px}
.duyuru-sheet-head>div:first-child{display:grid;gap:3px;min-width:0}
.duyuru-sheet-head strong{display:flex;align-items:center;gap:8px;font-size:var(--type-section);font-weight:680;letter-spacing:-.02em;line-height:1.3}
.duyuru-sheet-head small{color:var(--muted);font-size:var(--type-meta);font-weight:500}
.duyuru-head-actions{display:flex;align-items:center;gap:var(--space-1);flex:none}
.duyuru-icon-btn{display:grid;place-items:center;width:30px;height:30px;flex:none;padding:0;border:0;border-radius:8px;background:transparent;color:var(--muted);cursor:pointer;transition:background .14s ease,color .14s ease}
.duyuru-icon-btn:hover{background:color-mix(in srgb,var(--text) 7%,transparent);color:var(--text)}
.duyuru-icon-btn:focus-visible{outline:2px solid var(--accent);outline-offset:1px}
.duyuru-icon-btn svg{width:16px;height:16px}
.duyuru-icon-btn.is-small{width:26px;height:26px}
.duyuru-sheet-body{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:0 20px 16px;display:flex;flex-direction:column;gap:var(--space-4)}
.duyuru-sheet-foot{display:flex;align-items:center;gap:var(--space-2);padding:12px 16px 12px 20px;border-top:1px solid var(--border)}
.duyuru-sheet-foot .btn{min-height:34px;padding:0 14px;border-radius:9px;font-size:var(--type-control);font-weight:650}
.duyuru-foot-note{flex:1;min-width:0;color:var(--muted);font-size:var(--type-meta);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.duyuru-body{margin:0;font-size:var(--type-body);line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere}
.duyuru-edited{padding:0;border:0;background:none;color:var(--muted);font:italic 500 var(--type-meta) var(--font,inherit);cursor:pointer;text-decoration:underline dotted}
.duyuru-edited:hover{color:var(--text)}
.duyuru-eyebrow{font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.duyuru-muted{margin:0;color:var(--muted);font-size:var(--type-meta)}
.duyuru-history{display:flex;flex-direction:column;gap:var(--space-2);padding-top:var(--space-3);border-top:1px solid var(--border)}
.duyuru-history-row{display:grid;gap:2px}
.duyuru-history-row small{color:var(--muted);font-size:var(--type-caption)}
.duyuru-history-row p{margin:0;font-size:var(--type-meta);line-height:1.5;white-space:pre-wrap;color:var(--muted)}
.duyuru-menu-wrap{position:relative}
.duyuru-menu{position:absolute;right:0;top:calc(100% + 4px);z-index:2;width:260px;display:flex;flex-direction:column;gap:2px;padding:6px;border:1px solid var(--border);border-radius:13px;background:var(--surface-solid);box-shadow:0 18px 44px rgba(15,23,42,.18);animation:duyuruIn .14s ease}
.duyuru-menu button{display:grid;gap:1px;min-height:44px;padding:7px 10px;border:0;border-radius:9px;background:transparent;color:var(--text);text-align:left;cursor:pointer;font-family:inherit}
.duyuru-menu button:hover,.duyuru-menu button:focus-visible{background:var(--desk-soft);outline:0}
.duyuru-menu b{font-size:var(--type-control);font-weight:650}
.duyuru-menu small{font-size:var(--type-caption);color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.duyuru-menu .is-danger{margin-top:4px;border-top:1px solid var(--border);border-radius:0 0 9px 9px}
.duyuru-menu .is-danger b{color:var(--danger)}

/* Yazma penceresi */
.duyuru-form{gap:var(--space-4)}
.duyuru-form textarea{width:100%;min-height:96px;max-height:240px;padding:12px 14px;border:1px solid var(--border);border-radius:12px;background:transparent;color:var(--text);font:500 var(--type-body)/1.5 var(--font,inherit);resize:vertical;box-shadow:none}
.duyuru-form textarea:focus{outline:0;border-color:color-mix(in srgb,var(--accent) 55%,var(--border));box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 14%,transparent)}
.duyuru-field{display:flex;flex-direction:column;gap:6px;min-width:0}
.duyuru-field-pair{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--space-3)}
.duyuru-field select,.duyuru-field input[type="datetime-local"],.duyuru-field input[type="text"]{width:100%;height:34px;padding:0 10px;border:1px solid var(--border);border-radius:9px;background:transparent;color:var(--text);font:500 var(--type-control) var(--font,inherit)}
.duyuru-field input[hidden]{display:none}
.duyuru-fixed{display:flex;align-items:center;height:34px;color:var(--muted);font-size:var(--type-control)}
.duyuru-seg{display:inline-flex;gap:2px;padding:2px;border-radius:10px;background:var(--desk-soft);align-self:flex-start;max-width:100%}
.duyuru-seg-opt{position:relative;display:flex;align-items:center;cursor:pointer}
.duyuru-seg-opt input{position:absolute;opacity:0;pointer-events:none}
.duyuru-seg-opt span{display:block;padding:6px 14px;border-radius:8px;font-size:var(--type-control);font-weight:600;color:var(--muted);white-space:nowrap;transition:background .14s ease,color .14s ease}
.duyuru-seg-opt.is-on span{background:var(--surface-solid);color:var(--text);box-shadow:0 1px 2px rgba(15,23,42,.08)}
.duyuru-seg-opt.is-on.is-important span{color:var(--warning)}
.duyuru-seg-opt.is-on.is-urgent span{color:var(--danger)}
.duyuru-seg-opt input:focus-visible+span{outline:2px solid var(--accent);outline-offset:1px}
.duyuru-ctx{position:relative;display:flex;flex-direction:column;gap:var(--space-2)}
.duyuru-ctx-search{display:flex;align-items:center;gap:8px;height:34px;padding:0 11px;border:1px solid var(--border);border-radius:9px;color:var(--muted);text-transform:none;letter-spacing:normal}
.duyuru-ctx-search:focus-within{border-color:color-mix(in srgb,var(--accent) 55%,var(--border));box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 14%,transparent)}
.duyuru-ctx-search svg{width:15px;height:15px;flex:none}
.duyuru-ctx-search input{flex:1;min-width:0;height:100%;padding:0;border:0;outline:0;background:transparent;color:var(--text);font:500 var(--type-control) var(--font,inherit);box-shadow:none}
.duyuru-ctx-results{position:absolute;left:0;right:0;top:100%;z-index:3;margin-top:4px;padding:4px;border:1px solid var(--border);border-radius:12px;background:var(--surface-solid);box-shadow:0 18px 44px rgba(15,23,42,.18)}
.duyuru-ctx-results[hidden]{display:none}
.duyuru-ctx-row{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:baseline;gap:var(--space-2);width:100%;min-height:34px;padding:6px 10px;border:0;border-radius:8px;background:transparent;color:var(--text);text-align:left;cursor:pointer;font-family:inherit}
.duyuru-ctx-row.is-on,.duyuru-ctx-row:hover{background:var(--desk-soft)}
.duyuru-ctx-row b{font-size:var(--type-control);font-weight:650;white-space:nowrap;font-variant-numeric:tabular-nums}
.duyuru-ctx-row small{font-size:var(--type-caption);color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.duyuru-toggle{display:flex;align-items:center;gap:8px;font-size:var(--type-control);font-weight:600;color:var(--text);cursor:pointer;text-transform:none;letter-spacing:normal}
.duyuru-toggle svg{width:16px;height:16px;color:var(--muted)}
.duyuru-toggle small{margin-left:auto;font-size:var(--type-caption);font-weight:500;color:var(--muted)}
.duyuru-toggle.is-small{font-size:var(--type-meta);font-weight:500;color:var(--muted)}
.duyuru-poll-edit{display:flex;flex-direction:column;gap:6px;padding-left:24px}
.duyuru-poll-edit[hidden]{display:none}
.duyuru-poll-edit-row{display:flex;align-items:center;gap:var(--space-1)}
.duyuru-poll-edit-foot{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}
.duyuru-link-btn{padding:0;border:0;background:none;color:var(--accent);font:600 var(--type-meta) var(--font,inherit);cursor:pointer}
.duyuru-link-btn:hover{text-decoration:underline}

/* Tüm duyurular */
.duyuru-tabs{display:flex;gap:var(--space-4);margin:0 20px;border-bottom:1px solid var(--border)}
.duyuru-tab{display:inline-flex;align-items:center;gap:6px;padding:8px 0;margin-bottom:-1px;border:0;border-bottom:2px solid transparent;background:none;color:var(--muted);font:600 var(--type-control) var(--font,inherit);cursor:pointer;white-space:nowrap}
.duyuru-tab.is-on{color:var(--text);border-bottom-color:var(--accent)}
.duyuru-tab:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}
.duyuru-tab-count{font-size:var(--type-caption);color:var(--muted);font-variant-numeric:tabular-nums}
.duyuru-panel-search{display:block;margin:12px 20px 8px;text-transform:none;letter-spacing:normal}
.duyuru-panel-search input{width:100%;height:34px;padding:0 12px;border:0;border-radius:9px;background:var(--desk-soft);color:var(--text);font:500 var(--type-control) var(--font,inherit);outline:0;box-shadow:none}
.duyuru-panel-search input:focus{box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 45%,transparent)}
.duyuru-list{gap:1px;padding:0 12px 12px}
.duyuru-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:var(--space-3);min-height:44px;padding:7px 8px;border:0;border-radius:9px;background:transparent;color:var(--text);text-align:left;cursor:pointer;font-family:inherit}
.duyuru-row:hover{background:var(--desk-soft)}
.duyuru-row:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
.duyuru-row-copy{display:grid;gap:1px;min-width:0}
.duyuru-row-copy b{font-size:var(--type-control);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.duyuru-row.is-unread .duyuru-row-copy b{font-weight:680}
.duyuru-row.is-unread .duyuru-dot{box-shadow:0 0 0 3px var(--accent-soft)}
.duyuru-row-copy small{font-size:var(--type-caption);color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.duyuru-row-meta{font-size:var(--type-caption);color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums}
.duyuru-empty{margin:0;padding:28px 12px;text-align:center;color:var(--muted);font-size:var(--type-control)}
.duyuru-more{align-self:center;margin-top:var(--space-2)}
html[data-theme="dark"] .duyuru-scrim{background:rgba(0,0,0,.55)}
html[data-theme="dark"] .duyuru-sheet,html[data-theme="dark"] .duyuru-menu,html[data-theme="dark"] .duyuru-ctx-results{background:var(--desk-paper,var(--surface-solid))}
html[data-theme="dark"] .duyuru-seg-opt.is-on span{background:var(--desk-paper,var(--surface-solid))}
/* Genel `label` kuralı (büyük harf, 10px, blok) ve form alanı kuralları pencerede sıfırlanır. */
.duyuru-host label{display:flex;margin:0;font-size:inherit;font-weight:inherit;letter-spacing:normal;text-transform:none;color:inherit}
.duyuru-host .duyuru-seg-opt{display:flex}
.duyuru-host .duyuru-ctx-search input,.duyuru-host .duyuru-panel-search input{appearance:none;-webkit-appearance:none;min-height:0;margin:0}
.duyuru-host .duyuru-ctx-search input,.duyuru-host .duyuru-ctx-search input:focus{height:100%;padding:0;border:0;border-radius:0;background:none;box-shadow:none}
.duyuru-host .duyuru-panel-search{display:block;margin:12px 20px 8px}
.duyuru-host .duyuru-panel-search input,.duyuru-host .duyuru-panel-search input:focus{border:0;background:var(--desk-soft)}
.duyuru-host .duyuru-seen .btn{min-height:30px;padding:0 12px}
@media (max-width:520px){
  .duyuru-host{place-items:end stretch;padding:0}
  .duyuru-sheet,.duyuru-sheet.is-panel{width:100%;max-height:88dvh;border-width:1px 0 0;border-radius:16px 16px 0 0}
  .duyuru-sheet-foot{padding-bottom:calc(12px + env(safe-area-inset-bottom))}
  .duyuru-field-pair{grid-template-columns:1fr}
  .duyuru-form textarea,.duyuru-field select,.duyuru-field input,.duyuru-ctx-search input,.duyuru-panel-search input{font-size:16px}
  .duyuru-tabs{gap:var(--space-3);overflow-x:auto;scrollbar-width:none}
}
@media (prefers-reduced-motion:reduce){.duyuru-sheet,.duyuru-scrim,.duyuru-menu{animation:none}.duyuru-poll-bar{transition:none}}

/* ═══ Elle hareket + Aktivite merkezi (2026-10-27) ═══════════════════════
   Pencere iskeleti Duyurular'ınkidir (.duyuru-host/.duyuru-sheet, §3.40);
   burada yalnız hareket penceresine özgü parçalar durur. TASARIM-DILI §3.49. */
.omv-host{z-index:2100}
.omv-sheet{width:min(460px,100%)}
/* Not penceresi (2026-10-28): Takip Merkezi › Plan satırındaki not simgesi.
   İçerik sipariş detayının not paneli; stilleri :is(#orderModal,#page-notes,#orderNotesPopup). */
.onp-host{z-index:2100}
.onp-sheet{width:min(560px,100%);height:min(620px,calc(100dvh - 40px))}
.onp-body{padding:0 16px 16px}
.onp-body .order-notes-panel-unified{display:flex;flex:1 1 auto;min-height:0;flex-direction:column;margin:0;overflow:hidden}
.onp-body .watch-note-chat.is-order-surface{display:flex;flex:1 1 auto;min-height:0;flex-direction:column}
.onp-body .watch-note-chat-head{flex:none}
.onp-body .watch-note-chat-body,.onp-body .watch-note-chat-body-inner{display:flex;flex:1 1 auto;min-height:0;flex-direction:column}
.onp-body .watch-note-chat.is-order-surface .watch-note-thread{flex:1 1 auto;min-height:0;max-height:none}
.omv-form{gap:var(--space-3)}
.omv-label{font-size:var(--type-meta);font-weight:600;color:var(--muted)}
.omv-label em{font-style:normal;font-weight:500;opacity:.75;margin-left:4px}
.omv-stages{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.omv-stage{min-height:38px;padding:7px 10px;border:1px solid var(--border);border-radius:10px;background:transparent;color:var(--muted);font:600 var(--type-control)/1.25 var(--font,inherit);text-align:left;cursor:pointer;transition:background .14s ease,color .14s ease,border-color .14s ease}
.omv-stage:hover{background:var(--desk-soft);color:var(--text)}
.omv-stage.is-on{border-color:color-mix(in srgb,var(--accent) 55%,var(--border));background:var(--accent-soft);color:var(--accent)}
.omv-stage:focus-visible{outline:2px solid var(--accent);outline-offset:1px}
.omv-erp-chip{flex:none;padding:2px 7px;border-radius:999px;background:var(--desk-soft);color:var(--muted);font-size:var(--type-caption);font-weight:600;white-space:nowrap}
.omv-kg{display:flex;align-items:center;gap:6px;height:34px;padding:0 10px;border:1px solid var(--border);border-radius:9px}
.omv-kg:focus-within{border-color:color-mix(in srgb,var(--accent) 55%,var(--border));box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 14%,transparent)}
#orderMoveHost .duyuru-ctx-search input,#orderMoveHost .duyuru-ctx-search input:focus{flex:1;min-width:0;height:100%;margin:0;padding:0;border:0;border-radius:0;outline:0;background:none;box-shadow:none}
#orderMoveHost .omv-kg input,#orderMoveHost .omv-kg input:focus{border:0;border-radius:0;outline:0;background:none;box-shadow:none}
.omv-host .omv-kg input{flex:1;min-width:0;height:100%;margin:0;padding:0;border:0;outline:0;background:none;box-shadow:none;color:var(--text);font:650 var(--type-body) var(--font,inherit);font-variant-numeric:tabular-nums}
.omv-kg span{color:var(--muted);font-size:var(--type-meta);font-weight:600}
.omv-host input[type="date"]{width:100%;height:34px;margin:0;padding:0 10px;border:1px solid var(--border);border-radius:9px;background:transparent;color:var(--text);font:500 var(--type-control) var(--font,inherit);box-shadow:none}
.omv-host select{width:100%;height:34px;margin:0;padding:0 10px;border:1px solid var(--border);border-radius:9px;background:transparent;color:var(--text);font:500 var(--type-control) var(--font,inherit)}
.omv-host .duyuru-field>input[type="text"]{width:100%;height:34px;margin:0;padding:0 10px;border:1px solid var(--border);border-radius:9px;background:transparent;color:var(--text);font:500 var(--type-control) var(--font,inherit);box-shadow:none}
.omv-hints{display:flex;flex-wrap:wrap;gap:6px;margin-top:-4px}
.omv-hint{min-height:26px;padding:3px 10px;border:1px solid var(--border);border-radius:999px;background:transparent;color:var(--muted);font:600 var(--type-caption) var(--font,inherit);font-variant-numeric:tabular-nums;cursor:pointer;white-space:nowrap}
.omv-hint:hover{background:var(--desk-soft);color:var(--text)}
.omv-hint:focus-visible{outline:2px solid var(--accent);outline-offset:1px}
.omv-error{margin:0;color:var(--danger);font-size:var(--type-meta);font-weight:600}
.omv-error[hidden]{display:none}
.omv-switch{display:flex;align-items:center;gap:8px;padding-top:12px;border-top:1px dashed var(--border);color:var(--muted);font-size:var(--type-meta)}
.omv-switch svg{flex:none;width:15px;height:15px;stroke-width:1.8}
.omv-switch button{margin-left:auto;padding:4px 6px;border:0;border-radius:6px;background:none;color:var(--accent);font:inherit;font-weight:600;white-space:nowrap;cursor:pointer}
.omv-switch button:hover{background:color-mix(in srgb,var(--accent) 10%,transparent)}
.omv-switch button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}
/* Raporla (2026-10-28): Hareket ekle ile aynı sheet; akıbet = omv-stage, neden satırları, iş seçimi */
.frp-outcome.is-penalty.is-on{border-color:color-mix(in srgb,var(--danger) 55%,var(--border));background:color-mix(in srgb,var(--danger) 10%,transparent);color:var(--danger)}
.frp-outcome.is-review.is-on{border-color:color-mix(in srgb,var(--warning) 60%,var(--border));background:color-mix(in srgb,var(--warning) 12%,transparent);color:var(--text)}
.frp-explain{margin:0;color:var(--muted);font-size:var(--type-meta);line-height:1.4}
.frp-reasons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
.frp-reason{display:flex;flex-direction:column;gap:3px;min-height:48px;padding:8px 10px;border:1px solid var(--border);border-radius:10px;background:transparent;color:var(--text);font:inherit;text-align:left;cursor:pointer;transition:background .14s ease,border-color .14s ease}
.frp-reason b{font:600 var(--type-control)/1.2 var(--font,inherit)}
.frp-reason small{color:var(--muted);font-size:var(--type-caption);line-height:1.3}
.frp-reason:hover{background:var(--desk-soft)}
.frp-reason.is-on{border-color:color-mix(in srgb,var(--accent) 55%,var(--border));background:var(--accent-soft)}
.frp-reason.is-on b{color:var(--accent)}
.frp-reason:focus-visible{outline:2px solid var(--accent);outline-offset:1px}
.frp-jobs{display:grid;gap:4px}
.frp-job,.frp-toggle{display:flex;align-items:flex-start;gap:10px;padding:8px 10px;border:1px solid var(--border);border-radius:10px;cursor:pointer}
.frp-job input,.frp-toggle input{margin-top:2px;accent-color:var(--accent)}
.frp-job span,.frp-toggle span{display:flex;flex-direction:column;gap:2px;min-width:0}
.frp-job b,.frp-toggle b{font:600 var(--type-control)/1.2 var(--font,inherit);color:var(--text)}
.frp-job small,.frp-toggle small{color:var(--muted);font-size:var(--type-caption)}
.frp-sheet{width:min(520px,100%)}
.frp-sheet textarea{width:100%;min-height:56px;margin:0;padding:8px 10px;border:1px solid var(--border);border-radius:9px;background:transparent;color:var(--text);font:500 var(--type-control)/1.4 var(--font,inherit);resize:vertical;box-shadow:none}
.frp-sheet textarea:focus{outline:0;border-color:color-mix(in srgb,var(--accent) 55%,var(--border));box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 14%,transparent)}
.frp-sheet .btn-primary.is-danger{background:var(--danger);border-color:var(--danger)}
.omv-place-row{grid-template-columns:minmax(0,1fr)}
.omv-place-row small:empty{display:none}

/* Akış başlığındaki yuvarlak + ve bekleyen elle hareket satırı */
.production-detail-meta{display:flex;align-items:center;gap:10px}
.omv-add{display:grid;place-items:center;width:28px;height:28px;flex:none;padding:0;border:1px solid var(--border);border-radius:50%;background:var(--surface-solid);color:var(--muted);cursor:pointer;transition:background .14s ease,color .14s ease,border-color .14s ease}
.omv-add:hover{border-color:color-mix(in srgb,var(--accent) 45%,var(--border));background:var(--accent-soft);color:var(--accent)}
.omv-add:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.omv-add svg{width:15px;height:15px;stroke-width:2}
.production-detail-actions{display:inline-flex;align-items:center;gap:6px;flex:none}
/* Akışta kilo toplama: satıra tık aynı aşamayı öne çıkarır, şerit toplar */
.production-timeline .production-event[data-sum-kg]{cursor:pointer;user-select:none}
.production-timeline.is-summing .production-event:not(.is-sum-type){opacity:.38}
.production-timeline .production-event.is-sum-on,html.ds-v2 #orderModal .production-timeline .production-event.is-sum-on{background:color-mix(in srgb,var(--accent) 12%,transparent)}
.production-timeline .production-event.is-sum-on .production-event-mark,html.ds-v2 #orderModal .production-timeline .production-event.is-sum-on .production-event-mark{background:var(--accent);color:#fff;box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 40%,transparent)}
.pe-sum{display:flex;align-items:center;flex-wrap:wrap;gap:6px 12px;margin:0 0 8px;padding:8px 8px 8px 14px;border:1px solid color-mix(in srgb,var(--accent) 40%,var(--border));border-radius:12px;background:color-mix(in srgb,var(--accent) 7%,var(--surface-solid));font-size:12.5px;color:var(--muted)}
.pe-sum-label{font-weight:600;color:var(--text)}
.pe-sum-kg{font-size:16px;font-weight:750;color:var(--accent);font-variant-numeric:tabular-nums}
.pe-sum button{font:inherit;font-size:12px;padding:4px 10px;border:1px solid var(--border);border-radius:999px;background:var(--surface-solid);color:var(--text);cursor:pointer}
.pe-sum button:hover{border-color:color-mix(in srgb,var(--accent) 45%,var(--border));color:var(--accent)}
.pe-sum-clear{margin-left:auto}
.pe-sum kbd{font:inherit;font-size:10.5px;margin-left:4px;padding:0 4px;border:1px solid var(--border);border-radius:4px;color:var(--muted)}
@media (prefers-reduced-motion:no-preference){.production-timeline .production-event[data-sum-kg]{transition:opacity .12s ease,background-color .12s ease}}
.omv-add.is-report:hover{border-color:color-mix(in srgb,var(--warning) 50%,var(--border));background:color-mix(in srgb,var(--warning) 12%,transparent);color:var(--warning)}
.omv-add.is-report:focus-visible{outline-color:var(--warning)}
.production-event.is-manual .production-event-mark{background:transparent;color:var(--accent);box-shadow:none;outline:1.5px dashed color-mix(in srgb,var(--accent) 60%,transparent);outline-offset:-1.5px}
html.ds-v2 #orderModal .production-event.is-manual{background:color-mix(in srgb,var(--accent) 5%,transparent)}
html.ds-v2 #orderModal .production-event.is-manual .production-event-mark{background:var(--desk-paper);box-shadow:none}
.omv-tag{display:inline-block;margin-left:6px;padding:1px 7px;border-radius:999px;background:var(--accent-soft);color:var(--accent);font-size:10.5px;font-weight:650;vertical-align:1px;white-space:nowrap}
.omv-row-actions{display:flex;align-items:center;gap:2px;align-self:center}
.omv-icon{display:grid;place-items:center;width:28px;height:28px;padding:0;border:0;border-radius:8px;background:transparent;color:var(--muted);cursor:pointer;transition:background .14s ease,color .14s ease}
.omv-icon:hover{background:color-mix(in srgb,var(--text) 7%,transparent);color:var(--text)}
.omv-icon:focus-visible{outline:2px solid var(--accent);outline-offset:1px}
.omv-icon svg{width:15px;height:15px;stroke-width:1.8}
.production-event-title .omv-hist{display:inline-grid;margin-left:4px;vertical-align:-4px}
.fab-hist-row.is-old .fab-hist-val{color:var(--muted)}
@keyframes omvFlash{0%,100%{box-shadow:0 0 0 0 transparent}30%{box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 45%,transparent)}}
.production-event.omv-flash{animation:omvFlash 1.2s ease 2}

/* Takip kartı + : not mu hareket mi */
.omv-choice{position:fixed;z-index:2050;width:260px;display:flex;flex-direction:column;gap:2px;padding:6px;border:1px solid var(--border);border-radius:13px;background:var(--surface-solid);box-shadow:0 18px 44px rgba(15,23,42,.18);animation:duyuruIn .14s cubic-bezier(.2,.75,.25,1)}
.omv-choice button{display:grid;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:46px;padding:7px 8px;border:0;border-radius:9px;background:transparent;color:var(--text);text-align:left;cursor:pointer;font-family:inherit}
.omv-choice button:hover,.omv-choice button:focus-visible{background:var(--desk-soft);outline:0}
.omv-choice button>span:nth-child(2){display:grid;gap:1px;min-width:0}
.omv-choice b{font-size:var(--type-control);font-weight:650}
.omv-choice small{font-size:var(--type-caption);color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.omv-choice kbd{min-width:18px;padding:1px 5px;border:1px solid var(--border);border-radius:5px;color:var(--muted);font:600 10px var(--font,inherit);text-align:center}
.omv-choice-ico{display:grid;place-items:center;width:30px;height:30px;border-radius:9px}
.omv-choice-ico svg{width:16px;height:16px;stroke-width:1.8}
.omv-choice-ico.is-move{color:var(--accent);background:var(--accent-soft)}
.omv-choice-ico.is-note{color:var(--warning);background:color-mix(in srgb,var(--warning-fill) 18%,transparent)}
.watch-live-manual{margin-left:4px;padding:0 6px;border-radius:999px;background:var(--accent-soft);color:var(--accent);font-size:10px;font-weight:650}
html[data-theme="dark"] .omv-choice{background:var(--desk-paper,var(--surface-solid))}
.order-modal-action-menu .order-modal-menu-item.act-move{--row-color:var(--accent)}

/* Aktivite merkezi (zil › Aktiviteler › Aktivite merkezini aç) */
.acc-list{gap:1px;padding:0 12px 12px}
.acc-day{padding:12px 8px 4px;font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.acc-row{grid-template-columns:auto minmax(0,1fr) auto}
.acc-row.is-undone .duyuru-row-copy b{color:var(--muted);text-decoration:line-through;text-decoration-color:color-mix(in srgb,var(--muted) 60%,transparent)}
.acc-dot{width:8px;height:8px;border-radius:50%;background:var(--tone,var(--muted))}
.acc-tail{display:flex;align-items:center;gap:8px}
.acc-act{min-height:24px;padding:2px 9px}
.acc-act.is-remove:hover,.acc-act.is-remove:focus-visible{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 45%,var(--border))}
@media (max-width:640px){
  .omv-stages{grid-template-columns:repeat(2,minmax(0,1fr))}
  .frp-reasons{grid-template-columns:1fr}
  .frp-outcomes{grid-template-columns:repeat(3,minmax(0,1fr))}
}
/* Genel form kuralları (40px, dolgulu zemin) pencerede alanları eşitlemesin. */
#orderMoveHost input[type="date"],#orderMoveHost select,#orderMoveHost .duyuru-field>input[type="text"]{height:34px;min-height:34px;padding-top:0;padding-bottom:0;border:1px solid var(--border);border-radius:9px;background:transparent;box-shadow:none}
#orderMoveHost input[type="date"]:focus,#orderMoveHost select:focus,#orderMoveHost .duyuru-field>input[type="text"]:focus{outline:0;border-color:color-mix(in srgb,var(--accent) 55%,var(--border));box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 14%,transparent)}
/* Akış satırı aşama simgesi (2026-11-03): harf yerine çizgi simge. */
.production-event-mark.has-icon svg{width:16px;height:16px}

/* Ticket yıldızı (2026-11-04): kişiye özel, öncelik değil. Satırda yalnız
   üzerine gelince ya da yıldızlıyken görünür; başlıkta diğer simge düğmeleriyle aynı boy. */
.ticket-star-btn { display:inline-grid; place-items:center; flex:none; border:0; background:none; color:var(--muted); cursor:pointer; padding:0; }
.ticket-star-btn svg { width:15px; height:15px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linejoin:round; }
.ticket-star-btn.is-on { color:var(--warning-fill); }
.ticket-star-btn.is-on svg { fill:currentColor; }
.ticket-star-btn.is-row { width:24px; height:22px; margin-left:auto; border-radius:6px; opacity:0; transition:opacity .12s; }
.ticket-file-row:is(:hover,:focus-within,.selected) .ticket-star-btn.is-row, .ticket-star-btn.is-row.is-on { opacity:1; }
.ticket-star-btn.is-row:hover { background:color-mix(in srgb, currentColor 12%, transparent); }
@media (hover:none) { .ticket-star-btn.is-row { opacity:1; } }
.ticket-inspector-actions .ticket-star-btn.is-head.is-on { color:var(--warning-fill); border-color:color-mix(in srgb, var(--warning-fill) 45%, transparent); }

/* Takvim v2 jetonları (2026-11-05, TASARIM-DILI.md §3.56) */
:root{--cal-ok:#16a34a;--cal-warn:#d97706;--cal-bad:#dc2626;--cal-none:#8a94a3;--cal-shadow-sm:0 1px 2px rgba(0,0,0,.12);--cal-shadow-pop:0 14px 36px rgba(20,28,40,.18);--cal-holiday-bg:rgba(249,115,22,.12);--cal-holiday-ink:#c2410c;--cal-private-bg:rgba(139,92,246,.14);--cal-private-ink:#6d28d9;--cal-public-bg:rgba(245,158,11,.16);--cal-public-ink:#b45309;--cal-info-bg:rgba(10,132,255,.12);--cal-info-ink:#006edc;--cal-alert-bg:rgba(220,38,38,.1);--cal-alert-ink:#b91c1c;--cal-chat-bg:rgba(20,160,110,.11);--cal-chat-ink:#087a56}
html[data-theme=dark]{--cal-ok:#4ade80;--cal-warn:#fbbf24;--cal-bad:#f87171;--cal-none:#7c8696;--cal-shadow-sm:0 1px 2px rgba(0,0,0,.3);--cal-shadow-pop:0 14px 36px rgba(0,0,0,.45);--cal-holiday-ink:#fdba74;--cal-private-bg:rgba(139,92,246,.22);--cal-private-ink:#c4b5fd;--cal-public-bg:rgba(245,158,11,.2);--cal-public-ink:#fcd34d;--cal-info-ink:#64aef7;--cal-alert-bg:rgba(248,113,113,.14);--cal-alert-ink:#fca5a5;--cal-chat-ink:#5dd7ad}

/* ── assets/styles/order-detail-refined.css ── */
/* Order detail only: clear hierarchy without changing production operations. */
#orderModal { background:rgba(20,30,45,.4); backdrop-filter:blur(6px); }
#orderModal .order-modal { width:min(1180px,calc(100vw - 48px)); max-width:1180px; border:1px solid var(--desk-line); border-radius:24px; background:var(--desk-paper); color:var(--desk-ink); box-shadow:0 24px 90px rgba(15,25,40,.22); }
#orderModal .order-modal { padding:0!important; }

#orderModal .order-ticket-brief { display:grid; gap:8px; width:100%; padding:14px; border:1px solid var(--desk-line); border-radius:10px; background:var(--desk-paper); color:var(--desk-ink); text-align:left; cursor:pointer; font-family:inherit; }
#orderModal .order-ticket-brief+.order-ticket-brief { margin-top:8px; }
#orderModal .order-ticket-brief:hover { border-color:#1683f8; }
#orderModal .order-ticket-brief-meta { display:flex; justify-content:space-between; gap:10px; font-size:11px; color:var(--desk-muted); }
#orderModal .order-ticket-brief-message { font-size:13px; font-weight:550; line-height:1.5; overflow-wrap:anywhere; }
#orderModal .om-head {  margin-bottom:18px; border-bottom:1px solid var(--desk-line);   }
#orderModal .om-sip {    letter-spacing:-.035em; }

#orderModal .om-firm { color:var(--desk-ink); font-weight:650; }
#orderModal .om-archived-badge { padding:5px 10px; border:0; background:var(--desk-soft); color:var(--desk-muted); font-size:11px; }

#orderModal .order-modal-actions button { box-shadow:none; }
#orderModal .order-ticket-disclosure { margin:18px 0; border:1px solid var(--desk-line); border-radius:14px; background:var(--desk-soft); overflow:hidden; }
#orderModal .tickets-in-order-head { display:flex; align-items:center; justify-content:space-between; gap:12px; margin:0; padding:15px 18px; cursor:pointer; font-size:13px; color:var(--desk-ink); list-style:none; }
#orderModal .tickets-in-order-head::-webkit-details-marker { display:none; }
#orderModal .tickets-in-order-head>span { display:flex; align-items:center; gap:10px; }
#orderModal .tickets-in-order-head b { font-size:11px; font-weight:600; color:var(--desk-muted); }
#orderModal .order-ticket-summary-state { color:var(--desk-muted); font-size:12px; font-weight:500; }
#orderModal .order-ticket-summary-state i { font-style:normal; font-size:18px; transition:transform .15s; }
#orderModal .order-ticket-disclosure[open] .order-ticket-summary-state i { transform:rotate(180deg); }
#orderModal .order-ticket-scroll { padding:0 12px 12px; }

#orderModal .sc-card { padding:0;  border:0; border-radius:0; background:var(--desk-paper); box-shadow:none; }
#orderModal :is(.sc-raw-badge,.sc-dye-pending-badge,.sc-done-badge,.sc-production-badge) { padding:5px 10px; font-size:11px; font-weight:600; border:0; box-shadow:none; }
#orderModal .sc-done-badge { background:color-mix(in srgb,#32b577 10%,var(--desk-paper)); color:#258251; }
/* Sekmeler alt çizgilidir (2026-09-22): tam genişlik kutu yok; ana görünüm
   (Genel Bakış) en solda, etkin sekmenin altında ince vurgu çizgisi. */

#orderModal .sc-tabs { display:flex; width:auto; padding:0; gap:var(--space-5); border:0; border-radius:0; background:none; box-shadow:inset 0 -1px 0 var(--desk-line); overflow-x:auto; }
#orderModal .sc-tab { position:relative; flex:none; min-height:36px; padding:8px 0 10px; border:0; border-radius:0;  color:var(--desk-muted); background:none; font-weight:550; white-space:nowrap; transition:color .12s; }
#orderModal .sc-tab:hover { color:var(--desk-ink); }
#orderModal .sc-tab::after { content:''; position:absolute; left:0; right:0; bottom:0; height:2px; border-radius:2px; background:transparent; transition:background .12s; }
#orderModal .sc-tab:focus-visible { outline:2px solid var(--accent); outline-offset:2px; border-radius:4px; }
#orderModal .sc-tab.active { color:var(--desk-ink); font-weight:650; background:none; box-shadow:none; }
#orderModal .sc-tab.active::after { background:var(--accent); }
/* Sekme simgeleri (2026-11-03): 16px çizgi, sekme rengini alır; etkinde vurgu.
   Dar ekranda düşer, yalnız yazı kalır. */
#orderModal .sc-tab { display:inline-flex; align-items:center; gap:7px; }
#orderModal .sc-tab-ico { display:inline-flex; flex:none; }
#orderModal .sc-tab-ico svg { width:16px; height:16px; }
#orderModal .sc-tab.active .sc-tab-ico { color:var(--accent); }
#orderModal .sc-tab .sc-tab-count { margin-left:0; }
@media(max-width:760px) { #orderModal .sc-tab-ico { display:none; } }
#orderModal .fabric-summary { gap:0; padding:16px 0; margin-bottom:20px; border:0; border-bottom:1px solid var(--desk-line); border-radius:0; background:none; }
#orderModal .fabric-stat { min-width:0; padding:0 16px; border:0; border-right:1px solid var(--desk-line); border-radius:0; background:none; box-shadow:none; }
#orderModal .fabric-stat:first-child { padding-left:0; }
#orderModal .fabric-stat:last-child { border-right:0; }
#orderModal .fabric-stat .k { font-size:10px; font-weight:650; color:var(--desk-muted); letter-spacing:.07em; }
#orderModal .fabric-stat .v { margin-top:6px; font-size:20px; font-weight:650; color:var(--desk-ink); letter-spacing:-.025em; }
#orderModal .fabric-list { gap:16px; }
#orderModal .fabric-card { border:1px solid var(--desk-line); border-radius:14px; background:var(--desk-paper); box-shadow:none; overflow-x:auto; }
#orderModal .fabric-card-head { padding:18px; background:var(--desk-soft); border-bottom:1px solid var(--desk-line); gap:12px; }
#orderModal .fabric-name { font-size:14px; font-weight:650; line-height:1.5; color:var(--desk-ink); }
#orderModal .fabric-meta { font-size:11px; color:var(--desk-muted); }
#orderModal .fabric-colors { width:100%; min-width:620px; }
#orderModal .fabric-colors th { padding:12px 14px; font-size:10px; font-weight:650; color:var(--desk-muted); background:var(--desk-paper); border-color:var(--desk-line); }
#orderModal .fabric-colors td { padding:16px 14px; font-size:12px; color:var(--desk-ink); background:var(--desk-paper); border-color:var(--desk-line); }
#orderModal .fabric-colors tbody tr:hover td { background:var(--desk-soft); }

#orderModal .fabric-source-note { margin-top:16px; font-size:10px; line-height:1.6; color:var(--desk-muted); }
/* NOTLAR — tek akış, etiketli kayıtlar. Tedarik Zinciri kartıyla aynı dil:
   ince çizgiler, küçük versal etiketler, baloncuk yok. */
:is(#orderModal,#page-notes,#orderNotesPopup) .order-notes-panel-unified { margin:22px 0 0; border:1px solid var(--desk-line);  background:var(--desk-paper); box-shadow:none; }
:is(#orderModal,#page-notes,#orderNotesPopup) .order-notes-unified-title { min-height:0; padding:16px 18px; border-bottom:1px solid var(--desk-line); background:var(--desk-soft); }
:is(#orderModal,#page-notes,#orderNotesPopup) .order-notes-unified-title strong { font-size:11px; font-weight:650; letter-spacing:.09em; color:var(--desk-muted); }
:is(#orderModal,#page-notes,#orderNotesPopup) .order-notes-unified-title span { padding:0; border-radius:0; background:none; color:var(--desk-muted); font-size:11px; font-weight:500; }
:is(#orderModal,#page-notes,#orderNotesPopup) .watch-note-chat { --watch-note-text-sm:11px; --watch-note-text-md:14px; border:0; background:var(--desk-paper); }
:is(#orderModal,#page-notes,#orderNotesPopup) .watch-note-chat.is-order-surface { background:var(--desk-paper); }
:is(#orderModal,#page-notes,#orderNotesPopup) .watch-note-chat.is-order-surface .watch-note-chat-head { min-height:0; align-items:center;  }
:is(#orderModal,#page-notes,#orderNotesPopup) .watch-note-chat-title > span { grid-template-columns:minmax(0,1fr); }
:is(#orderModal,#page-notes,#orderNotesPopup) .watch-note-chat-title svg { display:none; }
:is(#orderModal,#page-notes,#orderNotesPopup) .watch-note-chat-head b {  font-weight:650; color:var(--desk-ink); }
:is(#orderModal,#page-notes,#orderNotesPopup) .watch-note-chat-head small { font-size:11px; font-weight:500; color:var(--desk-muted); font-family:inherit; }
:is(#orderModal,#page-notes,#orderNotesPopup) .watch-note-mode { padding:4px; border:1px solid var(--desk-line); border-radius:11px; background:var(--desk-soft); box-shadow:none; }
:is(#orderModal,#page-notes,#orderNotesPopup) .watch-note-mode button { height:30px; padding:0 14px; border-radius:8px; font-size:12px; font-weight:550; color:var(--desk-muted); }
:is(#orderModal,#page-notes,#orderNotesPopup) .watch-note-mode button.active { background:var(--desk-paper); color:var(--desk-ink); box-shadow:0 2px 5px rgba(25,40,60,.06); }
:is(#orderModal,#page-notes,#orderNotesPopup) .watch-note-chat.is-online .watch-note-mode button.active { background:var(--desk-paper); color:#258251; }
:is(#orderModal,#page-notes,#orderNotesPopup) .watch-note-mode-count { margin-left:6px; font-size:11px; font-weight:600; font-variant-numeric:tabular-nums; opacity:.6; }
:is(#orderModal,#page-notes,#orderNotesPopup) .watch-note-mode button.active .watch-note-mode-count { opacity:.85; }

:is(#orderModal,#page-notes,#orderNotesPopup) .watch-note-label { padding:6px 11px; border-color:var(--desk-line); border-radius:8px; color:var(--desk-muted); font-size:11px; font-weight:550; }
:is(#orderModal,#page-notes,#orderNotesPopup) .watch-note-label span { color:var(--desk-ink); }
:is(#orderModal,#page-notes,#orderNotesPopup) .watch-note-label b { font-size:11px; font-weight:600; color:var(--desk-muted); }
:is(#orderModal,#page-notes,#orderNotesPopup) .watch-note-label.is-active { background:var(--desk-soft); }
:is(#orderModal,#page-notes,#orderNotesPopup) .watch-note-chat.is-order-surface .watch-note-thread {   gap:0; padding:10px 18px 14px; background:none; }
:is(#orderModal,#page-notes,#orderNotesPopup) .watch-note-entry { padding:14px 12px 15px 16px; border-radius:8px; }
:is(#orderModal,#page-notes,#orderNotesPopup) .watch-note-entry + .watch-note-entry { border-top-color:var(--desk-line); }
:is(#orderModal,#page-notes,#orderNotesPopup) .watch-note-entry-head { gap:10px; margin-bottom:8px; min-height:20px; }
:is(#orderModal,#page-notes,#orderNotesPopup) .watch-note-entry-tag { font-size:10px; font-weight:650; letter-spacing:.09em; }
:is(#orderModal,#page-notes,#orderNotesPopup) .watch-note-entry-by, :is(#orderModal,#page-notes,#orderNotesPopup) .watch-note-entry time { font-size:10px; font-weight:500; letter-spacing:.05em; color:var(--desk-muted); font-family:inherit; }
:is(#orderModal,#page-notes,#orderNotesPopup) .watch-note-entry p { font-size:14px; font-weight:450; line-height:1.75; letter-spacing:-.002em; color:var(--desk-ink); }
:is(#orderModal,#page-notes,#orderNotesPopup) .watch-note-empty { min-height:220px; color:var(--desk-muted); }
:is(#orderModal,#page-notes,#orderNotesPopup) .watch-note-empty span { font-size:13px; font-weight:600; color:var(--desk-ink); }
:is(#orderModal,#page-notes,#orderNotesPopup) .watch-note-empty small { font-size:11px; font-weight:450; }
:is(#orderModal,#page-notes,#orderNotesPopup) .watch-note-chat.is-order-surface .watch-note-composer { gap:11px; padding:16px 18px 18px; border-top:1px solid var(--desk-line); background:var(--desk-soft); }

:is(#orderModal,#page-notes,#orderNotesPopup) .watch-note-composer textarea { min-height:44px; padding:12px 14px; border:1px solid var(--desk-line); border-radius:10px; background:var(--desk-paper); font-size:13px; font-weight:450; line-height:1.6; color:var(--desk-ink); box-shadow:none; }
:is(#orderModal,#page-notes,#orderNotesPopup) .watch-note-composer textarea { resize:none; max-height:180px; }
:is(#orderModal,#page-notes,#orderNotesPopup) .watch-note-composer textarea:focus { border-color:#1683f8; box-shadow:0 0 0 3px rgba(22,131,248,.1); }
:is(#orderModal,#page-notes,#orderNotesPopup) .watch-note-compose-row .watch-note-send { width:44px; height:44px; border-radius:10px; background:#1683f8; box-shadow:none; }
:is(#orderModal,#page-notes,#orderNotesPopup) .watch-note-compose-row .watch-note-send:hover { transform:none; box-shadow:0 4px 12px rgba(22,131,248,.25); }
:is(#orderModal,#page-notes,#orderNotesPopup) .watch-note-chat.is-online .watch-note-compose-row .watch-note-send { background:#258251; box-shadow:none; }
@media(max-width:720px) {
  :is(#orderModal,#page-notes,#orderNotesPopup) .order-notes-panel-unified { margin-top:18px; }
  :is(#orderModal,#page-notes,#orderNotesPopup) .watch-note-chat.is-order-surface .watch-note-chat-head { padding:14px 14px 10px; }
  
  :is(#orderModal,#page-notes,#orderNotesPopup) .watch-note-chat.is-order-surface .watch-note-thread { padding:6px 14px 10px; }
  :is(#orderModal,#page-notes,#orderNotesPopup) .watch-note-entry { padding:14px 8px 15px 14px; }
  :is(#orderModal,#page-notes,#orderNotesPopup) .watch-note-chat.is-order-surface .watch-note-composer { padding:12px 14px 14px; }
}
#orderModal .om-foot {    color:var(--desk-muted);  }
#orderModal :is(button,summary,input,textarea):focus-visible { outline:2px solid #1683f8; outline-offset:2px; }
html[data-theme="dark"] #orderModal .sc-done-badge { color:#79d8a5; }
@media(max-width:720px) {
  #orderModal .order-modal { width:calc(100vw - 16px); max-height:calc(100dvh - 24px); border-radius:18px; }
  #orderModalBody { padding:18px 14px; }
  #orderModal .om-head { gap:10px; }
  #orderModal .om-sip { font-size:22px; }
  #orderModal .om-meta { font-size:11px; gap:8px; }
  #orderModal .sc-tabs { justify-content:flex-start; }
  #orderModal .sc-tab { flex:none; }
  #orderModal .fabric-summary { grid-template-columns:repeat(3,minmax(0,1fr)); row-gap:20px; }
  #orderModal .fabric-stat:nth-child(3n) { border-right:0; }
  #orderModal .fabric-stat:nth-child(4) { padding-left:0; }
  #orderModal .fabric-stat .v { font-size:18px; }
  #orderModal .fabric-card-head { flex-direction:column; align-items:flex-start; padding:14px; }
}
@media(prefers-reduced-motion:reduce) { #orderModal .order-ticket-summary-state i { transition:none; } }

/* 3 sekmeli kumaş detayı — özet önce, ayrıntı talep edildiğinde. */
#orderModal .order-overview-shell { margin-bottom:12px; }

#orderModal .order-overview-card { position:relative; min-width:0; min-height:78px; display:flex; flex-direction:column; justify-content:center; padding:12px 42px 12px 14px; border:1px solid color-mix(in srgb,var(--desk-line) 78%,transparent); border-radius:11px; background:var(--desk-paper); }
#orderModal .order-overview-card>span,
#orderModal .order-production-fabric header>div>span { color:var(--desk-muted); font-size:10px; font-weight:700; letter-spacing:.08em; }
#orderModal .order-overview-card strong { margin-top:7px; overflow:hidden; color:var(--desk-ink); font-size:15px; font-weight:700; line-height:1.25; text-overflow:ellipsis; white-space:nowrap; }
#orderModal .order-overview-card::before { display:none; }

#orderModal .order-rpt-brief { width:100%; min-height:56px; display:flex; align-items:center; gap:12px; padding:10px 12px; border:1px solid color-mix(in srgb,var(--accent) 24%,var(--desk-line)); border-radius:12px; background:color-mix(in srgb,var(--accent) 5%,var(--desk-paper)); color:var(--desk-ink); text-align:left; cursor:pointer; }
#orderModal .order-rpt-brief:disabled { cursor:default; }
#orderModal .order-rpt-mark { flex:0 0 auto; padding:5px 7px; border-radius:7px; background:var(--accent); color:var(--desk-paper); font-size:10px; font-weight:700; letter-spacing:.08em; }
#orderModal .order-rpt-copy { min-width:0; display:grid; gap:3px; }
#orderModal .order-rpt-copy b { font-size:13px; }
#orderModal .order-rpt-copy small { color:var(--desk-muted); font-size:11px; }
#orderModal .order-rpt-arrow { margin-left:auto; color:var(--accent); font-size:18px; }

#orderModal .order-general>div>.fabric-summary { display:none; }
#orderModal .production-facts { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.45fr); margin-bottom:14px; border:1px solid var(--desk-line); border-radius:13px; background:var(--desk-paper); }
#orderModal .production-facts>div { min-width:0; display:grid; gap:5px; padding:15px 17px; border-right:1px solid var(--desk-line); }
#orderModal .production-facts>div:last-child { border-right:0; }
#orderModal .production-facts span { color:var(--desk-muted); font-size:10px; font-weight:700; letter-spacing:.08em; }

#orderModal .production-facts small { color:var(--desk-muted); font-size:11px; line-height:1.35; }
#orderModal .production-values { display:flex; flex-wrap:wrap; gap:6px 10px; }
#orderModal .production-values span { color:var(--desk-ink); font-size:12px; font-weight:600; letter-spacing:0; }
#orderModal .production-values b { color:var(--desk-muted); font-weight:700; }
#orderModal .production-values-empty { color:var(--desk-muted); font-size:12px; }
#orderModal .production-value-edit { margin-left:6px; padding:2px 6px; border:1px solid var(--desk-line); border-radius:6px; background:var(--desk-soft); color:var(--accent); font:600 10px var(--font); cursor:pointer; }
#orderModal .production-value-history { margin-left:5px; padding:0; border:0; background:transparent; color:var(--desk-muted); font:700 15px/1 var(--font); cursor:help; vertical-align:middle; }
#orderModal .production-process-list { display:flex; align-items:center; flex-wrap:wrap; gap:6px 12px; min-height:24px; color:var(--desk-ink); font-size:13px; font-weight:650; line-height:1.35; }
#orderModal .production-process-item { display:inline-flex; align-items:center; gap:4px; }
#orderModal .production-process-item>b { font:700 12px var(--font-numeric); color:var(--desk-muted); }
#orderModal .production-process-info { position:relative; width:19px; height:19px; display:grid; place-items:center; flex:0 0 19px; padding:0; border:1px solid var(--desk-line); border-radius:50%; background:var(--desk-soft); color:var(--desk-muted); font:700 11px/1 Georgia,serif; cursor:help; }
#orderModal .production-process-info>small { position:absolute; right:0; bottom:calc(100% + 7px); z-index:8; width:max-content; max-width:300px; padding:8px 10px; border:1px solid var(--desk-line); border-radius:8px; background:var(--desk-ink); color:var(--desk-paper); font:500 11px/1.4 var(--font); text-align:left; box-shadow:0 8px 24px rgba(0,0,0,.18); opacity:0; visibility:hidden; transform:translateY(3px); transition:opacity .14s ease,transform .14s ease,visibility .14s; pointer-events:none; }
#orderModal .production-process-info:hover>small,#orderModal .production-process-info:focus-visible>small { opacity:1; visibility:visible; transform:none; }
#orderModal .production-process-empty { color:var(--desk-muted); }
#orderModal .production-rpt { margin-bottom:14px; }
#orderModal .order-production-list { display:grid; gap:12px; }
#orderModal .order-production-fabric { border:1px solid var(--desk-line); border-radius:14px; background:var(--desk-paper); overflow:hidden; }
#orderModal .order-production-fabric header { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:15px 17px; border-bottom:1px solid var(--desk-line); background:var(--desk-soft); }
#orderModal .order-production-fabric h4 { max-width:700px; margin:4px 0 0; color:var(--desk-ink); font-size:14px; line-height:1.4; }
#orderModal .machine-spec { display:flex; align-items:center; gap:12px; flex:0 0 auto; }
#orderModal .machine-spec span { color:var(--desk-muted); font-size:11px; }
#orderModal .machine-spec b { color:var(--desk-ink); font:700 17px var(--font-numeric); }
#orderModal .machine-spec i { width:1px; height:25px; background:var(--desk-line); }
#orderModal .recipe-list { padding:5px 17px; }
#orderModal .recipe-row { display:grid; grid-template-columns:minmax(0,1fr) minmax(150px,auto) 92px; align-items:center; gap:18px; min-height:56px; border-bottom:1px solid var(--desk-line); }
#orderModal .recipe-price { display:grid; gap:2px; text-align:right; }
#orderModal .recipe-price strong { color:var(--desk-ink); font-size:13px; font-weight:600; font-variant-numeric:tabular-nums; }
#orderModal .recipe-price small { color:var(--desk-muted); font-size:11px; }
#orderModal .recipe-price.is-missing { color:var(--desk-muted); font-size:11px; }
#orderModal .recipe-share { display:grid; gap:2px; justify-items:end; }
#orderModal .recipe-share b { color:var(--desk-ink); font:700 16px var(--font); font-variant-numeric:tabular-nums; }
#orderModal .recipe-share .recipe-share-tl { color:var(--success); font-size:11px; font-weight:600; font-variant-numeric:tabular-nums; }
#orderModal .recipe-row:last-child { border-bottom:0; }
#orderModal .recipe-row>div { display:grid; gap:2px; }
#orderModal .recipe-row strong { color:var(--desk-ink); font-size:12px; font-weight:650; }
#orderModal .recipe-row small { color:var(--desk-muted); font-size:10px; }
#orderModal .recipe-empty { padding:18px 0; color:var(--desk-muted); font-size:12px; }
#orderModal .planning-table-shell { overflow:hidden; border:1px solid var(--desk-line);  background:var(--desk-paper); }
#orderModal .planning-table-summary { display:flex; align-items:center; justify-content:space-between; gap:24px;    }
#orderModal .planning-table-summary>div { display:grid; gap:4px; }
#orderModal .planning-table-summary>div:last-child { text-align:right; }
#orderModal .planning-table-summary span { color:var(--desk-muted);    }
#orderModal .planning-table-summary strong { color:var(--desk-ink);   }
#orderModal .planning-table-summary>div:last-child strong { font:750 18px var(--font-numeric); }
#orderModal .planning-table-scroll { overflow:auto; }
#orderModal .planning-fabric-table { width:100%; min-width:900px; border-collapse:collapse; table-layout:fixed; }
#orderModal .planning-fabric-table thead th {  border-bottom:1px solid color-mix(in srgb,var(--desk-line) 72%,transparent);      text-align:left; text-transform:none; }
#orderModal .planning-fabric-table thead th:nth-child(1) { width:30%; }
#orderModal .planning-fabric-table thead th:nth-child(2) { width:15%; }
#orderModal .planning-fabric-table thead th:nth-child(3) { width:10%; }

#orderModal .planning-fabric-table thead th:nth-child(5) { width:9%; }

#orderModal .planning-fabric-table thead th:nth-child(7) { width:12%; text-align:right; }
#orderModal .planning-fabric-table .planning-spec-missing { color:var(--desk-muted); }
/* Üretim kartı: kumaş adının altında yeni sipariş kartındaki özellik satırı. */
#orderModal .order-production-spec { margin:4px 0 0; color:var(--desk-muted); font-size:11px; line-height:1.55; }
#orderModal .order-production-spec i { padding:0 4px; font-style:normal; }
#orderModal .planning-fabric-table tbody :is(th,td) {  border-bottom:1px solid color-mix(in srgb,var(--desk-line) 70%,transparent); background:var(--desk-paper); color:var(--desk-ink);  text-align:left; vertical-align:middle; }
#orderModal .planning-fabric-table tbody tr:last-child :is(th,td) { border-bottom:0; }
#orderModal .planning-fabric-table tbody tr:hover td { background:var(--desk-soft); }
#orderModal .planning-fabric-table tbody .planning-fabric-name { border-right:0; background:var(--desk-paper); box-shadow:none; }
#orderModal .planning-fabric-name span { display:block;   line-height:1.45; }
#orderModal .planning-fabric-name small { display:none; }
/* PUS · FEİN örgü makinesi bilgisidir; kumaş adının altında sakin tek satır. */
#orderModal .planning-fabric-name small.planning-fabric-gauge { display:block; margin-top:2px; font-size:var(--type-caption); font-weight:500; color:var(--desk-muted); }
/* Kumaş hücresi: renklerin toplam kilosu ve boyahane prosesleri (2026-10-11).
   Bitiş istekleri (çekmezlik/yıkama…) proses satırının sonundaki ⓘ ipucunda. */
#orderModal .planning-fabric-name small.planning-fabric-total { margin-top:4px; color:var(--desk-muted); }
#orderModal .planning-fabric-name small.planning-fabric-total b { font-weight:650; color:var(--desk-ink); font-variant-numeric:tabular-nums; }
/* Proses satırı ince ve silik: kumaş adı ve kg öne çıkar, süreç arka planda (2026-10-16). */
#orderModal .planning-fabric-name small.planning-fabric-process { margin-top:1px; font-size:11px; font-weight:300; line-height:1.35; letter-spacing:.01em; color:color-mix(in srgb,var(--desk-muted) 85%,transparent); }
#orderModal .planning-fabric-name small.planning-fabric-process .planning-process-tip { width:13px; height:13px; margin-left:4px; font-size:8px; vertical-align:1px; opacity:.7; }
#orderModal .planning-fabric-table .planning-color-finish { display:block; margin-top:2px; font-size:var(--type-caption); font-weight:500; color:var(--desk-muted); }
#orderModal .planning-fabric-table .planning-note-row td { padding-top:6px; padding-bottom:8px; background:var(--desk-soft); color:var(--desk-ink); font-size:var(--type-caption); line-height:1.5; white-space:normal; }
#orderModal .planning-fabric-table .planning-note-row p { margin:0; }
#orderModal .planning-fabric-table .planning-note-row b { margin-right:6px; font-weight:650; color:var(--desk-muted); }
/* Proses/bitiş ayrıntısı: kumaş hücresindeki proses satırının sonunda ⓘ (2026-10-16). */
#orderModal .planning-process-tip { display:inline-grid; place-items:center; width:16px; height:16px; margin-left:6px; padding:0; border:1px solid var(--desk-line); border-radius:50%; background:var(--desk-soft); color:var(--desk-muted); font:700 9.5px/1 Georgia,serif; cursor:help; vertical-align:-3px; }
#orderModal .planning-process-tip:hover { color:var(--desk-ink); }
#orderModal .planning-process-tip::before { content:'i'; }
#orderModal .planning-fabric-table .planning-kg { text-align:right; white-space:nowrap; }
#orderModal .planning-kg strong { font:750 14px var(--font-numeric); }
#orderModal .planning-kg span { margin-left:4px; color:var(--desk-muted);   }

#orderModal .supply-flow { margin:4px 0 16px; padding:14px 8px; border:1px solid color-mix(in srgb,var(--desk-line) 74%,transparent); border-radius:12px; }
#orderModal .supply-movements { width:100%; }
#orderModal .supply-movements .production-detail { margin:0; }

@media(max-width:900px) {
  #orderModal .order-overview-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  #orderModal .production-facts { grid-template-columns:1fr 1fr; }
  #orderModal .production-facts>.production-process { grid-column:1/-1; border-top:1px solid var(--desk-line); }
  
}
@media(max-width:620px) {
  #orderModal .order-overview-grid { grid-template-columns:1fr; gap:8px; }
  #orderModal .order-overview-card { min-height:76px; padding:11px 39px 11px 12px; }
  #orderModal .planning-table-summary { align-items:flex-start; padding:13px 14px; }
  
  #orderModal .production-facts { grid-template-columns:1fr; }
  #orderModal .production-facts>div { border-right:0; border-bottom:1px solid var(--desk-line); }
  #orderModal .production-facts>div:last-child { border-bottom:0; }
  #orderModal .production-facts>.production-process { grid-column:1; border-top:0; }

  #orderModal .order-production-fabric header { align-items:flex-start; flex-direction:column; }
  #orderModal .recipe-row { grid-template-columns:minmax(0,1fr) auto; gap:8px; padding:9px 0; }
  #orderModal .recipe-price { grid-column:1; grid-row:2; text-align:left; }
  #orderModal .recipe-share { grid-column:2; grid-row:1 / span 2; }

}

/* ── Renk / Kod düzeltme ────────────────────────────────────────────────
   Tabloya yeni bir sütun ya da açıklama EKLENMEZ: kalem yalnız fareyle
   üzerine gelince belirir, saat ikonu da yalnız o hücrenin geçmişi varsa
   çıkar. Böylece kartın mevcut dili ve ritmi olduğu gibi kalır. */
.fab-cell { position: relative; }
.fab-cell-body { display: inline-flex; align-items: center; gap: 5px; min-height: 20px; }
.fab-cell-val { min-width: 0; }
.fab-cell-edit,
.fab-cell-hist {
  width: 20px;
  height: 20px;
  display: grid;
  place-items: center;
  flex: 0 0 20px;
  padding: 0;
  border: 0;
  border-radius: 6px;
  background: transparent;
  color: var(--muted);
  cursor: pointer;
  transition: opacity .12s ease, background .12s ease, color .12s ease;
}
.fab-cell-edit svg,
.fab-cell-hist svg { width: 13px; height: 13px; stroke-width: 1.8; }
.fab-cell-edit:hover,
.fab-cell-hist:hover { background: rgba(127, 127, 127, .12); color: var(--text); }
.fab-cell-edit:focus-visible,
.fab-cell-hist:focus-visible { outline: 2px solid var(--accent); outline-offset: 1px; }

/* Kalem sessizdir: hücreye yaklaşmadan görünmez, yer de kaplamaz. */
.fab-cell-edit { opacity: 0; }
.fab-cell.is-editable:hover .fab-cell-edit,
.fab-cell-edit:focus-visible { opacity: 1; }
@media (hover: none) {
  .fab-cell-edit { opacity: .55; }
}

/* ERP kullanıcının yazdığının üzerine yazdıysa saat ikonu dikkat çeker. */
.fab-cell-hist.is-changed { color: #b26b00; }
.fab-cell-hist.is-changed::after {
  content: "";
  position: absolute;
  top: 1px;
  right: 1px;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: #f59e0b;
}
.fab-cell-hist { position: relative; }
.fab-cell-hist.is-open { background: var(--accent-soft); color: var(--accent); }

.fab-cell-input {
  width: 100%;
  min-width: 90px;
  height: 28px;
  padding: 0 8px;
  border: 1px solid var(--accent);
  border-radius: 7px;
  outline: 0;
  background: var(--surface-solid, #fff);
  color: var(--text);
  font: inherit;
  font-size: 11px;
}

/* ERP renkleri gelmeden çok renk (TASARIM-DILI.md §3.50): × kalem gibi sessizdir,
   kilo dağıtımı tutmazsa her satırın kilosunda sarı üçgen; açıklama ipucundadır. */
.fab-cell-remove {
  width: 20px; height: 20px; flex: 0 0 20px; display: grid; place-items: center;
  padding: 0; border: 0; border-radius: 6px; background: transparent; color: var(--muted);
  cursor: pointer; opacity: 0; transition: opacity .12s ease, background .12s ease, color .12s ease;
}
.fab-cell-remove svg { width: 12px; height: 12px; stroke-width: 2; }
.fab-cell.is-editable:hover .fab-cell-remove,
.fab-cell-remove:focus-visible { opacity: 1; }
.fab-cell-remove:hover { background: var(--danger-soft); color: var(--danger); }
.fab-cell-remove:focus-visible { outline: 2px solid var(--accent); outline-offset: 1px; }
@media (hover: none) { .fab-cell-remove { opacity: .55; } }
#orderModal .planning-kg.fab-kg-cell .fab-cell-body { justify-content: flex-end; margin-left: 0; color: inherit; }
#orderModal .planning-kg.fab-kg-cell .fab-cell-body > span.fab-cell-val { margin-left: 0; color: var(--desk-muted, var(--muted)); }
#orderModal .planning-kg.fab-kg-cell .fab-cell-edit { order: -1; }
.fab-kg-warn { display: grid; place-items: center; width: 18px; height: 18px; flex: 0 0 18px; color: var(--warning); cursor: help; }
#orderModal .planning-kg.fab-kg-cell .fab-kg-warn { margin-left: 0; color: var(--warning); }
.fab-kg-warn svg { width: 15px; height: 15px; stroke-width: 1.9; }
.fab-cell-input.is-kg { min-width: 72px; max-width: 96px; text-align: right; }
#orderModal tr.is-pending-color .fab-cell-val { color: var(--muted); }

.fab-hist-pop {
  position: fixed;
  z-index: 3200;
  min-width: 200px;
  max-width: min(340px, calc(100vw - 16px));
  display: grid;
  gap: 1px;
  padding: 6px;
  border: 1px solid var(--desk-line, var(--border));
  border-radius: 11px;
  background: var(--desk-paper, var(--surface-solid, #fff));
  box-shadow: 0 16px 40px rgba(15, 35, 65, .18);
}
.fab-hist-row {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: baseline;
  gap: 10px;
  padding: 5px 7px;
  border-radius: 7px;
  font-size: 11px;
}
.fab-hist-row.is-erp { background: var(--accent-soft); }
.fab-hist-who { color: var(--muted); font-size: 9.5px; font-weight: 750; white-space: nowrap; }
.fab-hist-row.is-erp .fab-hist-who { color: var(--accent); }
.fab-hist-val { min-width: 0; overflow: hidden; color: var(--text); font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
.fab-hist-at { color: var(--muted); font-size: 9.5px; white-space: nowrap; }

/* ─── ••• MENÜSÜ: kısayol listesiyle AYNI DİL (2026-09-17) ───
   Satırlar eskiden ayrı ayrı renkli kutulardı (mor ticket, yeşil tamamlandı,
   kırmızı sil); yanında açılan kısayol listesi ise sakin satır + renkli ikon
   rozetiydi. İkisi yan yana durduğu için satırın kendisi artık sakin, renk
   yalnız ikon rozetinde. Renk kimliği (mavi takvim, mor ticket, yeşil
   tamamlandı, kırmızı sil) korunur — sadece yeri değişir. */
.order-modal-action-menu .order-modal-menu-item {
  --row-color: var(--muted);
  border: 0;
  background: transparent;
  color: var(--text);
  box-shadow: none;
}
.order-modal-action-menu .order-modal-menu-item.act-calendar { --row-color:#3b82f6; }
/* Yazdır simgesi sönük gri kalıyordu (2026-10-20): metin rengiyle çizilir. */
.order-modal-action-menu .order-modal-menu-item.act-print { --row-color:var(--text); }
.order-modal-action-menu .order-modal-menu-item.act-rpt { --row-color:#0ea5e9; }
.order-modal-action-menu .order-modal-menu-item.act-ticket { --row-color:#8b5cf6; }
.order-modal-action-menu .order-modal-menu-item.act-watch { --row-color:#f59e0b; }
.order-modal-action-menu .order-modal-menu-item.act-report { --row-color:color-mix(in srgb,var(--danger) 50%,var(--warning-fill)); }

.order-modal-action-menu .order-modal-menu-item.act-restore { --row-color:#0ea5e9; }
.order-modal-action-menu .order-modal-menu-item.is-danger,
.order-modal-action-menu .order-modal-menu-item.act-remove { --row-color:#e0453f; }
.order-modal-action-menu .order-modal-menu-item .order-modal-menu-icon {
  color: var(--row-color);
  background: color-mix(in srgb, var(--row-color) 13%, transparent);
}
.order-modal-action-menu .order-modal-menu-item .order-modal-menu-copy b { color: var(--text); }
.order-modal-action-menu .order-modal-menu-item .order-modal-menu-copy small { color: var(--muted); }
.order-modal-action-menu .order-modal-menu-item:hover,
.order-modal-action-menu .order-modal-menu-item.is-shortcut-open {
  background: color-mix(in srgb, var(--row-color) 10%, transparent);
}
.order-modal-action-menu .order-modal-menu-item.is-danger .order-modal-menu-copy b { color: var(--row-color); }
.order-modal-action-menu .order-modal-menu-item.is-danger .order-modal-menu-copy small { color: color-mix(in srgb, var(--row-color) 52%, var(--muted)); }
.order-modal-action-menu .order-modal-menu-item:disabled {
  background: transparent;
  opacity: .5;
}
.order-modal-action-menu .order-modal-menu-item:disabled .order-modal-menu-icon {
  color: var(--muted);
  background: color-mix(in srgb, var(--muted) 12%, transparent);
}
html[data-theme="dark"] .order-modal-action-menu .order-modal-menu-item.act-calendar { --row-color:#64aef7; }
html[data-theme="dark"] .order-modal-action-menu .order-modal-menu-item.act-ticket { --row-color:#b79dfc; }
html[data-theme="dark"] .order-modal-action-menu .order-modal-menu-item.act-watch { --row-color:#f2b23c; }

html[data-theme="dark"] .order-modal-action-menu .order-modal-menu-item.is-danger,
html[data-theme="dark"] .order-modal-action-menu .order-modal-menu-item.act-remove { --row-color:#ff6961; }
/* Koyu temada .act-* kuralları daha güçlü seçicilerle geliyor; satırın sakin
   kalması için aynı güçte sıfırlanır. */
html[data-theme="dark"] .order-modal-action-menu .order-modal-menu-item {
  border: 0;
  background: transparent;
  color: var(--text);
}
html[data-theme="dark"] .order-modal-action-menu .order-modal-menu-item:hover,
html[data-theme="dark"] .order-modal-action-menu .order-modal-menu-item.is-shortcut-open {
  background: color-mix(in srgb, var(--row-color) 14%, transparent);
}
html[data-theme="dark"] .order-modal-action-menu .order-modal-menu-item:disabled,
html[data-theme="dark"] .order-modal-action-menu .order-modal-menu-item:disabled:hover {
  background: transparent;
}
html[data-theme="dark"] .order-modal-action-menu .order-modal-menu-item .order-modal-menu-icon {
  color: var(--row-color);
  background: color-mix(in srgb, var(--row-color) 16%, transparent);
}

/* Tipografi de kısayol listesindekiyle aynı: aşırı kalın 820 başlık ve 8.5px
   kalın alt satır yerine Inter'in daha ince, daha okunur ölçüsü. */
.order-modal-action-menu .order-modal-menu-item { min-height:52px; font-family:var(--font); }
.order-modal-action-menu .order-modal-menu-copy { gap:1px; }
.order-modal-action-menu .order-modal-menu-copy b {
  font-size:12px; font-weight:650; letter-spacing:-.012em; line-height:1.35;
}
.order-modal-action-menu .order-modal-menu-copy small {
  overflow:hidden; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2;
  white-space:normal; font-size:10.5px; font-weight:450; letter-spacing:0; line-height:1.32;
}

/* Üretim Verileri: varsayılan kapalı ince satır (açılır liste). */
#orderModal .om-data>summary { list-style:none; cursor:pointer; }
#orderModal .om-data>summary::-webkit-details-marker { display:none; }
#orderModal .om-data:not([open])>summary { border-bottom:0; padding-top:10px; padding-bottom:10px; }
#orderModal .om-data>summary:hover { background:var(--desk-soft); }
#orderModal .om-data-head-end { display:flex; align-items:center; gap:var(--space-3); margin-left:auto; }
#orderModal .om-data-chevron { width:26px; height:26px; display:grid; place-items:center; border-radius:50%; background:var(--desk-soft); color:var(--desk-muted); transition:transform .16s ease; }
#orderModal .om-data-chevron svg { width:14px; height:14px; }
#orderModal .om-data[open] .om-data-chevron { transform:rotate(180deg); }

/* ═══ SİPARİŞ DETAYI — YENİ DÜZEN (2026-09-23) ═══════════════════════════
   Tek hiyerarşi, yukarıdan aşağı:
   1) Başlık (yapışkan): numara + durum rozeti · tek satır künye · simge eylemler
   2) Özet şeridi: Termin · İplik · Örgü · Boya — tek kutu, ince ayraçlı hücreler
      (TERMİN hücresine tıklayınca termin paneli hemen altında açılır)
   3) ERP notu (varsa) — sakin tek satır
   4) Sekmeler + içerik
   5) Fotoğraf · Ticketlar · Üretim Verileri · Notlar — aynı kart dili
   Renkli düğme sırası yok: yazdırma ••• menüsünde, notlara iniş başlıkta. */
#orderModalBody { padding:0 var(--space-6) var(--space-6); }

/* 1 · Başlık */
#orderModal .om-head { position:sticky; top:0; z-index:30; display:flex; align-items:flex-start; justify-content:space-between; gap:var(--space-5); margin:0 calc(-1 * var(--space-6)) var(--space-5); padding:var(--space-5) var(--space-6) var(--space-4); border:0; background:var(--desk-paper); box-shadow:0 1px 0 var(--desk-line); }
#orderModal .om-title-row { display:flex; align-items:center; flex-wrap:wrap; gap:var(--space-2) 10px; }
#orderModal .om-sip { margin:0; color:var(--desk-ink); font-size:24px; font-weight:700; line-height:1.2; }
#orderModal .om-meta { display:flex; flex-wrap:wrap; align-items:center; gap:2px 0; margin-top:6px; color:var(--desk-muted); font-size:var(--type-control); font-weight:500; line-height:1.4; }
#orderModal .om-meta-item { display:inline-flex; align-items:center; gap:0; min-width:0; white-space:nowrap; }
#orderModal .om-meta-item:not(:last-child)::after { content:'·'; margin:0 var(--space-2); color:var(--desk-muted); opacity:.7; }
#orderModal .om-meta-item.om-firm { max-width:440px; color:var(--desk-ink); font-weight:600; }
#orderModal .om-firm-name { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
/* Mağaza siparişi: künyedeki müşteri adı seçicidir (sessiz, kutusuz; oku görünür). */
#orderModal .om-store-customer { display:inline-flex; align-items:center; gap:2px; max-width:100%; margin:0 -4px; padding:1px 4px; border:0; border-radius:6px; background:transparent; color:inherit; font:inherit; cursor:pointer; }
#orderModal .om-firm-link { max-width:100%; margin:0 -4px; padding:1px 4px; border:0; border-radius:6px; background:transparent; color:inherit; font:inherit; cursor:pointer; text-align:left; }
#orderModal .om-firm-link:hover, #orderModal .om-firm-link:focus-visible { background:var(--v2-hover,var(--accent-soft)); outline:0; text-decoration:underline; text-underline-offset:3px; }
#orderModal .om-store-customer svg { width:14px; height:14px; flex:0 0 auto; color:var(--desk-muted); }
#orderModal .om-store-customer:hover, #orderModal .om-store-customer:focus-visible { background:var(--v2-hover,var(--accent-soft)); outline:0; }
#orderModal .om-store-customer:not(.is-set) { color:var(--desk-muted); }
/* Örgücü/boyahane elle atama: özet kutusunda ve Tedarik Zinciri satırında firma adı seçicidir
   (mağaza müşterisiyle aynı sessiz düğme); ERP üzerine yazdıysa saat ikonu fab-cell-hist ile aynıdır. */
#orderModal .order-fact strong.has-partner-slot, #orderModal .has-partner-slot { display:flex; align-items:center; gap:4px; min-width:0; }
#orderModal .partner-assign { display:inline-flex; align-items:center; gap:2px; min-width:0; max-width:100%; margin:0 -4px; padding:1px 4px; border:0; border-radius:6px; background:transparent; color:inherit; font:inherit; cursor:pointer; }
#orderModal .partner-assign-name { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
#orderModal .partner-assign svg { width:14px; height:14px; flex:0 0 auto; color:var(--desk-muted); }
#orderModal .partner-assign:hover, #orderModal .partner-assign:focus-visible { background:var(--v2-hover,var(--accent-soft)); outline:0; }
#orderModal .partner-assign:not(.is-set) { color:var(--desk-muted); font-weight:500; }
#orderModal .sc-party.has-partner-slot { justify-content:flex-start; }
#orderModal .sc-board .partner-assign { margin:0; padding:0; }
#orderModal .om-meta-item strong { margin-left:4px; color:var(--desk-ink); font-weight:600; }
/* Durum rozetleri — tek rozet dili (§3.9): 11px/600, sakin zemin, çerçeve yok */
#orderModal .om-status { display:inline-flex; align-items:center; height:22px; padding:0 var(--space-2); border:0; border-radius:999px; background:var(--desk-soft); color:var(--desk-muted); box-shadow:none; font-size:var(--type-caption); font-weight:600; letter-spacing:0; white-space:nowrap; }
#orderModal .om-status.sc-dye-pending-badge { background:var(--warning-soft); color:var(--warning); }
#orderModal .om-status.sc-done-badge { background:var(--success-soft); color:var(--success); }
#orderModal .om-status.sc-production-badge { background:var(--accent-soft); color:var(--accent); }
/* Simge eylemler: dördü aynı ölçü, aynı nötr dil */
#orderModal .order-modal-actions { flex:none; gap:6px; padding:0; border:0; background:none; box-shadow:none; }
#orderModal .order-modal-actions > .modal-act-btn,
#orderModal .order-modal-actions .order-modal-more-btn { width:36px; min-width:36px; height:36px; display:grid; place-items:center; padding:0; border:1px solid var(--desk-line); border-radius:10px; background:var(--desk-paper); color:var(--desk-muted); box-shadow:none; transform:none; transition:background .15s ease,color .15s ease,border-color .15s ease; }
#orderModal .order-modal-actions > .modal-act-btn:hover,
#orderModal .order-modal-actions .order-modal-more-btn:hover,
#orderModal .order-modal-menu-wrap.is-open .order-modal-more-btn { background:var(--desk-soft); color:var(--desk-ink); border-color:var(--desk-line); box-shadow:none; transform:none; }
#orderModal .order-modal-actions > .modal-act-btn svg { width:17px; height:17px; }
#orderModal .order-modal-actions > .modal-act-btn .act-label { display:none; }
#orderModal .order-modal-actions > .modal-act-btn.act-close { margin-left:var(--space-1); }
/* Notlara in + not sayıları (2026-10-29; 2026-10-30 köşe rozeti): özel mavi, genel yeşil.
   Sayı simgenin sağ üst köşesine oturur (ikisi de varsa hafif üst üste); düğme
   36px kare kalır, komşular kaymaz. */
#orderModal .order-modal-actions > .modal-act-btn.act-note { position:relative; overflow:visible; }
#orderModal .act-note-counts { position:absolute; top:2px; left:19px; display:flex; pointer-events:none; }
#orderModal .act-note-counts b { min-width:16px; height:16px; padding:0 4px; display:inline-grid; place-items:center; border-radius:999px; font:700 10px/1 var(--font); font-variant-numeric:tabular-nums; color:var(--on-accent,white); box-shadow:0 0 0 2px var(--order-head-bg,var(--desk-paper)); }
#orderModal .act-note-counts b + b { margin-left:-1px; }
#orderModal .act-note-counts .is-private { background:var(--accent); }
#orderModal .act-note-counts .is-online { background:var(--success); }
/* Yardım: komşu simgelerle aynı çıplak 36px kare. Halka ve ? tek SVG maskesidir
   (metin "?" yazı tipi ölçüsü yüzünden halkada ortalanmıyordu); yazı gizli, okuyucuya
   aria-label yeter. */
#orderModal .order-modal-actions > .page-help-btn.is-modal { position:relative; border:0; border-radius:10px; background:transparent; color:var(--desk-muted); font-size:0; }
#orderModal .order-modal-actions > .page-help-btn.is-modal::before { content:""; position:absolute; inset:0; margin:auto; width:19px; height:19px; background:currentColor; -webkit-mask:var(--om-help-icon) center/contain no-repeat; mask:var(--om-help-icon) center/contain no-repeat; }
#orderModal { --om-help-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M9.7 9.5a2.4 2.4 0 1 1 3.3 2.2c-.6.3-1 .8-1 1.5v.4'/%3E%3Cpath d='M12 16.6v.1'/%3E%3C/svg%3E"); }
#orderModal .order-modal-actions > .page-help-btn.is-modal:hover,
#orderModal .order-modal-actions > .page-help-btn.is-modal[aria-expanded="true"] { background:var(--v2-hover,var(--desk-soft)); color:var(--desk-ink); }
/* Kapat eylemlerden ince bir dikey çizgiyle ayrılır. */
#orderModal .order-modal-actions > .modal-act-btn.act-close { position:relative; overflow:visible; margin-left:13px; }
#orderModal .order-modal-actions > .modal-act-btn.act-close::before { content:""; position:absolute; left:-8px; top:8px; bottom:8px; width:1px; background:color-mix(in srgb,var(--desk-muted) 38%,transparent); }

/* 2 · Özet şeridi */
#orderModal .sc-card { margin:0 0 var(--space-4); }
#orderModal .order-overview-shell { margin:0; }
#orderModal .order-overview-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:0; overflow:hidden; border:1px solid var(--desk-line); border-radius:14px; background:var(--desk-paper); }
#orderModal .order-fact { position:relative; min-width:0; min-height:0; display:flex; flex-direction:column; justify-content:flex-start; gap:var(--space-1); margin:0; padding:14px var(--space-4); border:0; border-left:1px solid var(--desk-line); border-radius:0; background:none; box-shadow:none; color:var(--desk-ink); font:inherit; text-align:left; }
#orderModal .order-overview-grid > .order-fact:first-child { border-left:0; }
#orderModal .order-fact > span,
#orderModal .order-fact .order-fact-k { display:inline-flex; align-items:center; gap:var(--space-1); color:var(--desk-muted); font-size:var(--type-caption); font-weight:700; letter-spacing:.08em; line-height:1.3; text-transform:uppercase; }
#orderModal .order-fact strong { display:block; margin:0; overflow:hidden; color:var(--desk-ink); font-size:15px; font-weight:650; line-height:1.35; letter-spacing:-.01em; text-overflow:ellipsis; white-space:nowrap; }
#orderModal .order-fact-sub { display:flex; align-items:center; gap:6px; min-width:0; overflow:hidden; color:var(--desk-muted); font-size:var(--type-meta); font-weight:500; line-height:1.35; text-overflow:ellipsis; white-space:nowrap; }
#orderModal .order-overview-card[data-shell-tip] { cursor:default; }
#orderModal .order-overview-card[data-shell-tip]:hover { background:color-mix(in srgb,var(--desk-soft) 60%,transparent); }
/* TERMİN hücresi bir düğmedir: paneli açar */
#orderModal button.order-fact-termin { cursor:pointer; transition:background .15s ease; }
#orderModal button.order-fact-termin:hover,
#orderModal button.order-fact-termin.is-open { background:var(--desk-soft); }
#orderModal .order-fact-chevron { width:12px; height:12px; stroke-width:2.4; opacity:.7; transition:transform .15s ease; }
#orderModal .order-fact-termin.is-open .order-fact-chevron { transform:rotate(180deg); }
#orderModal .order-fact-termin.is-empty strong { color:var(--accent); }
#orderModal .order-fact-dot { width:6px; height:6px; flex:none; border-radius:50%; background:var(--desk-muted); }
#orderModal .order-fact-termin.t-ok .order-fact-dot { background:var(--success); }
#orderModal .order-fact-termin.t-soon .order-fact-dot { background:var(--warning-fill); }
#orderModal .order-fact-termin.t-overdue .order-fact-dot { background:var(--danger); }
/* Durum simgeleri (2026-11-03): termin yakın/geçti saati; örgü/boya yüzdesinin
   yanında bitti onayı ya da fasoncuda uzun bekleyen işte kum saati. */
#orderModal .order-fact-termin-icon { width:14px; height:14px; flex:none; }
#orderModal .order-fact-termin.t-soon .order-fact-termin-icon { color:var(--warning); }
#orderModal .order-fact-termin.t-overdue .order-fact-termin-icon { color:var(--danger); }
#orderModal .order-fact-pct { display:inline-flex; align-items:center; gap:4px; }
#orderModal .order-fact-state { width:13px; height:13px; flex:none; }
#orderModal .order-fact-termin.t-overdue .order-fact-sub { color:var(--danger); font-weight:600; }
/* Teslim / sevk edildi: sakin yeşil zemin, onay simgeli başlık */
#orderModal .order-fact-termin.is-delivered { background:color-mix(in srgb, var(--success) 7%, transparent); }
#orderModal button.order-fact-termin.is-delivered:hover,
#orderModal button.order-fact-termin.is-delivered.is-open { background:color-mix(in srgb, var(--success) 12%, transparent); }
#orderModal .order-fact strong.order-fact-delivered { display:flex; align-items:center; gap:6px; color:var(--success); }
#orderModal .order-fact-delivered-icon { width:18px; height:18px; flex:none; stroke-width:2.2; }
#orderModal .order-fact-termin.is-delivered.is-late .order-fact-sub { color:var(--warning-fill); }
.order-modal-action-menu .order-modal-menu-item.act-deliver { --row-color:var(--success); }
.order-modal-action-menu .order-modal-menu-item.act-undeliver { --row-color:var(--accent); }
#orderModal .order-overview-rpt { grid-column:1/-1; padding:var(--space-2); border-top:1px solid var(--desk-line); }
#orderModal .order-overview-rpt .order-rpt-brief { min-height:48px; border-color:transparent; background:var(--desk-soft); }

/* ERP notu (2026-09-23): künye satırının son öğesi, küçük sessiz düğme.
   Tıklanınca not bir kartta açılır (§3.2 zengin önizleme kartı: aynı kâğıt,
   1px çizgi, r:14px, yeni renk yok). Tam genişlik satır yok. */
#orderModal .om-erp-note { position:relative; }
#orderModal .om-erp-note-btn { display:inline-flex; align-items:center; gap:4px; min-height:24px; padding:2px 7px; margin:-2px 0; border:0; border-radius:8px; background:none; color:var(--desk-muted); font:inherit; font-weight:500; cursor:pointer; }
#orderModal .om-erp-note-btn svg { width:14px; height:14px; stroke-width:1.7; }
#orderModal .om-erp-note-btn:hover,#orderModal .om-erp-note-btn[aria-expanded="true"] { background:var(--desk-soft); color:var(--desk-ink); }
#orderModal .om-erp-note-btn:focus-visible { outline:2px solid var(--accent); outline-offset:1px; }
#orderModal .om-erp-note-card { position:absolute; top:calc(100% + 8px); left:0; z-index:30; display:flex; flex-direction:column; gap:4px; width:min(380px,80vw); padding:12px 14px; border:1px solid var(--desk-line); border-radius:14px; background:var(--desk-paper); color:var(--desk-ink); box-shadow:0 18px 40px rgba(0,0,0,.18); font-size:var(--type-meta); font-weight:500; line-height:1.5; white-space:normal; overflow-wrap:anywhere; }
#orderModal .om-erp-note-card[hidden] { display:none; }
#orderModal .om-erp-note-card > b { color:var(--desk-muted); font-size:var(--type-caption); font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
@media(max-width:760px){ #orderModal .om-erp-note-card { left:auto; right:0; } }

/* 3 · ERP notu ve termin paneli — şeridin hemen altı */
#orderModal .order-data-note { display:flex; align-items:baseline; gap:var(--space-3); margin:var(--space-3) 0 0; padding:10px 14px; border:0; border-radius:12px; background:var(--desk-soft); color:var(--desk-ink); font-size:var(--type-control); line-height:1.5; }

#orderModal .order-termin-panel { margin:var(--space-3) 0 0; padding:var(--space-4); border:1px solid var(--desk-line); border-radius:14px; background:var(--desk-paper); }

/* 4 · Sekmeler ve tablo */
#orderModal .sc-body { margin-top:var(--space-5); }
#orderModal .sc-tabs-row { margin-bottom:var(--space-4); }
#orderModal .sc-tab { font-size:var(--type-control); }
#orderModal .planning-table-shell { border-radius:14px; }
#orderModal .planning-table-summary { padding:12px var(--space-4); border-bottom:1px solid var(--desk-line); background:none; }
#orderModal .planning-table-summary > div { display:flex; align-items:baseline; gap:var(--space-2); }
#orderModal .planning-table-summary span { font-size:var(--type-caption); font-weight:700; letter-spacing:.08em; }
#orderModal .planning-table-summary strong { font-size:var(--type-control); font-weight:600; }
#orderModal .planning-table-summary > div:last-child strong { font-size:var(--type-section); font-weight:700; }
#orderModal .planning-fabric-table thead th { padding:10px var(--space-4); background:var(--desk-soft); color:var(--desk-muted); font-size:var(--type-caption); font-weight:600; letter-spacing:0; }
#orderModal .planning-fabric-table tbody :is(th,td) { padding:12px var(--space-4); font-size:var(--type-control); }
#orderModal .planning-fabric-name span { font-size:var(--type-control); font-weight:650; }
#orderModal .planning-kg strong { font-size:14px; font-weight:700; }
#orderModal .planning-kg span { font-size:var(--type-caption); font-weight:600; }

/* 5 · Alt bölümler: aynı kart dili, aynı başlık */
#orderModal :is(.order-ticket-disclosure,.om-data,.order-photo-rail) { margin:var(--space-4) 0 0; border:1px solid var(--desk-line); border-radius:14px; background:var(--desk-paper); box-shadow:none; }
#orderModal .tickets-in-order-head,
#orderModal .om-data-head { min-height:52px; padding:0 var(--space-4); border:0; font-size:14px; }
#orderModal .tickets-in-order-head > span:first-child,
#orderModal .om-data-title { color:var(--desk-ink); font-size:14px; font-weight:650; letter-spacing:-.01em; text-transform:none; }
#orderModal .om-data[open] .om-data-head { border-bottom:1px solid var(--desk-line); }
#orderModal .om-data-head .order-color-chip { padding:3px var(--space-2); border:0; border-radius:999px; background:var(--desk-soft); color:var(--desk-muted); font-size:var(--type-caption); font-weight:600; box-shadow:none; }
#orderModal .om-data-group-title { font-size:var(--type-caption); }
#orderModal .om-data-row { font-size:var(--type-control); }
:is(#orderModal,#page-notes,#orderNotesPopup) .order-notes-panel-unified { margin-top:var(--space-4); border-radius:14px; }
:is(#orderModal,#page-notes,#orderNotesPopup) .order-notes-unified-title { display:none; }
:is(#orderModal,#page-notes,#orderNotesPopup) .watch-note-chat.is-order-surface .watch-note-chat-head { padding:14px var(--space-4) 12px; }
:is(#orderModal,#page-notes,#orderNotesPopup) .watch-note-chat-head b { font-size:14px; }
#orderModal .om-foot { margin-top:var(--space-5); padding-top:0; border-top:0; font-size:var(--type-meta); }

@media (max-width:760px) {
  #orderModalBody { padding:0 14px 20px; }
  #orderModal .om-head { flex-direction:row; gap:var(--space-3); margin:0 -14px var(--space-4); padding:var(--space-4) 14px 14px; }
  #orderModal .om-sip { font-size:20px; }
  #orderModal .om-meta { font-size:var(--type-meta); }
  #orderModal .om-meta-item.om-firm { flex-basis:100%; max-width:100%; }
  #orderModal .om-meta-item.om-firm::after { content:none; }
  #orderModal .order-data-note { flex-direction:column; gap:2px; }
  #orderModal .planning-table-summary span { display:none; }
  #orderModal .planning-table-summary strong { white-space:nowrap; }
  #orderModal .order-modal-actions > .modal-act-btn.act-note,
  #orderModal .order-modal-actions > .modal-act-btn.act-park { display:none; }
  #orderModal .order-overview-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  #orderModal .order-overview-grid > .order-fact:nth-child(odd) { border-left:0; }
  #orderModal .order-overview-grid > .order-fact:nth-child(n+3) { border-top:1px solid var(--desk-line); }
}
@media (prefers-reduced-motion:reduce) {
  #orderModal .order-fact-chevron, #orderModal button.order-fact-termin, #orderModal .order-modal-actions > .modal-act-btn { transition:none; }
}
/* Tablo satırı sarmaz (§4.1); yalnız kumaş adı iki satıra inebilir. */
#orderModal .planning-fabric-table tbody td { white-space:nowrap; }
#orderModal .planning-fabric-table thead th:nth-child(4) { width:12%; }
#orderModal .planning-fabric-table thead th:nth-child(6) { width:12%; }
#orderModal .planning-fabric-table .fab-cell-body { max-width:100%; }
#orderModal .planning-fabric-table .fab-cell-val { overflow-wrap:anywhere; }
/* Sipariş detayı not paneli (2026-09-25): yazma alanı + ile açılır, etiket
   düğmesi ve resim düğmesi gönder düğmesiyle aynı yükseklikte (44px). */
:is(#orderModal,#page-notes,#orderNotesPopup) .watch-note-chat { --note-ctl:44px; }
:is(#orderModal,#page-notes,#orderNotesPopup) .watch-note-chat.is-order-surface .watch-note-chat-head { gap:var(--space-2); }
:is(#orderModal,#page-notes,#orderNotesPopup) .watch-note-chat.is-order-surface .watch-note-chat-head .watch-note-mode { margin-left:auto; }
:is(#orderModal,#page-notes,#orderNotesPopup) .watch-note-chat.is-order-surface .watch-note-add { width:32px; height:32px; }
:is(#orderModal,#page-notes,#orderNotesPopup) .watch-note-chat.is-order-surface .watch-note-compose-row { grid-template-columns:auto minmax(0,1fr) auto 44px; }
:is(#orderModal,#page-notes,#orderNotesPopup) .watch-note-chat.is-order-surface.is-composing .watch-note-composer { display:grid; gap:var(--space-2); }
:is(#orderModal,#page-notes,#orderNotesPopup) .watch-note-chat.is-order-surface:not(.is-composing) .watch-note-composer { display:none; }
:is(#orderModal,#page-notes,#orderNotesPopup) .watch-note-chat.is-order-surface .watch-note-thread { min-height:0; max-height:460px; scrollbar-width:none; }
:is(#orderModal,#page-notes,#orderNotesPopup) .watch-note-chat.is-order-surface .watch-note-thread::-webkit-scrollbar { display:none; }
/* 1-2 notlu sipariş göze çarpsın: not varken akış standart bir boyda açılır
   (en büyük 460'ın altında); fazlası 460'a kadar uzar, sonra kayar. */
:is(#orderModal,#page-notes,#orderNotesPopup) .watch-note-chat.is-order-surface:not(.is-empty) .watch-note-thread { min-height:240px; }
:is(#orderModal,#page-notes,#orderNotesPopup) .watch-note-chat.is-order-surface .watch-note-empty { min-height:120px; }
:is(#orderModal,#page-notes,#orderNotesPopup) .watch-note-filter-row { padding:0 var(--space-4) var(--space-3); border-bottom:1px solid var(--desk-line); }
@media (max-width:760px) {
  :is(#orderModal,#page-notes,#orderNotesPopup) .watch-note-chat.is-order-surface .watch-note-chat-head { flex-wrap:wrap; }
  :is(#orderModal,#page-notes,#orderNotesPopup) .watch-note-filter-row { padding:0 14px var(--space-3); }
  :is(#orderModal,#page-notes,#orderNotesPopup) .watch-note-chat.is-order-surface:not(.is-empty) .watch-note-thread { min-height:180px; }
}

/* Müşteri önemi rozeti künyede firma adının yanında durur (adı kısaltır, rozeti değil). */
#orderModal .om-firm .ci-badge{flex:0 0 auto;margin:0 0 0 var(--space-2)}
/* Kumaş hücresinde gönderilen fiyat (2026-10-18) */
#orderModal .planning-fabric-name small.order-fabric-price{display:block;margin-top:4px;font-size:12px;font-weight:650;font-variant-numeric:tabular-nums;color:var(--success);cursor:help;outline:0}
#orderModal .planning-fabric-name small.order-fabric-cost{display:block;margin-top:2px;font-size:11.5px;font-weight:600;font-variant-numeric:tabular-nums;color:var(--muted);cursor:help;outline:0}

/* Karşı kayıt şeridi (2026-10-23, düzen B): başlığın altında tek satır.
   Solda yeşil etiket (Bursa · MO1 / Egemen · 00516), ortada sessiz künye,
   sağda karşı kaydı açan sakin düğme. */
#orderModal .om-linked { display:flex; align-items:center; gap:12px; margin:0 0 14px; padding:10px 14px; border:1px solid var(--desk-line); border-radius:10px; background:var(--desk-paper); font-size:12px; }
#orderModal .om-linked-tag { flex:0 0 auto; padding:2px 8px; border-radius:6px; background:color-mix(in srgb,var(--success) 14%,transparent); color:var(--success); font-weight:600; font-variant-numeric:tabular-nums; white-space:nowrap; }
#orderModal .om-linked-body { flex:1 1 auto; min-width:0; overflow:hidden; color:var(--desk-muted); white-space:nowrap; text-overflow:ellipsis; }
#orderModal .om-linked-body i { color:var(--desk-ink); font-style:italic; }
#orderModal .om-linked-dot { margin:0 6px; }
#orderModal .om-linked-open { flex:0 0 auto; padding:5px 10px; border:1px solid var(--desk-line); border-radius:7px; background:transparent; color:var(--desk-ink); font:inherit; font-weight:600; cursor:pointer; transition:background .14s ease; }
#orderModal .om-linked-open:hover { background:var(--desk-soft); }
#orderModal .om-linked-open:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
@media (max-width:560px) { #orderModal .om-linked { flex-wrap:wrap; } #orderModal .om-linked-body { flex-basis:100%; order:3; white-space:normal; } }

/* ── Üretim › Fire tablosu (2026-10-27, TASARIM-DILI §3.12a) ───────────────
   production-facts kutusunun dili: aynı kâğıt, aynı versal etiket. Satır =
   aşama · firma/kumaş + altında kilo yolu; planın altı yeşil, üstü kırmızı,
   şüpheli kayıt sarı etiketli ve farksız. */
#orderModal .production-fire { margin:14px 0 0; padding:13px 17px 8px; border:1px solid var(--desk-line); border-radius:13px; background:var(--desk-paper); }
#orderModal .production-fire-head { display:flex; align-items:baseline; justify-content:space-between; gap:10px; margin-bottom:4px; }
#orderModal .production-fire-head span { color:var(--desk-muted); font-size:10px; font-weight:700; letter-spacing:.08em; }
#orderModal .production-fire-head small { color:var(--desk-muted); font-size:11px; }
#orderModal .production-fire-table { width:100%; border-collapse:collapse; table-layout:fixed; font-size:13px; font-variant-numeric:tabular-nums; }
#orderModal .production-fire-table thead th { padding:6px 0 6px 8px; border:0; background:none; color:var(--desk-muted); font-size:11px; font-weight:500; letter-spacing:0; text-transform:none; text-align:right; }
#orderModal .production-fire-table thead th:first-child { width:52%; padding-left:0; text-align:left; }
#orderModal .production-fire-table tbody th, #orderModal .production-fire-table td { padding:8px 0 8px 8px; border-top:1px solid var(--desk-line); vertical-align:top; }
#orderModal .production-fire-table tbody th { min-width:0; padding-left:0; color:var(--desk-ink); font-weight:550; text-align:left; }
#orderModal .production-fire-table td { color:var(--desk-ink); text-align:right; white-space:nowrap; }
#orderModal .production-fire-who { display:inline; overflow-wrap:anywhere; }
#orderModal .production-fire-table small { display:block; margin-top:2px; color:var(--desk-muted); font-size:11px; font-weight:450; }
#orderModal .production-fire-table .is-muted { color:var(--desk-muted); }
#orderModal .production-fire-table .is-under { color:var(--success); font-weight:600; }
#orderModal .production-fire-table .is-over { color:var(--danger); font-weight:600; }
#orderModal .production-fire-table .is-warn { color:var(--warning); font-weight:600; }
#orderModal .production-fire-flag { display:inline-block; margin-left:6px; padding:1px 7px; border-radius:999px; background:color-mix(in srgb, var(--warning-fill) 30%, transparent); color:var(--warning-ink); font-size:10.5px; font-weight:600; vertical-align:1px; }
/* Fire › kâra etkisi: satıra tıkla, altında hesap açılır (2026-10-27) */
#orderModal .production-fire-table tr.is-calc { cursor:pointer; }
#orderModal .production-fire-table tr.is-calc:hover > *, #orderModal .production-fire-table tr.is-open > * { background:color-mix(in srgb, var(--desk-line) 45%, transparent); }
#orderModal .production-fire-table tr.is-calc:focus-visible { outline:2px solid var(--accent, #3b82f6); outline-offset:-2px; }
#orderModal .production-fire-table tr.production-fire-calc-row > td { padding:0 0 12px; border-top:0; text-align:left; white-space:normal; background:color-mix(in srgb, var(--desk-line) 45%, transparent); }
#orderModal .fire-calc { display:grid; gap:12px; padding:4px 12px 0; cursor:default; }
#orderModal .fire-calc-fields { display:flex; flex-wrap:wrap; gap:10px 14px; }
#orderModal .fire-calc-field { display:grid; gap:4px; min-width:0; }
#orderModal .fire-calc-field > span:first-child { color:var(--desk-muted); font-size:11px; font-weight:500; letter-spacing:0; text-transform:none; }
#orderModal .production-fire-table tr.is-open > * { border-bottom:0; box-shadow:none; }
#orderModal .fire-calc-input { display:flex; align-items:center; height:32px; border:1px solid var(--desk-line); border-radius:8px; background:var(--desk-paper); overflow:hidden; }
#orderModal .fire-calc-input:focus-within { border-color:var(--accent, #3b82f6); }
#orderModal .fire-calc-input i { padding-left:9px; color:var(--desk-muted); font-style:normal; font-size:12px; }
#orderModal .fire-calc-input input { width:58px; height:100%; padding:0 9px 0 3px; border:0; background:none; color:var(--desk-ink); font:inherit; font-size:13px; font-variant-numeric:tabular-nums; outline:none; }
#orderModal .fire-calc-field.is-price input { width:86px; padding-left:9px; }
#orderModal .fire-calc-unit { height:100%; padding:0 9px; border:0; border-left:1px solid var(--desk-line); background:none; color:var(--desk-muted); font-family:inherit; font-size:12px; font-weight:600; cursor:pointer; }
#orderModal .fire-calc-unit:hover { color:var(--desk-ink); }
#orderModal .fire-calc-lines { display:grid; gap:6px; margin:0; }
#orderModal .fire-calc-lines > div { display:grid; grid-template-columns:110px 1fr; gap:10px; align-items:baseline; }
#orderModal .fire-calc-lines dt { color:var(--desk-muted); font-size:12px; }
#orderModal .fire-calc-lines dd { margin:0; color:var(--desk-ink); font-size:13px; font-variant-numeric:tabular-nums; }
#orderModal .fire-calc-lines dd small { display:inline; margin:0 0 0 6px; }
#orderModal .fire-calc-lines .is-total dd b { font-size:15px; }
#orderModal .fire-calc-lines b { font-weight:650; }
#orderModal .fire-calc-empty { margin:0; color:var(--desk-muted); font-size:12.5px; }
#orderModal .production-fire-table small.fire-calc-note { margin-top:0; }
@media (max-width:600px) {
  #orderModal .production-fire { padding:12px 12px 6px; }
  #orderModal .production-fire-table thead th:first-child { width:44%; }
  #orderModal .fire-calc-lines > div { grid-template-columns:84px 1fr; }
  #orderModal .fire-calc-lines dd small { display:block; margin:2px 0 0; }
}

/* Sipariş detayı › numaranın yanında takip kartı stickerları (2026-10-28,
   TASARIM-DILI §3.12). Stickerlar kartınkilerle aynı renk dili; ekleme düğmesi
   imleç başlığa yaklaşmadıkça silik, liste düğmenin SAĞINA yan liste olarak açılır. */
#orderModal .om-stickers { display:inline-flex; align-items:center; flex-wrap:wrap; gap:6px; min-width:0; }
#orderModal .om-sticker { display:inline-flex; align-items:center; gap:5px; height:26px; padding:0 10px 0 7px; border-radius:999px; font:600 var(--type-meta)/1 var(--font); white-space:nowrap; }
#orderModal .om-sticker { border:1px solid color-mix(in srgb,var(--sticker-color) 32%,var(--desk-line)); background:color-mix(in srgb,var(--sticker-color) 13%,var(--desk-paper)); color:color-mix(in srgb,var(--sticker-color) 82%,var(--desk-ink)); }
#orderModal .om-sticker svg { width:14px; height:14px; flex:none; }
#orderModal .om-sticker i { display:inline-flex; font-style:normal; }
#orderModal .om-sticker-add { display:inline-grid; place-items:center; width:28px; height:28px; padding:0; border:1px dashed var(--desk-line); border-radius:50%; background:transparent; color:var(--desk-muted); cursor:pointer; opacity:.22; transition:opacity .18s ease, background-color .18s ease, color .18s ease; }
#orderModal .om-sticker-add svg { width:15px; height:15px; }
#orderModal .om-title-row:hover .om-sticker-add,
#orderModal .om-sticker-add:focus-visible,
#orderModal .om-sticker-add.is-open { opacity:1; }
#orderModal .om-sticker-add:hover,
#orderModal .om-sticker-add.is-open { border-style:solid; background:var(--desk-soft); color:var(--desk-ink); }
#orderModal .om-sticker-add:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
@media (hover:none) { #orderModal .om-sticker-add { opacity:.6; } }
#orderModal .om-sticker-anchor { position:relative; z-index:8; display:inline-flex; }
/* Yan açılan liste (§3.4): düğmenin sağında, yerleşimi itmez; 220px, satır 34px. */
#orderModal .om-sticker-list { position:absolute; left:calc(100% + 8px); top:-6px; display:grid; width:220px; padding:6px; border:1px solid var(--desk-line); border-radius:var(--radius-sm); background:var(--surface-solid,var(--desk-paper)); box-shadow:0 12px 32px color-mix(in srgb,var(--desk-ink) 16%,transparent); }
#orderModal .om-sticker-list.is-enter { animation:omStickerListIn .16s ease-out; }
#orderModal .om-sticker-list.is-flip { left:auto; right:calc(100% + 8px); }
#orderModal .om-sticker-head { display:flex; justify-content:space-between; padding:4px 8px 6px; color:var(--desk-muted); font:600 var(--type-caption)/1.3 var(--font); }
#orderModal .om-sticker-head span { font-variant-numeric:tabular-nums lining-nums; }
#orderModal .om-sticker-opt { display:grid; grid-template-columns:22px minmax(0,1fr) 14px; align-items:center; gap:9px; width:100%; min-height:34px; padding:0 8px; border:0; border-radius:8px; background:transparent; color:var(--desk-ink); font:600 var(--type-control)/1.2 var(--font); text-align:left; cursor:pointer; }
#orderModal .om-sticker-opt i { display:grid; place-items:center; width:22px; height:22px; border-radius:7px; background:color-mix(in srgb,var(--sticker-color) 14%,transparent); color:var(--sticker-color); font-style:normal; }
#orderModal .om-sticker-opt i svg { width:13px; height:13px; }
#orderModal .om-sticker-opt:hover { background:var(--desk-soft); }
#orderModal .om-sticker-tick { width:14px; height:14px; color:var(--accent); opacity:0; }
#orderModal .om-sticker-opt.active .om-sticker-tick { opacity:1; }
#orderModal .om-sticker-opt.is-locked { color:var(--desk-muted); opacity:.5; }
#orderModal .om-sticker-opt:focus-visible { outline:2px solid var(--accent); outline-offset:-2px; }
@keyframes omStickerListIn { from { opacity:0; transform:translateX(-6px); } to { opacity:1; transform:none; } }
@media (prefers-reduced-motion:reduce) { #orderModal .om-sticker-list.is-enter { animation:none; } #orderModal .om-sticker-add { transition:none; } }

/* ── assets/styles/create-refined.css ── */
/* Shared creation surfaces: ticket drafts, order entry and incoming orders. */
:is(#page-new-ticket,#page-order-entry,#page-new-orders) { --surface-solid:var(--desk-paper); --surface:var(--desk-paper); --accent:#1683f8; }
:is(#page-new-ticket,#page-order-entry,#page-new-orders) .card { border:1px solid var(--desk-line); border-radius:18px; background:var(--desk-paper); box-shadow:var(--shadow); padding:24px; }
:is(#page-new-ticket,#page-order-entry,#page-new-orders) .card::before { display:none; }
:is(#page-new-ticket,#page-order-entry,#page-new-orders) .card-title { font-size:16px; font-weight:700; color:var(--desk-ink); letter-spacing:-.02em; }
:is(#page-new-ticket,#page-order-entry,#page-new-orders) .btn { border-radius:10px; min-height:40px; box-shadow:none; font-size:12px; font-weight:600; }
:is(#page-new-ticket,#page-order-entry,#page-new-orders) .btn-primary { background:#1683f8; color:#fff; border-color:transparent; }
:is(#page-new-ticket,#page-order-entry,#page-new-orders) .btn-outline { background:var(--desk-paper); border-color:var(--desk-line); color:var(--desk-muted); }
:is(#page-new-ticket,#page-order-entry,#page-new-orders) .btn:disabled { opacity:.45; cursor:not-allowed; }
/* .ntx-bare: yeni ticket formunun çerçevesiz alanları (kendi kutusu dışarıda çizilir). */
:is(#page-new-ticket,#page-order-entry,#page-new-orders) :is(input:not([type=checkbox]):not([type=radio]):not(.ntx-bare),select,textarea:not(.ntx-bare)) { border:1px solid var(--desk-line); border-radius:10px; background:var(--desk-soft)!important; color:var(--desk-ink); font-size:13px; box-shadow:none; }
:is(#page-new-ticket,#page-order-entry,#page-new-orders) :is(input:not([type=checkbox]):not([type=radio]):not(.ntx-bare),select) { min-height:44px; }
:is(#page-new-ticket,#page-order-entry,#page-new-orders) :is(button,input,select,textarea):focus-visible { outline:2px solid #1683f8; outline-offset:2px; }
:is(#page-new-ticket,#page-order-entry) .form-group>label { font-size:12px; font-weight:600; color:var(--desk-ink); margin-bottom:8px; }
:is(#page-new-ticket,#page-order-entry) .form-row { gap:18px; }
:is(#page-new-ticket,#page-order-entry,#page-new-orders) :is(.ticket-cart-empty,.empty-state) { border:0; border-radius:12px; background:var(--desk-soft); color:var(--desk-muted); font-size:13px; line-height:1.65; padding:24px 18px; }
#page-new-ticket .tk-layout { grid-template-columns:minmax(0,1fr) 320px; gap:24px; }
#page-new-ticket .tk-form-head { margin-bottom:26px; padding-bottom:22px; border-color:var(--desk-line); background:none; }
#page-new-ticket .tk-form-head .title-icon { background:var(--desk-soft); color:#1683f8; box-shadow:none; }
#page-new-ticket .tk-form-kicker { font-size:10px; color:var(--desk-muted); letter-spacing:.12em; }
#page-new-ticket .tk-form-title { font-size:25px; color:var(--desk-ink); letter-spacing:-.03em; }
#page-new-ticket .tk-form-sub { font-size:12px; line-height:1.6; }
#page-new-ticket .ticket-form-card>.form-group { margin-bottom:26px; }
#page-new-ticket .tk-step { margin-bottom:12px; }
#page-new-ticket .tk-step label { font-size:13px; font-weight:650; color:var(--desk-ink); }
#page-new-ticket .tk-step-n { width:24px; height:24px; background:var(--desk-soft); color:var(--desk-muted); border:1px solid var(--desk-line); box-shadow:none; font-size:11px; }

#page-new-ticket .ticket-intent-shell { min-height:0; border:0; background:none; padding:0; box-shadow:none; }

#page-new-ticket .ticket-intent-card.is-near { transform:none; box-shadow:none; }
#page-new-ticket .ticket-mention-search { height:40px; background:var(--desk-paper); }
#page-new-ticket #ticketMentionSearch { min-height:0; height:100%; padding:0; border:0; border-radius:0; background:transparent!important; }
#page-new-ticket .ticket-cart-card,#page-new-ticket .ticket-cart-list { min-height:0; }
#page-new-ticket .tk-rail { gap:12px; }

#page-new-ticket .tk-sender { padding:10px; border:0; background:var(--desk-soft); box-shadow:none; }
#page-new-ticket .ticket-cart-empty { padding:18px 14px; min-height:0; }

#page-new-ticket :is(.ticket-category-stage,.ticket-priority-prompt,.ticket-mention-picker) { background:var(--desk-soft); border-color:var(--desk-line); border-radius:12px; box-shadow:none; }

#page-new-ticket .prio-pill { border-color:var(--desk-line); background:var(--desk-paper); color:var(--desk-muted); box-shadow:none; }
#page-new-ticket .prio-pill.selected { border-color:#1683f8; color:var(--desk-ink); background:color-mix(in srgb,#1683f8 7%,var(--desk-paper)); }
#page-new-ticket #ticketMsg { min-height:160px; padding:14px; line-height:1.65; }
#page-new-ticket .tk-msg-foot { background:none; color:var(--desk-muted); }
#page-new-ticket .ticket-draft-actions { padding-top:16px; border-top:1px solid var(--desk-line); }
#page-new-ticket .ticket-submit-btn { min-height:48px; width:auto; padding:10px 22px; }
#page-new-ticket :is(.ticket-cart-icon,.ticket-mention-picker-icon) { background:var(--desk-soft); color:#1683f8; box-shadow:none; }
#page-new-ticket .tk-rail-title { font-size:14px; color:var(--desk-ink); letter-spacing:0; text-transform:none; }
#page-new-ticket .ticket-cart-meta { color:var(--desk-muted); font-size:11px; }

:is(#page-order-entry,#page-new-orders) .order-stat .l { color:var(--desk-muted); font-size:10px; }
#page-order-entry .quick-order-layout { grid-template-columns:minmax(0,1fr) 340px; gap:24px; }

#page-order-entry .quick-check { padding:10px; border:1px solid var(--desk-line); border-radius:9px; background:var(--desk-paper); font-size:12px; }
#page-order-entry .quick-check:has(input:checked) { border-color:#1683f8; background:color-mix(in srgb,#1683f8 7%,var(--desk-paper)); }
:is(#page-order-entry,#page-new-orders) :is(.order-flow-tabs,.list-filter-bar) { background:var(--desk-soft); border-color:var(--desk-line); border-radius:12px; box-shadow:none; }
:is(#page-order-entry,#page-new-orders) .order-flow-tab { color:var(--desk-muted); box-shadow:none; }
:is(#page-order-entry,#page-new-orders) .order-flow-tab.active { color:var(--desk-ink); background:var(--desk-paper); box-shadow:0 2px 5px rgba(25,40,60,.06); }
#page-new-orders .no-fabric { border-color:var(--desk-line); background:var(--desk-paper); box-shadow:none; border-radius:12px; }
#page-new-orders :is(.no-fabric-name,.no-head) { background:var(--desk-soft); border-color:var(--desk-line); }
@media(max-width:1100px) {
  #page-new-ticket .tk-layout,#page-order-entry .quick-order-layout { grid-template-columns:minmax(0,1fr); }
  #page-new-ticket .tk-rail { position:static; }
}
@media(max-width:720px) {
  :is(#page-new-ticket,#page-order-entry,#page-new-orders) .card { padding:18px 14px; border-radius:14px; }

  #page-new-ticket .ticket-message-compose { grid-template-columns:minmax(0,1fr); }
  #page-new-ticket .ticket-submit-btn { width:100%; }
  #page-order-entry .form-row { grid-template-columns:minmax(0,1fr); }
}

/* ── assets/styles/orders-refined.css ── */
/* Orders: a quiet working surface. Scoped to the list and its selection dock. */
/* Masaüstünde tablo kalan görünür alanı doldurur; araç çubuğu iki satıra
   çıktığında da yükseklik sabit bir tahmine bağlı kalmaz. */
#page-orders { width:calc(100% - 48px); max-width:1580px; height:calc(100dvh - var(--shell-top)); min-height:520px; flex-direction:column; padding:24px 12px; }
#page-orders.active { display:flex; }
@media (max-width:820px) { #page-orders { height:auto; min-height:0; padding-bottom:calc(96px + env(safe-area-inset-bottom)); } #page-orders.active { display:block; } }
#page-orders #orders-count { margin:0; color:var(--muted) !important; font-size:13px !important; font-weight:500; }
#page-orders .orders-toolbar { padding:0 0 16px !important; gap:16px; border:0; border-radius:0; background:none !important; box-shadow:none; }
#page-orders .orders-toolbar-primary { gap:12px; flex-wrap:wrap; }
#page-orders .order-list-tabs { padding:4px; min-height:44px; border:1px solid var(--border); border-radius:10px; background:var(--surface-solid); box-shadow:none; }
#page-orders .order-list-tab { min-height:34px; padding:7px 18px; border-radius:7px; color:var(--muted); font-size:14px; font-weight:600; box-shadow:none; }
#page-orders .order-list-tab.active { background:color-mix(in srgb,var(--accent) 12%,var(--surface-solid)); color:var(--accent); box-shadow:none; }
#page-orders .orders-search-wrap { flex:1 1 280px; min-width:180px; }
#page-orders .orders-search-wrap .search-input { width:100%; min-height:44px; padding-left:40px; font-size:14px; border:1px solid var(--border); border-radius:10px; background:var(--surface-solid); box-shadow:none; }
#page-orders .orders-search-icon { left:14px; width:17px; height:17px; }
#page-orders .order-filters-toggle, #page-orders .orders-view-toggle, #page-orders .orders-reset-btn, #page-orders .order-selection-launcher {
  min-height:44px; display:inline-flex; align-items:center; justify-content:center; gap:8px;
  padding:9px 12px; border:1px solid var(--border); border-radius:10px;
  color:var(--muted); background:var(--surface-solid); font-family:inherit; font-size:14px; font-weight:500; cursor:pointer; box-shadow:none;
}
#page-orders .orders-view-toggle svg { width:18px; height:18px; stroke-width:1.7; }
#page-orders .orders-view-toggle[aria-pressed=true], #page-orders .order-filters-toggle.is-open { color:var(--accent); border-color:color-mix(in srgb,var(--accent) 45%,var(--border)); background:color-mix(in srgb,var(--accent) 6%,var(--surface-solid)); }
#page-orders .orders-reset-btn { border-color:transparent; background:none; }
#page-orders [hidden], #orderSelectionDock [hidden] { display:none !important; }
#page-orders .orders-toolbar-filters { padding:16px; border:1px solid var(--border); border-radius:12px; background:var(--surface-solid); gap:14px; flex-wrap:wrap; }
#page-orders .orders-filter-fields { flex-wrap:wrap; gap:10px; }
#page-orders .orders-filter-fields select, #page-orders .order-sort-controls select, #page-orders .orders-filter-fields .favorites-filter-btn, #page-orders .order-sort-direction { min-height:40px; font-size:14px; font-weight:500; }
#page-orders .orders-filter-fields select { flex:1 1 150px; }
#page-orders .orders-toolbar-tools { flex-wrap:wrap; gap:10px; }
#page-orders .table-wrap { flex:1 1 auto; height:auto; max-height:none; min-height:0; overflow:auto; border:1px solid var(--border); border-radius:12px; background:var(--surface-solid); box-shadow:none; }
@media (max-width:820px) { #page-orders .table-wrap { max-height:calc(100dvh - 230px); min-height:280px; } }
#page-orders #ordersTable { width:100%; min-width:980px; }
#page-orders .table-wrap:has(#ordersBody tr:only-child td[colspan]) #ordersTable { height:100%; }
#page-orders #ordersBody tr:only-child td[colspan] { vertical-align:middle; }
#page-orders .orders-empty-row td { text-align:center; }
#page-orders .orders-empty-content { display:grid; justify-items:center; gap:8px; padding:32px 18px; }
#page-orders .orders-empty-content strong { color:var(--text); font-size:16px; font-weight:650; }
#page-orders .orders-empty-content span { color:var(--muted); font-size:13px; line-height:1.5; }
#page-orders .orders-empty-content button { min-height:38px; margin-top:8px; padding:8px 14px; border:1px solid var(--border); border-radius:9px; background:var(--surface-solid); color:var(--accent); font-family:inherit; font-size:13px; font-weight:600; cursor:pointer; }
#page-orders .orders-empty-content button:hover { border-color:var(--accent); background:var(--accent-soft); }
#page-orders .orders-empty-content button:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
#page-orders:not(.orders-detailed) #ordersTable tr > :is(:nth-child(6),:nth-child(7),:nth-child(9),:nth-child(10)):not([colspan]) { display:none; }
#page-orders.orders-detailed #ordersTable { min-width:1460px; }
#page-orders #ordersTable thead th { height:46px; padding:12px 16px; font-size:12px; font-weight:600; letter-spacing:.025em; text-transform:none; color:var(--muted); background:var(--surface-solid); }
#page-orders #ordersTable tbody td { height:62px; padding:15px 16px; font-size:14px; border-bottom-color:color-mix(in srgb,var(--border) 65%,transparent); }
#page-orders #ordersTable tbody .order-row:nth-child(even) td { background:var(--surface-solid); }
/* Zebra kuralı (2 id) app-theme'deki hover tonunu eziyordu: tek satırlar tümüyle
   yanarken çift satırlarda yalnız sabit ilk sütun renkleniyordu. Aynı özgüllükte
   ve sonra gelen bu kural her satırda tüm satırı aynı önizleme tonuna boyar. */
#page-orders #ordersTable tbody .order-row:hover td,
#page-orders #ordersTable tbody .order-row.is-hover-preview td { background:color-mix(in srgb,var(--accent) 7%,var(--surface-solid)); }
html[data-theme="dark"] #page-orders #ordersTable tbody .order-row:hover td,
html[data-theme="dark"] #page-orders #ordersTable tbody .order-row.is-hover-preview td { background:rgba(10,132,255,.085); }
#page-orders #ordersTable .sip-link { color:var(--text); font-weight:600; }
#page-orders #ordersTable .order-row:hover .sip-link { color:var(--accent); }
#page-orders #ordersTable .num-cell { min-width:100px; font-weight:550; font-variant-numeric:tabular-nums; }
#page-orders #ordersTable .firma-cell { min-width:180px; max-width:250px; }
#page-orders #ordersTable .pill { padding:0; color:var(--muted); border:0; border-radius:0; background:none; font-size:13px !important; font-weight:450; }
#page-orders #ordersTable .order-updated-cell { min-width:112px; color:var(--muted); font-size:13px; }
#page-orders #ordersTable .order-select-btn { width:26px; height:26px; flex-basis:26px; border-radius:6px; box-shadow:none; }
#page-orders #ordersTable .order-select-btn:not(.is-selected) { background:transparent; }
#page-orders #ordersTable tbody .order-row:focus-visible { outline:2px solid var(--accent); outline-offset:-2px; }
#page-orders :is(button,input,select):focus-visible, #orderSelectionDock :is(button,summary):focus-visible { outline:2px solid var(--accent); outline-offset:3px; }
#orderSelectionDock { width:max-content; max-width:calc(100vw - 32px); bottom:22px; filter:drop-shadow(0 10px 28px rgba(0,0,0,.18)); }
#orderSelectionDock .order-selection-dock-main { min-height:64px; gap:14px; padding:10px 12px; border-radius:14px; background:var(--surface-solid); border:1px solid var(--border); box-shadow:none; }
#orderSelectionDock .selection-summary { min-width:138px; padding:8px 6px; }
#orderSelectionDock .selection-summary > span { display:flex; align-items:center; gap:7px; }
#orderSelectionDock .selection-summary b { font-size:17px; font-weight:650; }
#orderSelectionDock .selection-summary small { display:block; font-size:13px; }
#orderSelectionDock .selection-summary svg { display:block; }
#orderSelectionDock .selection-actions { flex:0 1 auto; gap:6px; overflow:visible; }
#orderSelectionDock .selection-action, #orderSelectionDock .selection-more > summary, #orderSelectionDock .selection-clear {
  display:flex; align-items:center; justify-content:center; gap:8px; width:auto; height:40px; flex:0 0 auto; padding:9px 12px;
  border:1px solid transparent; border-radius:8px; color:var(--text); background:none; font-family:inherit; font-size:14px; line-height:1.3; font-weight:500; cursor:pointer; white-space:nowrap;
}
#orderSelectionDock .selection-action:hover, #orderSelectionDock .selection-more > summary:hover, #orderSelectionDock .selection-clear:hover { transform:none; box-shadow:none; background:color-mix(in srgb,var(--muted) 10%,transparent); }
#orderSelectionDock .selection-action.is-watch { color:var(--accent); background:color-mix(in srgb,var(--accent) 10%,var(--surface-solid)); }
#orderSelectionDock .selection-action svg, #orderSelectionDock .selection-clear svg, #orderSelectionDock .selection-more summary svg { width:18px; height:18px; flex-shrink:0; }
#orderSelectionDock .selection-clear { width:36px; padding:8px; color:var(--muted); }
#orderSelectionDock .selection-more { position:relative; }
#orderSelectionDock .selection-more > summary { list-style:none; }
#orderSelectionDock .selection-more > summary::-webkit-details-marker { display:none; }
#orderSelectionDock .selection-more-menu { position:absolute; bottom:calc(100% + 18px); right:0; width:238px; padding:6px; border:1px solid var(--border); border-radius:12px; background:var(--surface-solid); box-shadow:0 12px 36px rgba(0,0,0,.2); }
#orderSelectionDock .selection-more-menu .selection-action { width:100%; justify-content:flex-start; height:44px; }
/* "Listeden liste": kendi kısayolu olan satırın sağında ok durur, yazı ile
   ok arasındaki boşluk esner (••• menüleriyle aynı dil). */
#orderSelectionDock .selection-action.has-shortcuts > span:not(.menu-shortcut-caret) { flex:1 1 auto; text-align:left; }
#orderSelectionDock .selection-action.has-shortcuts > .menu-shortcut-caret { flex:0 0 auto; margin-right:-3px; }
#orderSelectionDock .selection-actions > .selection-action.has-shortcuts > .menu-shortcut-caret { display:none; }
#orderSelectionDock .selection-actions > .selection-action.is-share > .menu-shortcut-caret {
  display:grid; width:16px; height:16px; margin-left:-2px; margin-right:-4px; transform:rotate(90deg);
}
#orderSelectionDock .selection-action.is-share { color:var(--accent); background:color-mix(in srgb,var(--accent) 10%,var(--surface-solid)); }
#orderSelectionDock .selection-more-menu .is-remove { margin-top:5px; border-top:1px solid var(--border); border-radius:0 0 7px 7px; color:var(--red,#df4a4a); }
#orderSelectionDock .order-selection-list { margin:0 0 10px; padding:10px; border:1px solid var(--border); border-radius:12px; background:var(--surface-solid); }
#orderSelectionDock .selection-list-row { padding:10px 8px; }
#orderSelectionDock .selection-list-row strong, #orderSelectionDock .selection-list-row span { font-size:13px; }
@media(max-width:900px) {
  #page-orders { width:100%; padding:22px 16px 110px; }
  #page-orders .orders-search-wrap { flex-basis:240px; }
  #page-orders .orders-toolbar-primary { gap:8px; }
  #page-orders .table-wrap { max-height:72dvh; }
}
@media(max-width:600px) {
  #page-orders { padding:20px 12px 120px; }
  #page-orders #orders-count { font-size:12px !important; }
  #page-orders .orders-search-wrap { order:-1; flex-basis:100%; }
  #page-orders .order-list-tab { padding-inline:12px; }
  #page-orders .orders-view-toggle { margin-left:auto; }
  #page-orders .orders-view-toggle span { display:none; }
  #page-orders .orders-toolbar-filters { padding:12px; }
  #page-orders .orders-toolbar-tools, #page-orders .order-sort-controls { width:100%; }
  #page-orders .table-wrap { max-height:70dvh; border-radius:10px; }
  #page-orders #ordersTable th:first-child, #page-orders #ordersTable tbody .order-row > td:first-child { min-width:180px; width:180px; max-width:180px; }
  #page-orders #ordersTable tbody td { padding-inline:12px; }
  #orderSelectionDock { width:calc(100vw - 24px); max-width:440px; bottom:12px; }
  #orderSelectionDock .order-selection-dock-main { display:grid; grid-template-columns:1fr 36px; gap:4px; padding:8px; }
  #orderSelectionDock .selection-summary { grid-column:1; min-width:0; justify-content:flex-start; gap:12px; }
  #orderSelectionDock .selection-dock-separator { display:none; }
  #orderSelectionDock .selection-actions { grid-column:1/-1; grid-row:2; justify-content:space-between; }
  #orderSelectionDock .selection-clear { grid-column:2; grid-row:1; }
  #orderSelectionDock .selection-action, #orderSelectionDock .selection-more > summary { min-height:44px; padding-inline:9px; font-size:13px; }
  #orderSelectionDock .selection-more-menu { right:0; bottom:calc(100% + 12px); }
  /* Dar ekranda Favori yalnız yıldız: dört düğme tek satıra sığar. */
  #orderSelectionDock .selection-actions > .selection-action.is-favorite { width:44px; flex:0 0 44px; padding-inline:0; justify-content:center; }
  #orderSelectionDock .selection-actions > .selection-action.is-favorite > span { display:none; }
  #orderSelectionDock .selection-actions { gap:4px; }
  #orderSelectionDock .selection-more > summary { width:44px; padding-inline:0; justify-content:center; }
  #orderSelectionDock .selection-more > summary > span { display:none; }
}
@media(max-width:380px) {
  #orderSelectionDock .selection-actions { gap:4px; }
  #orderSelectionDock .selection-actions > .selection-action { padding-inline:8px; }
  #orderSelectionDock .selection-actions > .selection-action svg { display:none; }
  #orderSelectionDock .selection-actions > .selection-action.is-favorite svg { display:block; }
  #orderSelectionDock .selection-more > summary { padding-inline:8px; }
}
@media(prefers-reduced-motion:reduce) { #page-orders *, #orderSelectionDock * { transition:none !important; } }

#page-orders .orders-empty-content>img{display:block;width:min(420px,100%);height:auto;object-fit:contain;margin-bottom:8px}

/* ── Filtre çubuğu v2 (2026-10-27, TASARIM-DILI.md §3.48) ────────────────
   Üst satır: Açık/Geçmiş + sayılı hazır görünümler (alt çizgili sekme, §3.15
   sayaç dili) + sağda görünüm/işlem/yardım. Alt satır: arama + filtre hapları
   + "Filtre ekle" + sağda sonuç notu, sıralama hapı, tablo okları. */
#page-orders .orders-toolbar { gap:12px; }
#page-orders .orders-toolbar-primary { flex-wrap:nowrap; align-items:center; gap:18px; }
#page-orders .order-list-tabs { flex:none; }
#page-orders .order-views {
  flex:1 1 auto; min-width:0; display:flex; align-items:center; gap:16px;
  overflow-x:auto; scrollbar-width:none; box-shadow:inset 0 -1px 0 var(--desk-line,var(--border));
}
#page-orders .order-views::-webkit-scrollbar { display:none; }
#page-orders .order-view {
  position:relative; flex:none; display:inline-flex; align-items:center; gap:6px;
  min-height:40px; padding:8px 0 10px; border:0; border-radius:0; background:none; box-shadow:none;
  color:var(--desk-muted,var(--muted)); font-family:inherit; font-size:14px; font-weight:550; white-space:nowrap; cursor:pointer;
  transition:color .12s;
}
#page-orders .order-view::after { content:''; position:absolute; left:0; right:0; bottom:0; height:2px; border-radius:2px; background:transparent; transition:background .12s; }
#page-orders .order-view:hover { color:var(--desk-ink,var(--text)); }
#page-orders .order-view.active { color:var(--desk-ink,var(--text)); font-weight:650; }
#page-orders .order-view.active::after { background:var(--accent); }
#page-orders .order-view:focus-visible { outline:2px solid var(--accent); outline-offset:2px; border-radius:4px; }
#page-orders .order-view-n { color:var(--desk-muted,var(--muted)); font-size:12px; font-weight:500; font-variant-numeric:tabular-nums; }
#page-orders .order-view.active .order-view-n { color:var(--accent); font-weight:600; }
#page-orders .order-view.is-ours .order-view-n { color:var(--danger); font-weight:600; }
#page-orders .order-view.is-empty:not(.active) { color:color-mix(in srgb,var(--desk-muted,var(--muted)) 70%,transparent); }
#page-orders .order-view-fav { margin-left:auto; }
#page-orders .order-view-fav svg { width:15px; height:15px; stroke-width:1.8; }
#page-orders .order-view-fav.active svg { color:var(--warning-fill,#e5b84f); fill:currentColor; }

#page-orders .orders-toolbar-filterline { display:flex; flex-wrap:nowrap; align-items:center; gap:8px; }
#page-orders .orders-toolbar-filterline > * { flex:none; }
#page-orders .orders-toolbar-filterline .orders-search-wrap { flex:1 1 300px; min-width:190px; max-width:380px; }
#page-orders .orders-toolbar-filterline .orders-search-wrap .search-input { min-height:40px; }
#page-orders .orders-toolbar-filterline .order-filter-chips { flex:0 1 auto; min-width:0; display:flex; align-items:center; gap:8px; overflow-x:auto; scrollbar-width:none; }
#page-orders .order-filter-chips::-webkit-scrollbar { display:none; }
#page-orders .order-filter-chip {
  flex:none; display:inline-flex; align-items:center; min-height:36px; max-width:280px;
  border:1px solid color-mix(in srgb,var(--accent) 32%,var(--desk-line,var(--border))); border-radius:999px;
  background:color-mix(in srgb,var(--accent) 7%,var(--desk-paper,var(--surface-solid))); color:var(--desk-ink,var(--text));
}
#page-orders .order-filter-chip-main {
  min-width:0; display:inline-flex; align-items:center; gap:5px; height:34px; padding:0 4px 0 13px;
  border:0; background:none; color:inherit; font-family:inherit; font-size:13px; cursor:pointer;
}
#page-orders .order-filter-chip-main span { color:var(--desk-muted,var(--muted)); font-weight:500; white-space:nowrap; }
#page-orders .order-filter-chip-main b { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:var(--accent); font-weight:600; }
#page-orders .order-filter-chip-x {
  flex:none; display:grid; place-items:center; width:28px; height:28px; margin-right:3px; padding:0;
  border:0; border-radius:50%; background:none; color:var(--desk-muted,var(--muted)); cursor:pointer;
}
#page-orders .order-filter-chip-x svg { width:13px; height:13px; stroke-width:2; }
#page-orders .order-filter-chip-x:hover { background:color-mix(in srgb,var(--accent) 12%,transparent); color:var(--desk-ink,var(--text)); }
#page-orders .order-filter-chip :is(button):focus-visible { outline:2px solid var(--accent); outline-offset:1px; border-radius:999px; }
#page-orders .order-filter-add {
  display:inline-flex; align-items:center; gap:6px; min-height:36px; padding:0 13px 0 10px;
  border:1px dashed var(--desk-line,var(--border)); border-radius:999px; background:none;
  color:var(--desk-muted,var(--muted)); font-family:inherit; font-size:13px; font-weight:550; cursor:pointer; white-space:nowrap;
}
#page-orders .order-filter-add svg { width:15px; height:15px; stroke-width:1.9; }
#page-orders .order-filter-add:hover, #page-orders .order-filter-add[aria-expanded=true] { border-style:solid; border-color:color-mix(in srgb,var(--accent) 45%,var(--desk-line,var(--border))); color:var(--accent); }
#page-orders .order-filter-add:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
#page-orders .orders-toolbar-filterline .orders-reset-btn { min-height:36px; padding:0 8px; gap:6px; font-size:13px; }
#page-orders .orders-toolbar-filterline .orders-reset-btn svg { width:15px; height:15px; }
#page-orders .orders-filterline-end { margin-left:auto; display:flex; align-items:center; gap:8px; }
#page-orders .orders-filterline-end .orders-view-toggle, #page-orders .orders-filterline-end .order-selection-launcher { min-height:36px; padding:0 9px; border-radius:10px; }
#page-orders .orders-filterline-end .orders-view-toggle span { display:none; }
#page-orders .orders-filterline-end .page-help-btn { flex:none; }
#page-orders .orders-filterline-end #orders-count:empty { display:none; }
#page-orders .order-sort-pill { display:inline-flex; align-items:center; min-height:36px; border:1px solid var(--desk-line,var(--border)); border-radius:10px; background:var(--desk-paper,var(--surface-solid)); }
#page-orders .order-sort-pill button { display:inline-flex; align-items:center; height:34px; border:0; background:none; color:var(--desk-ink,var(--text)); font-family:inherit; font-size:13px; font-weight:550; cursor:pointer; }
#page-orders .order-sort-pill-label { gap:6px; padding:0 8px 0 12px; border-radius:9px 0 0 9px; }
#page-orders .order-sort-pill-label::before { content:'Sırala'; color:var(--desk-muted,var(--muted)); font-weight:500; }
#page-orders .order-sort-pill .order-sort-pill-dir { justify-content:center; width:32px; padding:0; border-left:1px solid var(--desk-line,var(--border)); border-radius:0 9px 9px 0; color:var(--desk-muted,var(--muted)); }
#page-orders .order-sort-pill-dir svg { width:15px; height:15px; stroke-width:1.9; transition:transform .16s ease; }
#page-orders .order-sort-pill-dir.is-asc svg { transform:rotate(180deg); }
#page-orders .order-sort-pill button:hover { background:var(--desk-soft,var(--v2-hover)); }
#page-orders .order-sort-pill button:focus-visible { outline:2px solid var(--accent); outline-offset:1px; }
#page-orders .orders-filterline-end .table-pan-controls { margin:0; }

/* Açılır pencere (Filtre ekle · alan seçenekleri · sıralama): §3.4 kısayol
   listesinin ölçüsü, üstte tek satır başlık; uzun listede arama. Gövdeye takılır. */
.order-filter-pop {
  position:fixed; z-index:10040; width:264px; max-height:min(400px,calc(100vh - 16px));
  display:flex; flex-direction:column; padding:5px; border:1px solid var(--border); border-radius:13px;
  background:var(--surface-solid,var(--surface)); color:var(--text);
  box-shadow:0 18px 44px rgba(15,23,42,.18), 0 2px 6px rgba(15,23,42,.06);
  opacity:0; transform:translateY(-4px); transition:opacity .13s ease, transform .13s ease;
}
.order-filter-pop.show { opacity:1; transform:none; }
.order-filter-pop[hidden] { display:none; }
html[data-theme=dark] .order-filter-pop { box-shadow:0 18px 44px rgba(0,0,0,.45); }
.order-filter-pop-head { padding:7px 9px 5px; color:var(--muted); font-size:11px; font-weight:600; letter-spacing:.02em; }
.order-filter-pop-search { display:flex; align-items:center; gap:7px; margin:0 3px 4px; padding:0 9px; min-height:34px; border:1px solid var(--border); border-radius:9px; color:var(--muted); text-transform:none; letter-spacing:0; }
.order-filter-pop-search:focus-within { border-color:var(--accent); }
.order-filter-pop-search svg { flex:none; width:14px; height:14px; stroke-width:1.9; }
.order-filter-pop-search input { flex:1; min-width:0; height:32px; margin:0; padding:0; border:0; background:none; box-shadow:none; color:var(--text); font-family:inherit; font-size:13px; }
.order-filter-pop-search input:focus { outline:none; box-shadow:none; }
.order-filter-pop-list { min-height:0; overflow-y:auto; display:grid; gap:1px; }
.order-filter-pop-item {
  min-height:34px; display:grid; grid-template-columns:18px minmax(0,1fr) auto auto; align-items:center; gap:7px;
  padding:6px 9px 6px 7px; border:0; border-radius:9px; background:transparent; color:var(--text);
  font-family:inherit; font-size:13px; font-weight:500; text-align:left; cursor:pointer;
}
.order-filter-pop-item:hover, .order-filter-pop-item.is-active, .order-filter-pop-item:focus-visible { outline:0; background:color-mix(in srgb,var(--accent) 9%,transparent); }
.order-filter-pop-item.is-on { color:var(--accent); font-weight:600; }
.order-filter-pop-item.is-back { color:var(--muted); }
.order-filter-pop-check { display:grid; place-items:center; width:18px; height:18px; }
.order-filter-pop-check svg { width:15px; height:15px; stroke-width:2; }
.order-filter-pop-label { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.order-filter-pop-meta { max-width:110px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:var(--muted); font-size:12px; font-weight:500; font-variant-numeric:tabular-nums; }
.order-filter-pop-item.is-on .order-filter-pop-meta { color:var(--accent); }
.order-filter-pop-chev { color:var(--muted); font-size:15px; line-height:1; }
.order-filter-pop-sep { height:1px; margin:4px 6px; background:var(--border); }
.order-filter-pop-empty { padding:10px 9px; color:var(--muted); font-size:12.5px; }
@media (prefers-reduced-motion: reduce) { .order-filter-pop, #page-orders .order-sort-pill-dir svg { transition:none; } }

@media (max-width:1180px) {
  #page-orders .orders-toolbar-filterline { flex-wrap:wrap; }
  #page-orders .orders-toolbar-filterline .order-filter-chips { flex-wrap:wrap; overflow:visible; }
}
@media (max-width:600px) {
  #page-orders .orders-toolbar-filterline .orders-search-wrap { flex:1 1 100%; max-width:none; }
  #page-orders .orders-filterline-end { margin-left:auto; }
  #page-orders .order-filter-chip { max-width:100%; }
}

/* ── assets/styles/planner-editor-refined.css ── */
/* Calendar editor: essentials first; optional fields remain mounted and intact. */
.planner-editor.planner-editor-refined {
  width:min(620px,calc(100vw - 32px)); max-height:calc(100dvh - 48px);
  padding:24px 28px 0; border:1px solid var(--border); border-radius:18px;
  background:var(--surface-solid); box-shadow:0 24px 80px rgba(0,0,0,.22);
  font-size:14px; overscroll-behavior:contain; scrollbar-width:thin;
}
.planner-editor-refined [hidden] { display:none !important; }
.planner-editor-refined .planner-editor-top { min-height:28px; margin:0 0 14px; }
.planner-editor-refined .planner-editor-top > div > span { font-size:14px; font-weight:550; color:var(--muted); letter-spacing:0; }
.planner-editor-refined .planner-editor-top > button { width:32px; height:32px; border:0; border-radius:8px; background:none; color:var(--muted); font-size:24px; }
.planner-editor-refined .planner-title-composer { margin:0 0 16px; }
.planner-editor-refined .planner-title-composer .planner-editor-title {
  min-height:48px; padding:6px 0 12px; border:0; border-bottom:1px solid var(--border);
  border-radius:0; background:transparent !important; color:var(--text);
  font-size:24px; font-weight:650; letter-spacing:-.03em; box-shadow:none;
}
.planner-editor-refined .planner-title-composer .planner-editor-title:focus { outline:none; border-bottom-color:var(--accent); box-shadow:none; }
.planner-editor-refined .planner-title-composer .planner-editor-title::placeholder { color:var(--muted); font-weight:450; }
.planner-editor-refined .planner-editor-types { width:max-content; max-width:100%; display:flex; gap:4px; margin:0 0 18px; padding:3px; border:0; border-radius:8px; background:color-mix(in srgb,var(--muted) 8%,transparent); }
.planner-editor-refined .planner-editor-types button { min-height:34px; padding:6px 16px; font-size:14px; font-weight:500; border-radius:6px; }
.planner-editor-refined .planner-editor-types button.active { background:var(--surface-solid); color:var(--accent); box-shadow:0 1px 4px rgba(0,0,0,.08); }
.planner-editor-refined .planner-editor-row { display:grid; grid-template-columns:80px minmax(0,1fr); align-items:center; gap:12px; padding:12px 0; border:0; }
.planner-editor-refined .planner-field-label { align-self:center; padding:0; color:var(--muted); font-size:14px; font-weight:450; letter-spacing:0; text-transform:none; }
.planner-editor-refined .planner-editor-time-row { display:block; padding:0 0 12px; }
.planner-editor-refined .planner-editor-time-row > .planner-field-label { display:none; }
.planner-editor-refined .planner-schedule-controls { display:grid; grid-template-columns:minmax(0,1fr) 190px; gap:10px 16px; align-items:end; }
.planner-editor-refined .planner-editor-date { align-self:end; min-height:44px; margin:0; padding:10px 36px 10px 12px; border:1px solid var(--border); border-radius:8px; background:transparent; justify-content:center; }
.planner-editor-refined .planner-editor-date strong { font-size:14px; font-weight:500; line-height:1.4; }
.planner-editor-refined .planner-editor-date > span { display:none; }
.planner-editor-refined .planner-editor-date-picker:hover { transform:none; box-shadow:none; border-color:var(--accent); }
.planner-editor-refined .planner-editor-date-picker > svg { width:17px; height:17px; color:var(--muted); }
.planner-editor-refined .planner-time-range { display:grid; grid-template-columns:minmax(0,1fr) 8px minmax(0,1fr); gap:4px; }
.planner-editor-refined .planner-time-range label > span { font-size:12px; font-weight:450; letter-spacing:0; text-transform:none; }
.planner-editor-refined .planner-time-range input[type=time] { width:100%; min-width:0; height:44px; padding:8px; border:1px solid var(--border); border-radius:8px; background:transparent; color:var(--text); font-family:inherit; font-size:14px; }
.planner-editor-refined .planner-auto-time-option { grid-column:1/-1; display:flex; min-height:30px; gap:8px; padding:2px 0; border:0; border-radius:0; background:none !important; color:var(--muted); box-shadow:none; }
.planner-editor-refined .planner-auto-time-option > input { position:static; width:16px; height:16px; margin:0; opacity:1; appearance:auto; accent-color:var(--accent); }
.planner-editor-refined .planner-auto-time-check { display:none; }
.planner-editor-refined .planner-auto-time-option > span { display:flex; flex-wrap:wrap; gap:6px 12px; align-items:baseline; }
.planner-editor-refined .planner-auto-time-option > .planner-auto-time-check { display:none; }
.planner-editor.planner-editor-refined .planner-editor-date { background:transparent; }
.planner-editor.planner-editor-refined .planner-editor-advanced { background:none; }
.planner-editor-refined .planner-auto-time-option strong { color:var(--muted); font-size:13px; font-weight:450; letter-spacing:0; text-transform:none; }
.planner-editor-refined #plannerAutoTimeHint { display:none; }
.planner-editor-refined .planner-reminder-lead-row { grid-template-columns:80px minmax(0,1fr); gap:6px 12px; margin:0 0 12px; padding:12px 0; border:0; border-top:1px solid var(--border); border-bottom:1px solid var(--border); border-radius:0; background:none; }
.planner-editor-refined .planner-reminder-lead-row > .planner-field-label { grid-column:1; grid-row:1; }
.planner-editor-refined .planner-reminder-lead-controls { grid-column:2; grid-row:1; justify-content:flex-start; gap:8px; }
.planner-editor-refined .planner-reminder-lead-controls input[type=number] { width:60px; min-height:38px; padding:6px 10px; border:1px solid var(--border); border-radius:7px; background:transparent; color:var(--text); font-size:14px; }
.planner-editor-refined .planner-reminder-lead-controls select { width:92px; min-height:38px; border:1px solid var(--border); border-radius:7px; background-color:transparent; color:var(--text); font-size:14px; }
.planner-editor-refined .planner-reminder-lead-controls > span { display:inline; color:var(--muted); font-size:14px; }
.planner-editor-refined .planner-reminder-lead-copy { grid-column:2; grid-row:2; }
.planner-editor-refined .planner-reminder-lead-copy span { color:var(--muted); font-size:12px; }
.planner-editor-refined .planner-link-preview { display:flex; align-items:center; gap:10px; margin:0 0 12px; padding:10px 0; border:0; border-radius:0; background:none; }
.planner-editor-refined .planner-link-kind { display:none; }
.planner-editor-refined .planner-link-preview > div { flex:1; min-width:0; }
.planner-editor-refined .planner-link-preview small { font-size:12px; font-weight:450; letter-spacing:0; text-transform:none; }
.planner-editor-refined .planner-link-preview strong { font-size:14px; font-weight:550; }
.planner-editor-refined .planner-link-preview p { display:none; }
.planner-editor-refined .planner-link-preview > button { width:auto; min-height:36px; padding:6px 0 6px 10px; border:0; background:none; font-size:13px; font-weight:500; }

.planner-editor-refined :is(.planner-editor-extras,.planner-editor-advanced) { margin:0; border:0; border-top:1px solid var(--border); border-radius:0; background:none; overflow:visible; }
.planner-editor-refined :is(.planner-editor-extras,.planner-editor-advanced) > summary { min-height:48px; display:grid; grid-template-columns:auto minmax(0,1fr) 16px; align-items:center; gap:10px; padding:10px 0; color:var(--text); cursor:pointer; list-style:none; background:none; }
.planner-editor-refined :is(.planner-editor-extras,.planner-editor-advanced) > summary::-webkit-details-marker { display:none; }
.planner-editor-refined :is(.planner-editor-extras,.planner-editor-advanced) > summary > span { font-size:14px; font-weight:500; }
.planner-editor-refined :is(.planner-editor-extras,.planner-editor-advanced) > summary > small { font-size:12px; color:var(--muted); }
.planner-editor-refined :is(.planner-editor-extras,.planner-editor-advanced) > summary > i { font-size:16px; font-style:normal; text-align:center; color:var(--muted); }
.planner-editor-refined :is(.planner-editor-extras,.planner-editor-advanced)[open] > summary > i { transform:rotate(180deg); }
.planner-editor-refined .planner-editor-advanced-body, .planner-editor-refined .planner-editor-extras-body { padding:0 0 12px; border:0; }
.planner-editor-refined .planner-editor-extras-body .planner-editor-row { grid-template-columns:1fr; gap:8px; align-items:start; }
.planner-editor-refined .planner-editor-extras-body :is(.planner-customer-picker,.planner-editor-text-wrap) { grid-column:1; }
.planner-editor-refined .planner-customer-search-shell { display:flex; gap:10px; min-height:42px; padding:0 10px; border:1px solid var(--border); border-radius:8px; background:transparent; }
.planner-editor-refined .planner-customer-search-shell > input { flex:1; width:100%; }
.planner-editor-refined .planner-customer-search-shell > button { flex:0 0 auto; }
.planner-editor-refined .planner-customer-search-shell > span { display:none; }
.planner-editor-refined .planner-customer-search-shell > input { min-width:0; height:40px; padding:8px 0; border:0 !important; border-radius:0; background:transparent !important; font-size:14px; box-shadow:none !important; outline:none; }
.planner-editor-refined .planner-customer-search-shell > button { min-height:34px; padding:4px 8px; background:none; font-size:14px; font-weight:500; }
.planner-editor-refined .planner-editor-text-wrap textarea { width:100%; min-height:88px; max-height:240px; padding:10px 12px; border:1px solid var(--border); border-radius:8px; background:transparent; color:var(--text); font-size:14px; line-height:1.5; }
.planner-editor-refined .planner-photo-links { margin:8px 0 0; padding:0; border:0; border-radius:0; background:none; }
.planner-editor.planner-editor-refined .planner-photo-links { background:none; }
.planner-editor-refined .planner-photo-links > header > strong { color:var(--muted); font-size:14px; font-weight:450; }
.planner-editor-refined .planner-photo-links > header > button { min-height:38px; padding:6px 10px; border:1px solid var(--border); border-radius:8px; background:none; font-size:14px; font-weight:500; }
.planner-editor-refined .planner-inline-fields { gap:12px; }
.planner-editor-refined .planner-inline-fields label > span { font-size:12px; font-weight:450; }
.planner-editor-refined .planner-inline-fields select { min-height:40px; border:1px solid var(--border); border-radius:8px; background-color:transparent; color:var(--text); font-size:14px; }
.planner-editor-refined .planner-color-options { gap:10px; }
.planner-editor-refined .planner-color-option { width:24px; height:24px; }
.planner-editor-refined .planner-editor-visibility-row { margin-top:0; padding:12px 0; border-top:1px solid var(--border); }
.planner-editor-refined .planner-editor-visibility { gap:4px; align-items:center; }
.planner-editor-refined .planner-editor-visibility button { min-width:56px; min-height:34px; padding:6px 10px; border:1px solid transparent; border-radius:7px; background:none; color:var(--muted); font-size:14px; font-weight:500; box-shadow:none; }
.planner-editor-refined .planner-editor-visibility button.active { border-color:var(--border); background:color-mix(in srgb,var(--muted) 8%,transparent); color:var(--text); box-shadow:none; }
.planner-editor-refined .planner-editor-visibility > span { margin-left:8px; flex:1 1 140px; font-size:12px; }
.planner-editor-refined .planner-editor-actions { position:sticky; bottom:0; z-index:5; margin:4px -28px 0; padding:16px 28px; border-top:1px solid var(--border); background:var(--surface-solid); backdrop-filter:none; }
.planner-editor.planner-editor-refined .planner-editor-actions { background:var(--surface-solid); }
.planner-editor-refined :is(.planner-save-btn,.planner-more-btn,.planner-delete-btn) { min-height:42px; padding:9px 18px; border-radius:8px; font-size:14px; font-weight:550; box-shadow:none; }
.planner-editor-refined .planner-more-btn { color:var(--muted); }
.planner-editor-refined :is(button,summary,input,textarea,select):focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
.planner-editor-refined .planner-title-composer .planner-editor-title:focus-visible { outline:none; }
@media(max-width:600px) {
  .planner-editor.planner-editor-refined { width:calc(100vw - 16px); max-height:calc(100dvh - 16px); padding:20px 20px 0; border-radius:16px; }
  .planner-editor-refined .planner-schedule-controls { grid-template-columns:1fr; gap:10px; }
  .planner-editor-refined .planner-time-range { grid-column:1; grid-template-columns:minmax(0,1fr) 12px minmax(0,1fr); width:100%; }
  .planner-editor-refined .planner-editor-date { grid-column:1; }
  .planner-editor-refined .planner-time-range input[type=time] { font-size:16px; }
  .planner-editor-refined .planner-editor-visibility-row { grid-template-columns:1fr; gap:8px; }
  .planner-editor-refined .planner-editor-visibility { grid-column:1; }
  .planner-editor-refined .planner-editor-visibility > span { flex-basis:120px; }
  .planner-editor-refined :is(.planner-editor-extras,.planner-editor-advanced) > summary { grid-template-columns:1fr 16px; }
  .planner-editor-refined :is(.planner-editor-extras,.planner-editor-advanced) > summary > small { display:none; }
  .planner-editor-refined :is(.planner-editor-extras,.planner-editor-advanced) > summary > i { grid-column:2; grid-row:1; }
  .planner-editor-refined .planner-editor-advanced .planner-editor-row { grid-template-columns:1fr; gap:8px; }
  .planner-editor-refined .planner-editor-advanced :is(.planner-inline-fields,.planner-color-options) { grid-column:1; }
  .planner-editor-refined .planner-editor-actions { margin-inline:-20px; padding:14px 20px; }
}
@media(prefers-reduced-motion:reduce) { .planner-editor.planner-editor-refined, .planner-editor-refined * { animation:none !important; transition:none !important; } }
@media(max-width:380px) {
  .planner-editor-refined .planner-reminder-lead-row { grid-template-columns:64px minmax(0,1fr); column-gap:8px; }
  .planner-editor-refined .planner-reminder-lead-controls { gap:6px; }
  .planner-editor-refined .planner-reminder-lead-controls input[type=number] { width:52px; }
  .planner-editor-refined .planner-reminder-lead-controls select { width:80px; }
}

/* ── assets/styles/planner-page.css ── */
/* ═══ PLANLAYICI SAYFASI (2026-10-10) — TASARIM-DILI.md §3.29 ═══════════════
   Ana sayfa takviminden açılan tam sayfa planlayıcı (#page-planner). Menüde
   yoktur; header "Ana Sayfa › Planlayıcı" der. Sınıflar `pl-` önekiyle yeni
   yazıldı: eski pencere planlayıcısının ~500 kuralı (app-theme.css
   `.planner-*`) bu yüzeye SIZMAZ. Düzenleyici ve önizleme penceresi eski
   bileşenlerdir (`.planner-editor-layer`, `.planner-preview`), `.pl-app`
   onların konum kabıdır. Saat satırı yüksekliği JS'ten gelir (--pl-hour =
   PLANNER_HOUR_HEIGHT): sürükle-seç ve plan kutuları aynı sabitle konumlanır. */

#page-planner { --pl-gutter: 56px; padding-top: var(--space-2); }
#page-planner .pl-host { height: calc(100dvh - var(--shell-top, 56px) - var(--space-5)); min-height: 520px; }
#page-planner .pl-app {
  position: relative; height: 100%; display: flex; flex-direction: column; overflow: hidden;
  border: 1px solid var(--desk-line); border-radius: 16px; background: var(--desk-paper);
  color: var(--desk-ink); box-shadow: var(--v2-card-shadow, var(--shadow));
}
#page-planner :is(button, input):focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }

/* ── Araç şeridi ─────────────────────────────────────────────────────── */
#page-planner .pl-bar { flex: 0 0 auto; display: flex; align-items: center; gap: var(--space-2); min-width: 0; padding: var(--space-3) var(--space-4); border-bottom: 1px solid var(--desk-line); }
#page-planner .pl-btn {
  flex: 0 0 auto; height: 34px; display: inline-flex; align-items: center; gap: 6px; padding: 0 14px;
  border: 1px solid var(--desk-line); border-radius: 10px; background: var(--desk-paper); color: var(--desk-ink);
  font: 600 var(--type-control)/1 var(--font); white-space: nowrap; cursor: pointer;
}
#page-planner .pl-btn:hover { background: var(--desk-soft); }
#page-planner .pl-btn.is-primary { border-color: var(--accent); background: var(--accent); color: var(--on-accent, #fff); }
#page-planner .pl-btn.is-primary:hover { background: color-mix(in srgb, var(--accent) 88%, var(--desk-ink)); }
#page-planner .pl-btn svg { width: 16px; height: 16px; stroke-width: 2; }
#page-planner .pl-icon-btn {
  flex: 0 0 auto; width: 34px; height: 34px; display: grid; place-items: center; padding: 0;
  border: 0; border-radius: 10px; background: transparent; color: var(--desk-muted); cursor: pointer;
}
#page-planner .pl-icon-btn:hover { background: var(--desk-soft); color: var(--desk-ink); }
#page-planner .pl-icon-btn svg { width: 18px; height: 18px; stroke-width: 1.8; }
#page-planner .pl-icon-btn.is-sm { width: 28px; height: 28px; border-radius: 8px; }
#page-planner .pl-icon-btn.is-sm svg { width: 16px; height: 16px; }
#page-planner .pl-nav { display: flex; gap: 2px; }
#page-planner .pl-range { min-width: 0; margin: 0 0 0 var(--space-1); overflow: hidden; color: var(--desk-ink); font-size: 18px; font-weight: 680; letter-spacing: -.02em; line-height: 1.2; text-overflow: ellipsis; white-space: nowrap; }
#page-planner .pl-bar-spacer { flex: 1 1 auto; min-width: var(--space-2); }
#page-planner .pl-filter-chip {
  flex: 0 1 auto; min-width: 0; height: 28px; display: inline-flex; align-items: center; gap: 6px; padding: 0 10px;
  border: 0; border-radius: 999px; background: var(--accent-soft); color: var(--accent); font: 600 var(--type-meta)/1 var(--font); cursor: pointer;
}
#page-planner .pl-filter-chip span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
#page-planner .pl-search {
  flex: 0 1 220px; min-width: 120px; height: 34px; display: flex; align-items: center; gap: 6px; padding: 0 10px;
  border-radius: 10px; background: var(--desk-soft); color: var(--desk-muted); cursor: text;
}
#page-planner .pl-search:focus-within { background: var(--desk-paper); box-shadow: 0 0 0 1px var(--desk-line), 0 0 0 3px var(--accent-soft); }
#page-planner .pl-search svg { flex: 0 0 auto; width: 16px; height: 16px; stroke-width: 1.8; }
#page-planner .pl-search input { flex: 1 1 auto; min-width: 0; height: 100%; padding: 0; border: 0; outline: 0; background: transparent; color: var(--desk-ink); font: 500 var(--type-control) var(--font); box-shadow: none; }
#page-planner .pl-search input:focus-visible { outline: 0; }
#page-planner .pl-seg { flex: 0 0 auto; display: inline-flex; gap: 2px; padding: 3px; border-radius: 10px; background: var(--desk-soft); }
#page-planner .pl-seg button { height: 28px; padding: 0 12px; border: 0; border-radius: 8px; background: transparent; color: var(--desk-muted); font: 600 var(--type-control)/1 var(--font); cursor: pointer; }
#page-planner .pl-seg button:hover { color: var(--desk-ink); }
#page-planner .pl-seg button.is-active { background: var(--desk-paper); color: var(--desk-ink); box-shadow: var(--v2-lift, 0 1px 2px rgba(16, 24, 40, .08)); }

/* ── Gövde: kenar çubuğu + görünüm ──────────────────────────────────── */
#page-planner .pl-body-wrap { flex: 1 1 auto; min-height: 0; display: grid; grid-template-columns: 248px minmax(0, 1fr); }
#page-planner .is-side-hidden .pl-body-wrap { grid-template-columns: minmax(0, 1fr); }
#page-planner .pl-side { min-height: 0; display: flex; flex-direction: column; gap: var(--space-5); overflow-y: auto; padding: var(--space-4); border-right: 1px solid var(--desk-line); }
#page-planner .pl-main { min-width: 0; min-height: 0; display: flex; flex-direction: column; }

#page-planner .pl-mini-head { display: flex; align-items: center; gap: 2px; margin-bottom: var(--space-2); }
#page-planner .pl-mini-head strong { flex: 1 1 auto; font-size: var(--type-control); font-weight: 650; }
#page-planner .pl-mini-grid { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 2px; }
#page-planner .pl-mini-grid > span { padding: 2px 0; color: var(--desk-muted); font-size: var(--type-caption); font-weight: 600; text-align: center; }
#page-planner .pl-mini-day {
  position: relative; height: 28px; padding: 0; border: 0; border-radius: 8px; background: transparent;
  color: var(--desk-ink); font: 500 var(--type-meta) var(--font); font-variant-numeric: tabular-nums; cursor: pointer;
}
#page-planner .pl-mini-day:hover { background: var(--desk-soft); }
#page-planner .pl-mini-day.is-outside { color: color-mix(in srgb, var(--desk-muted) 60%, transparent); }
#page-planner .pl-mini-day.is-in-view { background: var(--desk-soft); }
#page-planner .pl-mini-day.is-today { color: var(--accent); font-weight: 700; }
#page-planner .pl-mini-day.is-selected { background: var(--accent); color: var(--on-accent, #fff); font-weight: 650; }
#page-planner .pl-mini-day i { position: absolute; bottom: 3px; left: 50%; width: 4px; height: 4px; margin-left: -2px; border-radius: 50%; background: var(--accent); }
#page-planner .pl-mini-day.is-selected i { background: var(--on-accent, #fff); }

#page-planner .pl-side-sec { display: flex; flex-direction: column; gap: 2px; }
#page-planner .pl-side-title { margin: 0 0 6px; color: var(--desk-muted); font-size: var(--type-caption); font-weight: 650; letter-spacing: .06em; text-transform: uppercase; }
#page-planner .pl-side-empty { margin: 0; padding: 6px 8px; color: var(--desk-muted); font-size: var(--type-meta); }
#page-planner .pl-layer {
  width: 100%; height: 32px; display: flex; align-items: center; gap: 10px; padding: 0 8px;
  border: 0; border-radius: 8px; background: transparent; color: var(--desk-ink); font: 500 var(--type-control) var(--font); text-align: left; cursor: pointer;
}
#page-planner .pl-layer:hover { background: var(--desk-soft); }
#page-planner .pl-layer i { flex: 0 0 auto; width: 14px; height: 14px; border: 1.5px solid var(--pl-c); border-radius: 4px; background: var(--pl-c); }
#page-planner .pl-layer[aria-pressed="false"] { color: var(--desk-muted); }
#page-planner .pl-layer[aria-pressed="false"] i { background: transparent; }
#page-planner .pl-next {
  width: 100%; display: flex; align-items: flex-start; gap: 10px; padding: 7px 8px;
  border: 0; border-radius: 8px; background: transparent; color: var(--desk-ink); font-family: var(--font); text-align: left; cursor: pointer;
}
#page-planner .pl-next:hover { background: var(--desk-soft); }
#page-planner .pl-next i { flex: 0 0 auto; width: 8px; height: 8px; margin-top: 4px; border-radius: 50%; background: var(--pl-c); }
#page-planner .pl-next span { min-width: 0; display: flex; flex-direction: column; gap: 2px; }
#page-planner .pl-next small { color: var(--desk-muted); font-size: var(--type-caption); font-weight: 600; font-variant-numeric: tabular-nums; }
#page-planner .pl-next strong { overflow: hidden; font-size: var(--type-control); font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }

/* ── Ortak çipler (tüm gün şeridi, ay hücresi) ─────────────────────── */
#page-planner .pl-chip {
  min-width: 0; height: 22px; flex: 0 0 auto; display: flex; align-items: center; gap: 6px; padding: 0 8px;
  border: 0; border-radius: 6px; background: var(--desk-soft); color: var(--desk-ink);
  font: 500 var(--type-meta)/1 var(--font); text-align: left; cursor: pointer;
}
#page-planner .pl-chip > span { min-width: 0; display: flex; align-items: center; gap: 4px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
#page-planner .pl-chip > i { flex: 0 0 6px; height: 6px; border-radius: 50%; background: var(--pl-c, var(--accent)); }
#page-planner .pl-chip.is-note { background: color-mix(in srgb, var(--pl-c) 14%, var(--desk-paper)); }
#page-planner .pl-chip.is-note:hover { background: color-mix(in srgb, var(--pl-c) 22%, var(--desk-paper)); }
#page-planner .pl-chip.is-termin { background: var(--accent-soft); color: var(--accent); font-weight: 600; }
#page-planner .pl-chip.is-termin.is-past { background: color-mix(in srgb, var(--danger) 10%, transparent); color: var(--danger); }
#page-planner .pl-chip.is-termin.is-past > i { background: var(--danger); }
#page-planner .pl-chip.is-holiday { background: color-mix(in srgb, var(--danger) 9%, transparent); color: var(--danger); cursor: default; }
#page-planner .pl-chip.is-mention,
#page-planner .pl-mline.is-mention,
#page-planner .pl-arow.is-mention { box-shadow: inset 0 0 0 1.5px var(--warning); }
#page-planner :is(.pl-chip, .pl-event, .pl-mline, .pl-arow-main) svg { flex: 0 0 auto; width: 12px; height: 12px; stroke-width: 2; }
#page-planner .pl-more { align-self: flex-start; padding: 2px 8px; border: 0; border-radius: 6px; background: transparent; color: var(--desk-muted); font: 600 var(--type-caption)/1.4 var(--font); cursor: pointer; }
#page-planner .pl-more:hover { background: var(--desk-soft); color: var(--accent); }

/* ── Gün + hafta: saat ızgarası ─────────────────────────────────────── */
#page-planner .pl-grid { flex: 1 1 auto; min-height: 0; display: flex; flex-direction: column; }
#page-planner :is(.pl-grid-head, .pl-allday, .pl-body) { display: grid; grid-template-columns: var(--pl-gutter) repeat(var(--pl-days), minmax(0, 1fr)); }
#page-planner .pl-grid-head { flex: 0 0 auto; }
#page-planner .pl-dayhead {
  min-width: 0; display: flex; flex-direction: column; align-items: center; gap: 2px; padding: var(--space-2) var(--space-1) 6px;
  border: 0; background: transparent; color: var(--desk-muted); font-family: var(--font); cursor: pointer;
}
#page-planner .pl-dayhead-dow { font-size: var(--type-caption); font-weight: 650; letter-spacing: .05em; text-transform: uppercase; }
#page-planner .pl-dayhead-num { width: 36px; height: 36px; display: grid; place-items: center; border-radius: 50%; color: var(--desk-ink); font-size: 18px; font-weight: 620; font-variant-numeric: tabular-nums; }
#page-planner button.pl-dayhead:hover .pl-dayhead-num { background: var(--desk-soft); }
#page-planner .pl-dayhead.is-today .pl-dayhead-dow { color: var(--accent); }
#page-planner .pl-dayhead.is-today .pl-dayhead-num,
#page-planner button.pl-dayhead.is-today:hover .pl-dayhead-num { background: var(--accent); color: var(--on-accent, #fff); }
#page-planner .pl-dayhead.is-selected:not(.is-today) .pl-dayhead-num { box-shadow: inset 0 0 0 2px var(--accent); color: var(--accent); }

#page-planner .pl-grid.is-day .pl-dayhead { flex-direction: row; justify-content: flex-start; gap: 10px; padding-left: var(--space-3); cursor: default; }

#page-planner .pl-allday { flex: 0 0 auto; border-bottom: 1px solid var(--desk-line); }
#page-planner .pl-gutter-label { padding: 10px 8px 0 0; color: var(--desk-muted); font-size: var(--type-caption); text-align: right; white-space: nowrap; }
#page-planner .pl-allday-cell { min-width: 0; min-height: 36px; display: flex; flex-direction: column; gap: 2px; padding: var(--space-1); border-left: 1px solid var(--desk-line); cursor: pointer; }
#page-planner .pl-grid.is-day .pl-allday-cell { flex-direction: row; flex-wrap: wrap; align-content: flex-start; max-height: 96px; overflow-y: auto; }

#page-planner .pl-scroll { flex: 1 1 auto; min-height: 0; overflow-y: auto; overscroll-behavior: contain; }
#page-planner .pl-body { position: relative; height: calc(var(--pl-hours) * var(--pl-hour)); padding: 10px 0; box-sizing: content-box; }
#page-planner .pl-hours { position: relative; }
#page-planner .pl-hours span { position: absolute; right: 8px; color: var(--desk-muted); font-size: var(--type-caption); font-variant-numeric: tabular-nums; line-height: 1; transform: translateY(-50%); }
#page-planner .pl-cols { display: contents; }
#page-planner .pl-col {
  position: relative; min-width: 0; border-left: 1px solid var(--desk-line);
  background-image:
    repeating-linear-gradient(to bottom, var(--desk-line) 0 1px, transparent 1px var(--pl-hour)),
    repeating-linear-gradient(to bottom, transparent 0 calc(var(--pl-hour) / 2), color-mix(in srgb, var(--desk-line) 55%, transparent) calc(var(--pl-hour) / 2) calc(var(--pl-hour) / 2 + 1px), transparent calc(var(--pl-hour) / 2 + 1px) var(--pl-hour));
}
#page-planner :is(.pl-col, .pl-allday-cell).is-weekend { background-color: color-mix(in srgb, var(--desk-soft) 75%, transparent); }
#page-planner :is(.pl-col, .pl-allday-cell).is-today { background-color: color-mix(in srgb, var(--accent) 4%, transparent); }

#page-planner .pl-event {
  position: absolute; z-index: 2; display: flex; flex-direction: column; gap: 1px; overflow: hidden; padding: 4px 8px;
  border: 0; border-radius: 8px; background: color-mix(in srgb, var(--pl-c) 16%, var(--desk-paper));
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--pl-c) 26%, transparent);
  color: var(--desk-ink); font-family: var(--font); text-align: left; cursor: pointer;
}
#page-planner .pl-event:hover { z-index: 3; background: color-mix(in srgb, var(--pl-c) 24%, var(--desk-paper)); }
#page-planner .pl-event.is-mention { box-shadow: inset 0 0 0 1.5px var(--warning); }
#page-planner .pl-event-title { min-width: 0; display: flex; align-items: center; gap: 4px; overflow: hidden; color: color-mix(in srgb, var(--pl-c) 50%, var(--desk-ink)); font-size: var(--type-meta); font-weight: 650; line-height: 1.3; text-overflow: ellipsis; white-space: nowrap; }
#page-planner .pl-event-time { color: var(--desk-muted); font-size: var(--type-caption); font-variant-numeric: tabular-nums; white-space: nowrap; }
#page-planner .pl-event-meta { display: -webkit-box; overflow: hidden; color: var(--desk-muted); font-size: var(--type-caption); line-height: 1.35; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
#page-planner .pl-event.is-compact { flex-direction: row; align-items: center; gap: 6px; padding-block: 0; }
#page-planner .pl-now { position: absolute; z-index: 4; left: -1px; right: 0; height: 0; border-top: 2px solid var(--danger); pointer-events: none; }
#page-planner .pl-now::before { content: ""; position: absolute; top: -6px; left: -5px; width: 10px; height: 10px; border-radius: 50%; background: var(--danger); }
#page-planner .pl-slot {
  position: absolute; z-index: 5; left: 2px; right: 2px; display: flex; flex-direction: column; align-items: flex-start; gap: 4px; padding: 6px 8px;
  border-radius: 8px; background: var(--accent); color: var(--on-accent, #fff); box-shadow: 0 18px 44px rgba(15, 23, 42, .18);
}
#page-planner .pl-slot strong { font-size: var(--type-meta); font-weight: 650; font-variant-numeric: tabular-nums; }
#page-planner .pl-slot-add { height: 24px; padding: 0 10px; border: 0; border-radius: 6px; background: color-mix(in srgb, var(--on-accent, #fff) 22%, transparent); color: inherit; font: 650 var(--type-meta)/1 var(--font); cursor: pointer; }
#page-planner .pl-slot-add:hover { background: color-mix(in srgb, var(--on-accent, #fff) 32%, transparent); }
#page-planner .pl-slot-x { position: absolute; top: 4px; right: 4px; width: 22px; height: 22px; padding: 0; border: 0; border-radius: 6px; background: transparent; color: inherit; font-size: 16px; line-height: 1; cursor: pointer; }

/* ── Ay ─────────────────────────────────────────────────────────────── */
#page-planner .pl-month { flex: 1 1 auto; min-height: 0; display: flex; flex-direction: column; }
#page-planner .pl-month-dow { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); border-bottom: 1px solid var(--desk-line); }
#page-planner .pl-month-dow span { padding: var(--space-2) 10px; color: var(--desk-muted); font-size: var(--type-caption); font-weight: 650; letter-spacing: .05em; text-transform: uppercase; }
#page-planner .pl-month-grid { flex: 1 1 auto; min-height: 0; display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); grid-template-rows: repeat(var(--pl-weeks), minmax(0, 1fr)); }
#page-planner .pl-mcell { min-width: 0; min-height: 0; display: flex; flex-direction: column; gap: 2px; overflow: hidden; padding: 4px 6px 6px; border-right: 1px solid var(--desk-line); border-bottom: 1px solid var(--desk-line); cursor: pointer; }
#page-planner .pl-mcell:nth-child(7n) { border-right: 0; }
#page-planner .pl-mcell.is-weekend { background: color-mix(in srgb, var(--desk-soft) 75%, transparent); }
#page-planner .pl-mcell.is-outside { background: color-mix(in srgb, var(--desk-soft) 55%, transparent); }
#page-planner .pl-mcell.is-outside .pl-mcell-num { color: color-mix(in srgb, var(--desk-muted) 70%, transparent); }
#page-planner .pl-mcell.is-selected { box-shadow: inset 0 0 0 2px var(--accent); }
#page-planner .pl-mcell-head { min-width: 0; display: flex; align-items: center; gap: 6px; }
#page-planner .pl-mcell-num { flex: 0 0 auto; width: 26px; height: 26px; display: grid; place-items: center; padding: 0; border: 0; border-radius: 50%; background: transparent; color: var(--desk-ink); font: 620 var(--type-control) var(--font); font-variant-numeric: tabular-nums; cursor: pointer; }
#page-planner .pl-mcell-num:hover { background: var(--desk-soft); }
#page-planner .pl-mcell.is-today .pl-mcell-num { background: var(--accent); color: var(--on-accent, #fff); }
#page-planner .pl-mcell-head small { min-width: 0; overflow: hidden; color: var(--danger); font-size: var(--type-caption); font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
#page-planner .pl-mcell-items { min-height: 0; display: flex; flex-direction: column; gap: 2px; }
#page-planner .pl-mline { min-width: 0; height: 22px; flex: 0 0 auto; display: flex; align-items: center; gap: 6px; padding: 0 6px; border: 0; border-radius: 6px; background: transparent; color: var(--desk-ink); font: 500 var(--type-meta)/1 var(--font); text-align: left; cursor: pointer; }
#page-planner .pl-mline:hover { background: var(--desk-soft); }
#page-planner .pl-mline > i { flex: 0 0 6px; height: 6px; border-radius: 50%; background: var(--pl-c); }
#page-planner .pl-mline time { flex: 0 0 auto; color: var(--desk-muted); font-variant-numeric: tabular-nums; }
#page-planner .pl-mline > span { min-width: 0; display: flex; align-items: center; gap: 4px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* ── Ajanda ─────────────────────────────────────────────────────────── */
#page-planner .pl-agenda { flex: 1 1 auto; padding: var(--space-2) var(--space-5) var(--space-5); }
#page-planner .pl-aday { display: grid; grid-template-columns: 200px minmax(0, 1fr); gap: var(--space-4); padding: var(--space-3) 0; border-bottom: 1px solid var(--desk-line); }
#page-planner .pl-aday:last-child { border-bottom: 0; }
#page-planner .pl-aday-head { align-self: start; display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 8px; padding: 6px 0; border: 0; background: transparent; color: var(--desk-ink); font-family: var(--font); text-align: left; cursor: pointer; }
#page-planner .pl-aday-head b { font-size: 24px; font-weight: 680; font-variant-numeric: tabular-nums; letter-spacing: -.02em; }
#page-planner .pl-aday-head span { color: var(--desk-muted); font-size: var(--type-control); font-weight: 500; }
#page-planner .pl-aday-head em { padding: 2px 8px; border-radius: 999px; background: var(--accent-soft); color: var(--accent); font-size: var(--type-caption); font-style: normal; font-weight: 650; }
#page-planner .pl-aday-head small { flex-basis: 100%; color: var(--danger); font-size: var(--type-caption); font-weight: 600; }
#page-planner .pl-aday.is-today .pl-aday-head b { color: var(--accent); }
#page-planner .pl-aday-rows { min-width: 0; display: flex; flex-direction: column; gap: 2px; }
#page-planner .pl-arow {
  width: 100%; min-height: 42px; display: grid; grid-template-columns: 56px 8px minmax(0, 1fr) auto; align-items: center; gap: var(--space-3); padding: 6px var(--space-3);
  border: 0; border-radius: 10px; background: transparent; color: var(--desk-ink); font-family: var(--font); text-align: left; cursor: pointer;
}
#page-planner .pl-arow:hover { background: var(--desk-soft); }
#page-planner .pl-arow-time { display: flex; flex-direction: column; gap: 2px; font-size: var(--type-meta); font-weight: 650; font-variant-numeric: tabular-nums; }
#page-planner .pl-arow-time small { color: var(--desk-muted); font-size: var(--type-caption); font-weight: 500; }
#page-planner .pl-arow-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--pl-c); }
#page-planner .pl-arow-main { min-width: 0; display: flex; flex-direction: column; gap: 2px; }
#page-planner .pl-arow-main strong { min-width: 0; display: flex; align-items: center; gap: 6px; overflow: hidden; font-size: var(--type-body); font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
#page-planner .pl-arow-main small { overflow: hidden; color: var(--desk-muted); font-size: var(--type-meta); text-overflow: ellipsis; white-space: nowrap; }
#page-planner .pl-arow-tag { padding: 2px 8px; border-radius: 999px; background: var(--desk-soft); color: var(--desk-muted); font-size: var(--type-caption); font-weight: 600; white-space: nowrap; }
#page-planner .pl-arow.is-termin .pl-arow-time { color: var(--accent); }
#page-planner .pl-arow.is-termin.is-past .pl-arow-time,
#page-planner .pl-arow.is-termin.is-past .pl-arow-tag { color: var(--danger); }
#page-planner .pl-arow.is-termin.is-past .pl-arow-dot { background: var(--danger); }
#page-planner .pl-empty { display: flex; flex-direction: column; align-items: center; gap: var(--space-3); padding: 64px var(--space-4); color: var(--desk-muted); }
#page-planner .pl-empty strong { color: var(--desk-ink); font-size: var(--type-section); font-weight: 650; }

/* Düzenleyici/önizleme katmanı sayfanın köşelerini izler. */
#page-planner .pl-app > .planner-editor-layer { border-radius: 16px; }

@media (prefers-reduced-motion: no-preference) {
  #page-planner :is(.pl-btn, .pl-icon-btn, .pl-seg button, .pl-chip, .pl-event, .pl-mline, .pl-arow, .pl-layer, .pl-next, .pl-mini-day, .pl-mcell-num) { transition: background-color .15s ease, color .15s ease, box-shadow .15s ease; }
}

/* ── Dar ekranlar ───────────────────────────────────────────────────── */
@media (max-width: 1180px) {
  #page-planner .pl-body-wrap { grid-template-columns: minmax(0, 1fr); }
  #page-planner .pl-side,
  #page-planner .pl-bar > .pl-icon-btn:first-child { display: none; }
}
@media (max-width: 900px) {
  #page-planner .pl-search { flex-basis: 150px; }
  #page-planner .pl-btn.is-primary span { display: none; }
  #page-planner .pl-btn.is-primary { width: 34px; justify-content: center; padding: 0; }
}
@media (max-width: 760px) {
  #page-planner { --pl-gutter: 44px; }
  #page-planner .pl-host { height: calc(100dvh - var(--shell-top, 56px) - 96px); min-height: 440px; }
  #page-planner .pl-bar { flex-wrap: wrap; row-gap: var(--space-2); padding: var(--space-2) var(--space-3); }
  #page-planner .pl-range { flex: 1 1 0; font-size: var(--type-section); }
  #page-planner .pl-bar-spacer { display: none; }
  #page-planner .pl-seg { order: 5; }
  #page-planner .pl-search { order: 6; flex: 1 1 120px; }
  #page-planner .pl-btn.is-primary { order: 7; }
  #page-planner .pl-agenda { padding: var(--space-1) var(--space-3) var(--space-4); }
  #page-planner .pl-aday { grid-template-columns: minmax(0, 1fr); gap: var(--space-1); }
  #page-planner .pl-mline time { display: none; }
  #page-planner .pl-mcell { padding: 2px; }
  #page-planner .pl-dayhead-num { width: 30px; height: 30px; font-size: 16px; }
}
@media (max-width: 520px) {
  /* Telefonda iki satır: gezinme + görünüm. Arama masaüstü işidir. */
  #page-planner .pl-search { display: none; }
  #page-planner .pl-seg { flex: 1 1 auto; }
  #page-planner .pl-seg button { flex: 1 1 0; padding: 0 6px; }
}

/* ── assets/styles/watch-center.css ── */
/* ═══════════════════════════════════════════════════════════════════════
   TAKİP MERKEZİ (2026-10-15; zaman çizelgesi + yeni modeller 2026-10-16)
   TASARIM-DILI.md §3.35. Firmamız merkezde; örgücü / boyahane / müşteri üç
   semt plakası. Renkler yalnız mevcut jetonlardan türer, açık/koyu tema
   kendiliğinden gelir. Hareketler canvas'tadır (watch-center.js); CSS
   sonsuz animasyonu yalnız yükleme göstergesidir.
   ═══════════════════════════════════════════════════════════════════════ */
#watchCenterApp {
  /* Semt renkleri çatıda, tabelada, kat bantlarında, kazan bandında ve
     plakanın hafif tonundadır; duvarlar açık beton. İstanbul/Bursa
     müşterileri ofislerin kendi rengini taşır. Çatı rengi semt tonunun
     canlı hâlidir (2026-10-18: "binalar soluk" geri bildirimi). */
  --wc-knit: color-mix(in srgb, var(--warning-fill) 86%, var(--danger));
  --wc-dye: var(--accent);
  --wc-cust: var(--istanbul);
  --wc-bursa: var(--bursa);
  --wc-hq: color-mix(in srgb, var(--text) 52%, var(--accent));
  --wc-wall: color-mix(in srgb, var(--text) 3%, var(--surface-solid));
  --wc-wall-shade: color-mix(in srgb, var(--wc-wall) 80%, color-mix(in srgb, var(--text) 70%, var(--accent)));
  --wc-roof-base: var(--surface-solid);
  --wc-roof-k: 80%;
  --wc-lit: color-mix(in srgb, var(--warning-fill) 38%, var(--surface-solid));
  --wc-leaf: color-mix(in srgb, var(--success) 74%, var(--surface-solid));
  --wc-leaf-hi: color-mix(in srgb, var(--success) 42%, var(--surface-solid));
  --wc-trunk: color-mix(in srgb, var(--warning) 50%, var(--text));
  --wc-walk: color-mix(in srgb, var(--text) 5%, var(--surface-solid));
  --wc-asphalt: color-mix(in srgb, var(--text) 30%, var(--wc-paper));
  --wc-lane-mark: color-mix(in srgb, var(--surface-solid) 78%, transparent);
  --wc-van-glass: color-mix(in srgb, var(--text) 70%, var(--accent));
  --wc-van-edge: color-mix(in srgb, var(--text) 30%, transparent);
  --wc-tyre: color-mix(in srgb, var(--text) 88%, black);
  --wc-hub: color-mix(in srgb, var(--text) 35%, var(--surface-solid));
  --wc-van-mute: color-mix(in srgb, var(--text) 38%, var(--surface-solid));
  --wc-flow-yarn: var(--warning-fill);
  --wc-flow-knit: color-mix(in srgb, var(--warning) 70%, var(--danger));
  --wc-flow-dye: var(--accent);
  --wc-flow-dyed: var(--accent-2);
  --wc-flow-sale: var(--success);
  --wc-flow-return: var(--muted);
  --wc-flow-buy: color-mix(in srgb, var(--accent) 45%, var(--danger));
  --wc-paper: color-mix(in srgb, var(--desk-soft, var(--bg)) 64%, var(--surface-solid));
  --wc-road: color-mix(in srgb, var(--text) 10%, var(--wc-paper));
  --wc-glass: color-mix(in srgb, var(--accent) 34%, var(--surface-solid));
  --wc-steel: color-mix(in srgb, var(--text) 16%, var(--surface-solid));
  --wc-halo: var(--surface-solid);
  --wc-cab: color-mix(in srgb, var(--text) 8%, white);
  /* Şirket filosu (2026-10-20): merkeze GELEN her araç gümüş-beyaz kasa +
     merkezin lacivert kabini; yükün türü kasanın yanındaki ince şerittedir. */
  --wc-fleet: color-mix(in srgb, var(--text) 13%, white);
  --wc-fleet-cab: var(--wc-hq);
  --wc-truck-shadow: color-mix(in srgb, var(--text) 22%, transparent);
  --wc-skin: color-mix(in srgb, var(--warning-fill) 30%, var(--surface-solid));
  --wc-smoke: color-mix(in srgb, var(--text) 34%, var(--surface-solid));
  --wc-lift: var(--warning-fill);
  --wc-zebra: color-mix(in srgb, var(--surface-solid) 88%, transparent);
  display: flex;
  flex-direction: column;
  gap: var(--space-3, 12px);
}
/* Koyu tema = şehir gece: zemin koyulaşır, duvarlar zeminden açık arduvaz,
   çatılar canlı, pencerelerin bir kısmı ve fabrika ışıklıkları yanar, sokak
   lambaları zemine ışık düşürür. Hepsi duraktır; hiçbiri yanıp sönmez. */
html[data-theme="dark"] #watchCenterApp {
  --wc-wall: color-mix(in srgb, var(--text) 30%, var(--surface-solid));
  --wc-wall-shade: color-mix(in srgb, var(--wc-wall) 58%, black);
  --wc-roof-base: var(--wc-wall);
  --wc-roof-k: 84%;
  --wc-paper: color-mix(in srgb, var(--desk-soft, var(--bg)) 70%, black);
  --wc-asphalt: color-mix(in srgb, var(--text) 16%, var(--wc-paper));
  --wc-glass: color-mix(in srgb, var(--accent) 22%, color-mix(in srgb, var(--surface-solid) 70%, black));
  --wc-lit: color-mix(in srgb, color-mix(in srgb, var(--warning-fill) 58%, white) 84%, var(--wc-glass));
  --wc-leaf: color-mix(in srgb, var(--success) 46%, var(--surface-solid));
  --wc-leaf-hi: color-mix(in srgb, var(--success) 62%, var(--surface-solid));
  --wc-walk: color-mix(in srgb, var(--text) 10%, var(--wc-paper));
  --wc-lane-mark: color-mix(in srgb, var(--text) 42%, transparent);
  --wc-truck-shadow: color-mix(in srgb, black 45%, transparent);
}

/* ── Araç çubuğu: dönem · şu an fasonda · araçlar ──────────────────────── */
.wc-toolbar { display: flex; align-items: center; gap: var(--space-4, 16px); min-width: 0; }
.wc-presets { display: inline-flex; flex: 0 0 auto; gap: 2px; padding: 3px; border-radius: 10px; background: var(--desk-soft, var(--surface-2)); }
.wc-preset, .wc-view-tab { height: 30px; display: inline-flex; align-items: center; padding: 0 12px; border: 0; border-radius: 8px; background: transparent; color: var(--muted); font: 600 12px/1 var(--font); white-space: nowrap; cursor: pointer; transition: background .16s ease, color .16s ease; }
.wc-preset:hover, .wc-view-tab:hover { color: var(--text); }
.wc-preset.active, .wc-view-tab.active { background: var(--surface-solid); color: var(--text); box-shadow: var(--v2-lift, 0 1px 2px rgba(0, 0, 0, .08)); }
.wc-preset[aria-busy="true"] { color: var(--accent); }
.wc-stats { flex: 1 1 auto; min-width: 0; display: flex; align-items: center; gap: var(--space-4, 16px); overflow: hidden; white-space: nowrap; }
.wc-stats > small { color: var(--muted); font: 700 11px/1 var(--font); letter-spacing: .1em; text-transform: uppercase; }
.wc-stat { display: inline-flex; align-items: baseline; gap: 6px; color: var(--muted); font: 500 12px/1 var(--font); }
.wc-stat i { width: 8px; height: 8px; flex: 0 0 auto; align-self: center; border-radius: 2px; background: var(--tone); }
.wc-stat b { color: var(--text); font: 700 14px/1 var(--font); font-variant-numeric: tabular-nums; }
.wc-stat em { font-style: normal; font-variant-numeric: tabular-nums; }
.wc-stat + .wc-stat { padding-left: var(--space-4, 16px); border-left: 1px solid var(--border); }
.wc-stat.is-late i { border-radius: 50%; background: var(--danger); }
.wc-stat.is-late b { color: var(--danger); }
.wc-tools { display: flex; flex: 0 0 auto; gap: 2px; margin-left: auto; }
/* Sayfa içi yardım ? (tips.css): komşu simge düğmelerinin boyunda. */
#watchCenterApp .wc-tools .page-help-btn { width: 32px; height: 32px; margin: 0 2px; }
.wc-icon-btn { width: 32px; height: 32px; flex: 0 0 auto; display: grid; place-items: center; padding: 0; border: 0; border-radius: 10px; background: transparent; color: var(--muted); cursor: pointer; }
.wc-icon-btn:hover { background: var(--v2-hover, var(--desk-soft)); color: var(--text); }
.wc-icon-btn.active { color: var(--accent); }
.wc-icon-btn.is-small { width: 29px; height: 29px; border-radius: 8px; }
.wc-icon-btn svg { width: 17px; height: 17px; stroke-width: 1.9; }
.wc-icon-btn[aria-busy="true"] svg { animation: wcSpin .9s linear infinite; }
:is(.wc-preset, .wc-view-tab, .wc-flow-chip, .wc-icon-btn, .wc-text-btn, .wc-job, .wc-play, .wc-tl, .wc-flow-list button, .wc-firm-list button, .wc-share-list button, .wc-sort button, .wc-chip-x):focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }

/* ── Sahne ─────────────────────────────────────────────────────────────── */
.wc-body { display: grid; grid-template-columns: minmax(0, 1fr); }
/* Sahne haritanın oranındadır (üstte/altta boş şerit kalmaz); ekrana sığmazsa
   araç çubuğu + zaman çizelgesi payı kadar kısalır, harita yükseklikten sığar.
   Zaman çizelgesi hep haritanın hemen altındadır. */
.wc-stage { position: relative; width: 100%; aspect-ratio: 1680 / 800; min-height: 420px; max-height: calc(100dvh - var(--shell-top, 56px) - 236px); overflow: hidden; border: 1px solid var(--border); border-radius: 16px; background: var(--wc-paper); }
/* Uzayan şehir: dünya katmanı sahneden geniş olabilir; kamera transform ile
   kaydırır (watch-center.js "Kamera"). Tuval sahnenin penceresidir. */
.wc-world { position: absolute; inset: 0; transform-origin: 0 0; }
.wc-map-host { position: absolute; left: 0; top: 0; width: 100%; height: 100%; }
.wc-map { display: block; width: 100%; height: 100%; }
.wc-canvas { position: absolute; inset: 0; pointer-events: none; }
.wc-stage.is-pannable { cursor: grab; touch-action: pan-y; }
/* "Tut" imleci yalnız haritanın zemininde: üstteki pencerelere miras geçmez. */
.wc-stage.is-pannable :is(.wc-drawer, .wc-journey, .wc-peek, .wc-key, .wc-zoom, .wc-status) { cursor: auto; }
.wc-stage.is-pannable .wc-scrim { cursor: default; }
/* Yakınlaşmışken iki eksende gezinir: tarayıcı dokunmayı kaydırmaya/sayfa
   yakınlaştırmasına harcamasın. */
.wc-stage.is-zoomed { touch-action: none; }
.wc-stage.is-pannable .wc-world { will-change: transform; }
.wc-stage.is-panning, .wc-stage.is-panning * { cursor: grabbing; user-select: none; }
.wc-stage.is-panning .wc-lot, .wc-stage.is-panning .wc-hq { pointer-events: none; }
/* Kenar gölgesi: o yönde şehir sürüyor. */
.wc-fade { position: absolute; top: 0; bottom: 0; z-index: 1; width: 56px; opacity: 0; pointer-events: none; transition: opacity .25s ease; }
.wc-fade.is-left { left: 0; background: linear-gradient(90deg, var(--wc-paper), color-mix(in srgb, var(--wc-paper) 0%, transparent)); }
.wc-fade.is-right { right: 0; background: linear-gradient(270deg, var(--wc-paper), color-mix(in srgb, var(--wc-paper) 0%, transparent)); }
.wc-stage.can-left .wc-fade.is-left, .wc-stage.can-right .wc-fade.is-right { opacity: .92; }
/* Kenar hapları: semtin ekran dışında kalan firma sayısı; basınca o yöne gider. */
.wc-edges { position: absolute; inset: 0; z-index: 2; pointer-events: none; }
.wc-edge { position: absolute; display: inline-flex; align-items: center; gap: 5px; height: 32px; padding: 0 12px; border: 1px solid color-mix(in srgb, var(--hue) 34%, var(--border)); border-radius: 999px; background: color-mix(in srgb, var(--surface-solid) 94%, transparent); box-shadow: 0 8px 22px rgba(15, 23, 42, .14); color: var(--muted); font: 500 12.5px/1 var(--font); white-space: nowrap; cursor: pointer; pointer-events: auto; transform: translateY(-50%); transition: transform .18s cubic-bezier(.2, .75, .25, 1), border-color .18s ease, color .18s ease; animation: wcEdgeIn .24s cubic-bezier(.2, .75, .25, 1); }
.wc-edge.is-left { left: var(--space-3, 12px); padding-left: 7px; }
.wc-edge.is-right { right: var(--space-3, 12px); padding-right: 7px; }
.wc-edge b { color: var(--text); font-weight: 650; font-variant-numeric: tabular-nums; }
.wc-edge svg { width: 18px; height: 18px; color: var(--hue); }
.wc-edge:hover, .wc-edge:focus-visible { border-color: var(--hue); color: var(--text); }
.wc-edge.is-left:hover { transform: translate(-2px, -50%); }
.wc-edge.is-right:hover { transform: translate(2px, -50%); }
.wc-edge:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
@keyframes wcEdgeIn { from { opacity: 0; } }
/* Kaydırma göstergesi: yalnız kayarken (sitenin iç kaydırma göstergesi dili). */
.wc-pan-thumb { position: absolute; left: 50%; bottom: 10px; z-index: 2; height: 4px; border-radius: 999px; background: color-mix(in srgb, var(--text) 9%, transparent); opacity: 0; pointer-events: none; transform: translateX(-50%); transition: opacity .3s ease; }
.wc-pan-thumb::after { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: var(--w, 40px); border-radius: inherit; background: color-mix(in srgb, var(--text) 42%, transparent); transform: translateX(var(--x, 0px)); }
.wc-pan-thumb.is-on { opacity: 1; transition-duration: .12s; }
/* Yakınlık: sol altta küçük hap (− yüzde +); yüzdeye basınca sığdırır. */
.wc-zoom { position: absolute; left: var(--space-3, 12px); bottom: var(--space-3, 12px); z-index: 3; display: inline-flex; align-items: center; gap: 1px; padding: 3px; border: 1px solid var(--border); border-radius: 12px; background: color-mix(in srgb, var(--surface-solid) 94%, transparent); box-shadow: 0 6px 18px rgba(15, 23, 42, .1); }
.wc-zoom button { height: 28px; display: inline-grid; place-items: center; padding: 0; border: 0; border-radius: 9px; background: transparent; color: var(--muted); cursor: pointer; }
.wc-zoom-btn { width: 28px; }
.wc-zoom-btn svg { width: 15px; height: 15px; stroke-width: 2; }
.wc-zoom .wc-zoom-val { min-width: 46px; padding: 0 6px; font: 600 12px/1 var(--font); font-variant-numeric: tabular-nums; }
.wc-zoom button:hover:not(:disabled) { background: var(--v2-hover, var(--desk-soft)); color: var(--text); }
.wc-zoom button:disabled { opacity: .35; cursor: default; }
.wc-zoom.is-zoomed .wc-zoom-val { color: var(--accent); }
.wc-zoom button:focus-visible { outline: 2px solid var(--accent); outline-offset: 1px; }
.wc-status { position: absolute; inset: 0; display: grid; place-content: center; justify-items: center; gap: var(--space-2, 8px); padding: var(--space-5, 24px); color: var(--muted); font: 500 13px/1.4 var(--font); text-align: center; }
.wc-status[hidden] { display: none; }
.wc-status strong { color: var(--text); font-weight: 600; }
.wc-spinner { width: 18px; height: 18px; border: 2px solid var(--border-bright); border-top-color: var(--accent); border-radius: 50%; animation: wcSpin .8s linear infinite; }
@keyframes wcSpin { to { transform: rotate(360deg); } }

/* Gün künyesi: sahnenin üst ortası (merkezin üstündeki boşluk). */
.wc-dayline { position: absolute; top: var(--space-3, 12px); left: 50%; z-index: 2; display: flex; align-items: baseline; gap: var(--space-2, 8px); padding: 7px 14px; border: 1px solid var(--border); border-radius: 999px; background: color-mix(in srgb, var(--surface-solid) 92%, transparent); color: var(--muted); font: 500 12px/1 var(--font); white-space: nowrap; transform: translateX(-50%); pointer-events: none; }
.wc-dayline[hidden] { display: none; }
.wc-dayline small { font: 700 11px/1 var(--font); letter-spacing: .1em; }
.wc-dayline strong { color: var(--text); font: 650 13px/1 var(--font); }
.wc-dayline span, .wc-dayline em { font-style: normal; font-variant-numeric: tabular-nums; }
.wc-dayline em { padding-left: var(--space-2, 8px); border-left: 1px solid var(--border); }

/* Harita anahtarı: sol alt köşe, kapatılabilir; tercih cihazda kalır. */
.wc-key { position: absolute; right: var(--space-3, 12px); top: var(--space-3, 12px); z-index: 3; width: 236px; padding: 8px 10px 10px; border: 1px solid var(--border); border-radius: 14px; background: color-mix(in srgb, var(--surface-solid) 94%, transparent); box-shadow: var(--shadow); }
.wc-key[hidden] { display: none; }
.wc-key header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 4px; }
.wc-key header strong { font: 650 13px/1.2 var(--font); }
.wc-key ul { display: grid; gap: 4px; margin: 0; padding: 0; list-style: none; }
.wc-key li { display: grid; grid-template-columns: 24px minmax(0, 1fr); align-items: center; gap: var(--space-2, 8px); color: var(--muted); font: 500 11px/1.25 var(--font); white-space: nowrap; }
.wc-key li span { overflow: hidden; text-overflow: ellipsis; }
.wc-key li b { display: block; color: var(--text); font: 600 12px/1.25 var(--font); }
.wc-key svg { width: 24px; height: 24px; }
.wc-key .k-t { fill: color-mix(in srgb, var(--wc-knit) 62%, var(--wc-wall)); }
.wc-key .k-r { fill: var(--wc-wall); stroke: var(--border-bright); stroke-width: .6; }
.wc-key .k-l { fill: color-mix(in srgb, var(--wc-wall) 72%, black); }
.wc-key .k-arrow { fill: none; stroke: var(--muted); stroke-width: 1.4; stroke-linecap: round; stroke-linejoin: round; }
.wc-key .k-road { stroke: var(--wc-road); stroke-width: 14; }
.wc-key .k-rib-a { stroke: var(--wc-flow-yarn); stroke-width: 2.5; }
.wc-key .k-rib-b { stroke: var(--wc-flow-knit); stroke-width: 6; }
.wc-key .k-truck { fill: var(--wc-flow-sale); }
.wc-key .k-cab { fill: var(--wc-cab); }
.wc-key .k-fleet { fill: var(--wc-fleet); stroke: var(--wc-van-edge); stroke-width: .6; }
.wc-key .k-fleet-cab { fill: var(--wc-fleet-cab); }
.wc-key .k-fleet-band { fill: var(--wc-flow-knit); }
.wc-key .k-pallet { fill: color-mix(in srgb, var(--warning) 45%, var(--surface-solid)); }
.wc-key .k-bale { fill: color-mix(in srgb, var(--text) 8%, white); stroke: var(--wc-van-edge); stroke-width: .6; }
.wc-key .k-pole { stroke: var(--muted); stroke-width: 1.2; fill: none; }
.wc-key .k-flag { fill: var(--danger); }
.wc-key .k-buy { fill: none; stroke: var(--wc-flow-buy); stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.wc-key .k-badge { fill: var(--text); }
.wc-key text { fill: var(--surface-solid); font: 700 10px/1 var(--font); text-anchor: middle; }
.wc-key .k-late { fill: var(--danger); }
.wc-key .k-badge-truck { fill: var(--surface-solid); }
.wc-key text.k-count { fill: var(--text); font: 800 14px/1 var(--font); }

/* Zemin: semt plakası, bulvar, şeritler, semt içi bağlantı */
.wc-plate { fill: color-mix(in srgb, var(--hue) 6%, var(--surface-solid)); stroke: color-mix(in srgb, var(--hue) 28%, var(--border)); stroke-width: 1.2; }
.wc-plate-edge { fill: color-mix(in srgb, var(--hue) 22%, var(--wc-paper)); }
html[data-theme="dark"] #watchCenterApp .wc-plate { fill: color-mix(in srgb, var(--hue) 9%, color-mix(in srgb, var(--surface-solid) 78%, var(--wc-paper))); stroke: color-mix(in srgb, var(--hue) 34%, transparent); }
html[data-theme="dark"] #watchCenterApp .wc-plate-edge { fill: color-mix(in srgb, var(--hue) 26%, black); }
.wc-plate-dots { pointer-events: none; }
.wc-park { fill: color-mix(in srgb, var(--success) 13%, var(--surface-solid)); stroke: color-mix(in srgb, var(--success) 22%, transparent); stroke-width: 1; pointer-events: none; }
html[data-theme="dark"] #watchCenterApp .wc-park { fill: color-mix(in srgb, var(--success) 12%, color-mix(in srgb, var(--surface-solid) 70%, var(--wc-paper))); stroke: color-mix(in srgb, var(--success) 18%, transparent); }
.wc-dot { fill: color-mix(in srgb, var(--hue) 16%, transparent); }
.wc-district-title { --wc-plate-halo: color-mix(in srgb, var(--hue) 6%, var(--surface-solid)); }
html[data-theme="dark"] #watchCenterApp .wc-district-title { --wc-plate-halo: color-mix(in srgb, var(--hue) 9%, color-mix(in srgb, var(--surface-solid) 78%, var(--wc-paper))); }
.wc-district-title text { paint-order: stroke; stroke: var(--wc-plate-halo); stroke-width: 4px; stroke-linejoin: round; }
.wc-district-name { fill: color-mix(in srgb, var(--hue) 62%, var(--text)); font: 750 15px/1 var(--font); letter-spacing: .08em; }
.wc-district-sum { fill: var(--muted); font: 500 14px/1 var(--font); font-variant-numeric: tabular-nums; }
.wc-district-late { fill: var(--danger); }
.wc-district-more text { fill: var(--muted); font: 600 13.5px/1 var(--font); text-anchor: start; }
.wc-district-more.is-end text, .wc-district-label.is-end text { text-anchor: end; }
.wc-district-label, .wc-district-more { cursor: pointer; outline: none; }
.wc-district-label:hover .wc-district-name, .wc-district-label:focus-visible .wc-district-name { text-decoration: underline; }
.wc-district-more:hover text, .wc-district-more:focus-visible text { fill: var(--accent); }
/* Asfalt yol: kenar çizgileri + kesik orta çizgi; şeridin renkli bandı
   dönemde taşınan kilo, araçlar bandın üstünde gider. */
.wc-road { stroke: var(--wc-asphalt); stroke-linecap: butt; }
.wc-road-walk { stroke: var(--wc-walk); stroke-linecap: butt; }
.wc-road-edge { stroke: var(--wc-lane-mark); stroke-width: 1; }
.wc-road-center { stroke: var(--wc-lane-mark); stroke-width: 1.2; stroke-dasharray: 7 7; }
.wc-ribbon { stroke-linecap: butt; opacity: .5; }
.wc-road-fill { fill: var(--wc-asphalt); }
.wc-road-walk-fill { fill: var(--wc-walk); }
.wc-arc { fill: none; }
/* Yükleme cebi (2026-10-18): sokağın bina yanındaki koy; park eden araç = uzun bekleyen iş. */
.wc-bay { fill: var(--wc-asphalt); stroke: var(--wc-lane-mark); stroke-width: .8; stroke-dasharray: 2 3; }
/* Uzun bekleyen iş: palette kumaş balyası + kırmızı bayrak (2026-10-20). */
.wc-parked { pointer-events: none; }
.wc-pk-shadow { fill: var(--wc-truck-shadow); }
.wc-pk-pallet { fill: color-mix(in srgb, var(--warning) 45%, var(--surface-solid)); stroke: var(--wc-van-edge); stroke-width: .35; }
.wc-pk-pallet.is-side, .wc-pk-pallet.is-end { fill: color-mix(in srgb, var(--warning) 55%, var(--text)); }
.wc-pk-bale { fill: color-mix(in srgb, var(--text) 6%, white); stroke: var(--wc-van-edge); stroke-width: .35; }
.wc-pk-bale.is-side { fill: color-mix(in srgb, var(--text) 16%, white); }
.wc-pk-bale.is-end { fill: color-mix(in srgb, var(--text) 24%, white); }
.wc-pk-strap { fill: none; stroke: var(--danger); stroke-width: 1; }
.wc-pk-pole { stroke: color-mix(in srgb, var(--text) 55%, var(--surface-solid)); stroke-width: 1.1; stroke-linecap: round; }
.wc-pk-flag { fill: var(--danger); }
.wc-col-bed { stroke: var(--wc-asphalt); stroke-width: 20; stroke-linecap: round; }
.wc-col-walk { stroke: var(--wc-walk); stroke-width: 26; stroke-linecap: round; }
.wc-street-bed { stroke: var(--wc-asphalt); stroke-width: 13; stroke-linecap: round; }
.wc-street-walk { stroke: var(--wc-walk); stroke-width: 18; stroke-linecap: round; }
.wc-street-line { stroke: var(--wc-lane-mark); stroke-width: 1; stroke-dasharray: 4 5; opacity: .7; }
.wc-road-tag rect { fill: var(--surface-solid); stroke: color-mix(in srgb, var(--tone) 45%, var(--border)); stroke-width: 1; }
.wc-road-tag .wc-road-dir { fill: none; stroke: var(--tone); stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round; }
.wc-road-tag text { fill: var(--text); font: 600 12.5px/1 var(--font); font-variant-numeric: tabular-nums; }
/* Yol hapı tıklanır (2026-10-20): o şeridin hareketleri çekmecede. Seçiliyken
   diğer haplar ve şeritler geri çekilir. */
.wc-road-tag { cursor: pointer; transition: opacity .2s ease; }
.wc-road-tag:focus { outline: none; }
.wc-road-tag rect { transition: stroke .15s ease, fill .15s ease, stroke-width .15s ease; }
.wc-road-tag:hover rect, .wc-road-tag:focus-visible rect { stroke: var(--tone); stroke-width: 1.6; }
.wc-road-tag.is-focused rect { fill: color-mix(in srgb, var(--tone) 14%, var(--surface-solid)); stroke: var(--tone); stroke-width: 2; }
.wc-stage.is-panning .wc-road-tag { pointer-events: none; }
[data-flow-ribbon] { transition: opacity .2s ease; }
.wc-map.has-flow-focus .wc-road-tag:not(.is-focused) { opacity: .5; }
.wc-map.has-flow-focus [data-flow-ribbon]:not(.is-focused) { opacity: .3; }

/* Binalar: izometrik yüzler. Duvar açık beton (sağ yüz ışıkta, sol yüz
   gölgede, dipte koyu kaide), çatı semt renginin canlı hâli, ön kenarlarda
   ince ışık çizgisi. Pencere/cam/kapı aynı tondan türer. */
.wc-lot, .wc-hq { cursor: pointer; outline: none; transition: transform .18s cubic-bezier(.2, .75, .25, 1), opacity .16s ease; }
:is(.wc-lot, .wc-hq) :is(polygon, path, ellipse) { stroke: color-mix(in srgb, var(--text) 22%, transparent); stroke-width: .45; stroke-linejoin: round; }
.wc-f-t { fill: color-mix(in srgb, var(--hue) var(--wc-roof-k), var(--wc-roof-base)); }
.wc-f-r { fill: color-mix(in srgb, var(--hue) 5%, var(--wc-wall)); }
.wc-f-l { fill: color-mix(in srgb, var(--hue) 7%, var(--wc-wall-shade)); }
.wc-plinth { fill: color-mix(in srgb, var(--wc-wall-shade) 70%, black); }
.wc-plinth.is-r { fill: color-mix(in srgb, var(--wc-wall) 72%, black); }
.wc-roof { fill: color-mix(in srgb, var(--hue) calc(var(--wc-roof-k) - 8%), var(--wc-roof-base)); }
.wc-roof-rim { fill: color-mix(in srgb, var(--hue) 62%, var(--wc-wall-shade)); }
.wc-rim { fill: none; stroke: color-mix(in srgb, white 70%, var(--hue)); stroke-width: .9; stroke-linecap: round; stroke-linejoin: round; opacity: .75; pointer-events: none; }
.wc-glass { fill: var(--wc-glass); }
.wc-win { fill: color-mix(in srgb, var(--wc-glass) 86%, var(--hue)); }
.wc-win.is-lit { fill: color-mix(in srgb, var(--wc-glass) 70%, white); }
.wc-win.is-shop { fill: color-mix(in srgb, var(--wc-glass) 76%, white); }
.wc-door { fill: color-mix(in srgb, var(--hue) 22%, color-mix(in srgb, var(--text) 72%, var(--surface-solid))); }
.wc-door.is-roll { fill: color-mix(in srgb, var(--wc-wall-shade) 62%, var(--text)); }
.wc-door.is-glass { fill: color-mix(in srgb, var(--wc-glass) 60%, var(--text)); }
.wc-canopy { fill: color-mix(in srgb, var(--hue) 50%, var(--wc-wall)); }
.wc-sign { fill: var(--hue); }
.wc-sign.is-side, .wc-sign.is-band { fill: color-mix(in srgb, var(--hue) 78%, black); }
.wc-awning { fill: color-mix(in srgb, var(--hue) 88%, var(--surface-solid)); }
.wc-vat-l, .wc-stack-l { fill: color-mix(in srgb, var(--wc-steel) 62%, black); }
.wc-vat-r, .wc-stack-r { fill: var(--wc-steel); }
.wc-vat-t, .wc-stack-t { fill: color-mix(in srgb, var(--wc-steel) 50%, var(--surface-solid)); }
.wc-band-l { fill: color-mix(in srgb, var(--hue) 70%, black); }
.wc-band-r, .wc-band-t { fill: var(--hue); }
.wc-pipe { fill: none; stroke: color-mix(in srgb, var(--wc-steel) 70%, var(--text)); stroke-width: 1.6; stroke-linecap: round; }
.wc-unit .wc-f-t { fill: color-mix(in srgb, var(--wc-steel) 55%, var(--surface-solid)); }
.wc-unit .wc-f-r { fill: var(--wc-steel); }
.wc-unit .wc-f-l { fill: color-mix(in srgb, var(--wc-steel) 62%, black); }
.wc-roof-sign .wc-f-t, .wc-roof-sign .wc-f-r { fill: var(--hue); }
.wc-roof-sign .wc-f-l { fill: color-mix(in srgb, var(--hue) 70%, black); }
.wc-mast { stroke: color-mix(in srgb, var(--text) 55%, transparent); stroke-width: 1.2; stroke-linecap: round; }
.wc-flagpole line { stroke: color-mix(in srgb, var(--text) 50%, var(--surface-solid)); stroke-width: 1.2; stroke-linecap: round; }
:is(.wc-lot, .wc-hq) polygon.wc-flag { fill: var(--hue); stroke: none; }
:is(.wc-lot, .wc-hq) polygon.wc-shadow { fill: color-mix(in srgb, var(--text) 14%, transparent); stroke: none; }
:is(.wc-lot, .wc-hq) polygon.wc-lot-hit { fill: transparent; stroke: none; }
/* Ağaç ve sokak lambası: şehir dokusu, tıklanmaz. */
.wc-tree, .wc-lamp { pointer-events: none; }
.wc-tree :is(ellipse, circle) { stroke: none; }
.wc-tree-shadow { fill: color-mix(in srgb, var(--text) 13%, transparent); }
.wc-tree .wc-trunk { stroke: var(--wc-trunk); stroke-linecap: round; }
.wc-leaf { fill: var(--wc-leaf); }
.wc-leaf-hi { fill: var(--wc-leaf-hi); }
.wc-lamp-pole { stroke: color-mix(in srgb, var(--text) 42%, var(--wc-paper)); stroke-width: 1; }
.wc-lamp-head { fill: color-mix(in srgb, var(--text) 30%, var(--surface-solid)); }
.wc-lamp-pool { fill: none; }
.wc-lot.is-focused .wc-f-t, .wc-lot:focus-visible .wc-f-t, .wc-hq.is-focused .wc-hq-tower .wc-f-t { stroke: var(--accent); stroke-width: 1.4; }
.wc-lot:hover, .wc-lot:focus-visible, .wc-hq:hover, .wc-hq:focus-visible { transform: translateY(-3px); }
/* Gece: yanan pencereler, ışıklıklar, vitrin ve lamba ışığı. */
html[data-theme="dark"] #watchCenterApp .wc-win { fill: color-mix(in srgb, var(--wc-glass) 88%, var(--hue)); }
html[data-theme="dark"] #watchCenterApp .wc-win.is-lit, html[data-theme="dark"] #watchCenterApp .wc-win.is-shop { fill: var(--wc-lit); }
html[data-theme="dark"] #watchCenterApp .wc-glass.is-sky { fill: color-mix(in srgb, var(--wc-lit) 72%, var(--wc-glass)); }
html[data-theme="dark"] #watchCenterApp .wc-door.is-glass { fill: var(--wc-lit); }
html[data-theme="dark"] #watchCenterApp .wc-rim { stroke: color-mix(in srgb, white 45%, var(--hue)); opacity: .6; }
html[data-theme="dark"] #watchCenterApp .wc-lamp-head { fill: var(--wc-lit); }
html[data-theme="dark"] #watchCenterApp .wc-lamp-pool { fill: color-mix(in srgb, var(--wc-lit) 16%, transparent); }
html[data-theme="dark"] #watchCenterApp .wc-mast { stroke: color-mix(in srgb, var(--text) 45%, transparent); }
/* Bir binaya gelince ya da çekmece açıkken diğerleri bir adım geri çekilir. */
.wc-map.has-hover .wc-lot:not(.is-hover), .wc-map.has-focus:not(.has-hover) .wc-lot:not(.is-focused) { opacity: .5; }
.wc-map.has-hover .wc-tag:not(.is-hover), .wc-map.has-focus:not(.has-hover) .wc-tag:not(.is-focused) { opacity: .55; }

/* Merkez: meydan + iki depo + idari kule */
.wc-plaza { fill: color-mix(in srgb, var(--wc-hq) 10%, var(--surface-solid)); }
html[data-theme="dark"] #watchCenterApp .wc-plaza { fill: color-mix(in srgb, var(--hue) 12%, color-mix(in srgb, var(--surface-solid) 70%, var(--wc-paper))); }
.wc-plaza-mark { fill: none; stroke-dasharray: 3 4; }
.wc-plaza-edge { fill: color-mix(in srgb, var(--wc-hq) 40%, black); }
.wc-plaza-edge.is-light { fill: color-mix(in srgb, var(--wc-hq) 34%, var(--surface-solid)); }
.wc-hq-depot { --hue: color-mix(in srgb, var(--wc-hq) 70%, var(--surface-solid)); }
.wc-hq-tag { pointer-events: none; }
.wc-hq-tag rect { fill: var(--surface-solid); stroke: var(--border); stroke-width: 1; }
.wc-hq-tag.is-hub rect { stroke: color-mix(in srgb, var(--wc-bursa) 45%, var(--border)); }
.wc-hq-tag.is-hub .wc-hq-eyebrow { fill: color-mix(in srgb, var(--wc-bursa) 70%, var(--text)); }
.wc-hq-eyebrow { fill: var(--muted); font: 700 10.5px/1 var(--font); letter-spacing: .1em; text-anchor: middle; }
.wc-hq-name { fill: var(--text); font: 650 14.5px/1 var(--font); text-anchor: middle; }

/* Künye hapı + rozet */
.wc-tag { pointer-events: none; transition: opacity .16s ease; }
.wc-tag rect { fill: color-mix(in srgb, var(--surface-solid) 94%, transparent); stroke: var(--border); stroke-width: 1; }
.wc-tag.is-active rect { stroke: color-mix(in srgb, var(--text) 26%, var(--border)); }
.wc-tag.is-hover rect, .wc-tag.is-focused rect { stroke: var(--accent); }
.wc-tag-name { fill: var(--text); font: 650 13.5px/1 var(--font); text-anchor: middle; }
.wc-tag-value { fill: var(--muted); font: 500 12.5px/1 var(--font); text-anchor: middle; font-variant-numeric: tabular-nums; }
.wc-tag-late { fill: var(--danger); font-weight: 650; }
.wc-lane-arrows { fill: none; stroke: var(--wc-cab, var(--surface-solid)); stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; opacity: .55; pointer-events: none; }
.wc-map.is-still .wc-lane-arrows, .wc-stage.is-still .wc-lane-arrows { opacity: .35; }
.wc-badge rect { fill: var(--text); stroke: var(--hue, var(--accent)); stroke-width: 2.5; filter: drop-shadow(0 2px 4px rgba(15, 23, 42, .35)); }
.wc-badge text { fill: var(--surface-solid); font-weight: 800; font-family: var(--font); text-anchor: middle; font-variant-numeric: tabular-nums; }
.wc-badge .wc-badge-truck { fill: var(--surface-solid); }

/* Üzerine gelince künye (TASARIM-DILI §3.11 hover künyesinin sahne içi hâli) */
.wc-peek { position: absolute; left: 0; top: 0; z-index: 3; min-width: 220px; max-width: 280px; display: grid; gap: 5px; padding: 10px 12px; border: 1px solid var(--border); border-radius: 12px; background: var(--surface-solid); box-shadow: 0 18px 44px rgba(15, 23, 42, .18); color: var(--text); font: 500 12px/1.35 var(--font); pointer-events: none; }
.wc-peek[hidden] { display: none; }
.wc-peek small { color: var(--muted); font: 700 10px/1 var(--font); letter-spacing: .1em; text-transform: uppercase; }
.wc-peek strong { margin-bottom: 2px; font: 650 14px/1.3 var(--font); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.wc-peek div { display: flex; justify-content: space-between; gap: var(--space-4, 16px); }
.wc-peek div span { display: inline-flex; align-items: center; gap: 6px; color: var(--muted); }
.wc-peek div i { width: 8px; height: 8px; border-radius: 50%; background: var(--tone); }
.wc-peek div.is-lane span::before { content: ""; width: 8px; height: 1px; background: var(--border-bright); }
.wc-peek b { font-weight: 600; font-variant-numeric: tabular-nums; white-space: nowrap; }
.wc-peek p { margin: 4px 0 0; padding-top: 6px; border-top: 1px solid var(--border); color: var(--muted); font: 500 11px/1.2 var(--font); }

/* ── Zaman çizelgesi ───────────────────────────────────────────────────── */
.wc-timeline { flex: 0 0 auto; display: grid; gap: var(--space-2, 8px); padding: 10px 14px 8px; border: 1px solid var(--border); border-radius: 16px; background: var(--surface-solid); }
.wc-timeline[hidden] { display: none; }
.wc-tl-top { display: flex; align-items: center; gap: var(--space-4, 16px); min-width: 0; }
.wc-chips { display: flex; align-items: center; gap: 4px; min-width: 0; overflow-x: auto; scrollbar-width: none; }
.wc-chips::-webkit-scrollbar { display: none; }
.wc-flow-chip { height: 28px; flex: 0 0 auto; display: inline-flex; align-items: center; gap: 6px; padding: 0 10px 0 8px; border: 1px solid var(--border); border-radius: 999px; background: transparent; color: var(--text); font: 600 12px/1 var(--font); cursor: pointer; transition: opacity .16s ease, border-color .16s ease, background .16s ease; }
.wc-flow-chip .wc-dir { flex: 0 0 auto; width: 14px; height: 14px; color: var(--tone); }
.wc-flow-chip .wc-dir path { fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.wc-flow-chip b { color: var(--muted); font: 600 11.5px/1 var(--font); font-variant-numeric: tabular-nums; }
.wc-flow-chip:hover { border-color: color-mix(in srgb, var(--tone) 55%, var(--border)); background: color-mix(in srgb, var(--tone) 8%, transparent); }
.wc-flow-chip.is-off { opacity: .45; }
.wc-flow-chip.is-off .wc-dir { color: var(--muted); }
.wc-tl-meta { flex: 0 0 auto; display: flex; align-items: baseline; gap: var(--space-2, 8px); margin-left: auto; color: var(--muted); font: 500 12px/1 var(--font); white-space: nowrap; font-variant-numeric: tabular-nums; }
.wc-tl-meta strong { color: var(--text); font: 650 13px/1 var(--font); }
.wc-tl-note { color: var(--accent); }
.wc-tl-note.is-error { color: var(--danger); }
.wc-tl-row { display: grid; grid-template-columns: 36px minmax(0, 1fr); align-items: start; gap: var(--space-3, 12px); }
.wc-play { width: 36px; height: 36px; display: grid; place-items: center; margin-top: 8px; padding: 0; border: 0; border-radius: 50%; background: var(--accent); color: var(--on-accent, var(--surface-solid)); cursor: pointer; transition: transform .16s ease; }
.wc-play:hover { transform: translateY(-1px); }
.wc-play:disabled { background: var(--desk-soft, var(--surface-2)); color: var(--muted); cursor: default; transform: none; }
.wc-play svg { width: 16px; height: 16px; }
.wc-tl { position: relative; display: grid; grid-template-rows: 48px 16px; outline: none; border-radius: 8px; cursor: crosshair; touch-action: none; user-select: none; }
.wc-tl-bars { display: grid; grid-template-columns: repeat(var(--days, 7), minmax(0, 1fr)); gap: 2px; align-items: end; border-bottom: 1px solid var(--border); }
.wc-tl-col { height: 100%; display: flex; flex-direction: column-reverse; gap: 1px; padding-top: 2px; border-radius: 4px 4px 0 0; opacity: .32; transition: opacity .13s ease, background .13s ease; }
.wc-tl-col i { display: block; flex: 0 0 auto; min-height: 1.5px; border-radius: 2px; background: var(--tone); }
.wc-tl-col i.is-zero { height: 1.5px; background: var(--border-bright); }
.wc-tl-col.is-weekend { background: color-mix(in srgb, var(--text) 4%, transparent); }
.wc-tl-col.in-range { opacity: 1; background: color-mix(in srgb, var(--accent) 8%, transparent); }
.wc-tl-col:hover { opacity: .85; }
.wc-tl-col.in-range:hover { opacity: 1; }
.wc-tl-rail { position: absolute; top: -2px; bottom: 14px; left: -2px; right: -2px; overflow: hidden; pointer-events: none; }
.wc-tl-track { position: absolute; top: 0; bottom: 0; left: 2px; right: 2px; will-change: transform; }
.wc-tl-track[hidden] { display: none; }
.wc-tl-head { position: absolute; top: 0; bottom: 0; left: 0; width: 2px; margin-left: -1px; border-radius: 2px; background: var(--text); }
.wc-tl-axis { position: relative; display: grid; grid-template-columns: repeat(var(--days, 7), minmax(0, 1fr)); gap: 2px; padding-top: 4px; color: var(--muted); font: 500 11px/1 var(--font); font-variant-numeric: tabular-nums; }
.wc-tl-axis span { white-space: nowrap; overflow: visible; }
.wc-tl-axis span.is-today { color: var(--text); font-weight: 650; }
.wc-tl-tip { position: absolute; left: 0; top: 0; z-index: 5; min-width: 200px; display: grid; gap: 4px; padding: 9px 11px; border: 1px solid var(--border); border-radius: 12px; background: var(--surface-solid); box-shadow: 0 18px 44px rgba(15, 23, 42, .18); color: var(--text); font: 500 12px/1.3 var(--font); pointer-events: none; }
.wc-tl-tip[hidden] { display: none; }
.wc-tl-tip strong { margin-bottom: 2px; font: 650 13px/1.3 var(--font); }
.wc-tl-tip div { display: grid; grid-template-columns: 8px minmax(0, 1fr) auto; align-items: center; gap: var(--space-2, 8px); }
.wc-tl-tip div.is-off { opacity: .5; }
.wc-tl-tip i { width: 8px; height: 8px; border-radius: 50%; background: var(--tone); }
.wc-tl-tip span { color: var(--muted); }
.wc-tl-tip b { font-weight: 600; font-variant-numeric: tabular-nums; }

/* ── Çekmece ───────────────────────────────────────────────────────────── */
.wc-drawer { position: absolute; top: var(--space-3, 12px); right: var(--space-3, 12px); bottom: var(--space-3, 12px); z-index: 4; width: min(392px, calc(100% - 24px)); overflow-x: hidden; overflow-y: auto; overscroll-behavior: contain; display: flex; flex-direction: column; gap: var(--space-3, 12px); padding: var(--space-4, 16px); border: 1px solid var(--border); border-radius: 16px; background: var(--surface-solid); box-shadow: 0 18px 44px rgba(15, 23, 42, .18); animation: wcDrawerIn .18s cubic-bezier(.2, .75, .25, 1); }
.wc-drawer[hidden] { display: none; }
@keyframes wcDrawerIn { from { opacity: 0; transform: translateX(6px); } }
.wc-drawer-head { display: flex; align-items: flex-start; gap: var(--space-2, 8px); }
.wc-drawer-head > div { flex: 1 1 auto; min-width: 0; }
.wc-drawer-head > .wc-drawer-tools { flex: 0 0 auto; display: flex; align-items: center; gap: 2px; }
.wc-drawer-tools .wc-text-btn { margin: 0 4px; }
.wc-drawer-head small { display: block; overflow: hidden; color: var(--muted); font: 700 11px/1.3 var(--font); letter-spacing: .1em; white-space: nowrap; text-overflow: ellipsis; }
.wc-drawer-head h3 { margin: 4px 0 0; font: 650 18px/1.2 var(--font); letter-spacing: -.02em; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.wc-text-btn { height: 30px; flex: 0 0 auto; padding: 0 10px; border: 1px solid var(--border); border-radius: 8px; background: var(--surface-solid); color: var(--text); font: 600 12px/1 var(--font); cursor: pointer; }
.wc-text-btn:hover { border-color: var(--accent); color: var(--accent); }
.wc-drawer-sum { margin: 0; color: var(--muted); font: 500 12.5px/1.45 var(--font); font-variant-numeric: tabular-nums; }
.wc-drawer-sum .is-late { color: var(--danger); font-weight: 600; }
.wc-section-row { display: flex; align-items: center; justify-content: space-between; gap: var(--space-2, 8px); }
.wc-section-title { margin: 4px 0 0; color: var(--muted); font: 700 11px/1 var(--font); letter-spacing: .1em; text-transform: uppercase; }
.wc-section-row .wc-section-title { margin: 0; }
.wc-empty-line { margin: 0; color: var(--muted); font: 500 12.5px/1.45 var(--font); }

/* Çekmece yalnız aşağı-yukarı kayar (2026-10-16, kullanıcı kararı: kırpma +
   "+N" geri alındı); yana kaymaz, satırlar genişliğe sığar. */
#watchCenterApp .wc-drawer [hidden] { display: none; }
.wc-drawer-head, .wc-drawer-sum { flex: 0 0 auto; }
.wc-drawer-cols, .wc-col { display: flex; flex-direction: column; gap: var(--space-3, 12px); min-width: 0; }
.wc-lanes { display: flex; flex-direction: column; gap: var(--space-3, 12px); }

/* Büyütülmüş çekmece: içerik ekranın ortasında, içeriği kadar büyük (en çok
   ekran); solda grafik + hareketler, sağda işler ızgarası. Sahnenin dışına
   çıktığı için position:fixed; arkasında perde (tıklanınca küçülür). */
@media (min-width: 781px) { body.shell-ready #watchCenterApp { --wc-side: var(--shell-w, 0px); } }
/* Perde koyu karartmadır: yazı renginden türeyen eski perde koyu temada
   arkayı beyazlatıyordu (2026-10-18, kullanıcı geri bildirimi). */
.wc-scrim { position: fixed; inset: 0; z-index: 59; background: color-mix(in srgb, black 34%, transparent); }
html[data-theme="dark"] #watchCenterApp .wc-scrim { background: color-mix(in srgb, black 58%, transparent); }
.wc-scrim[hidden] { display: none; }
/* Büyütülmüş pencerenin taban boyu vardır: içerik azsa küçülmez (tek siparişli
   müşteride incecik kalıp yolculukta tek satır göstermesin), çoksa ekran
   boyuna kadar büyür, sonra kayar (2026-10-21). */
.wc-drawer.is-expanded { position: fixed; z-index: 60; top: calc(var(--shell-top, 56px) + 20px); bottom: auto; left: calc(var(--wc-side, 0px) + 24px); right: 24px; width: auto; max-width: 1180px; min-height: min(680px, calc(100dvh - var(--shell-top, 56px) - 40px)); max-height: calc(100dvh - var(--shell-top, 56px) - 40px); margin-inline: auto; padding: var(--space-5, 20px) var(--space-5, 20px) var(--space-4, 16px); gap: var(--space-4, 16px); animation: wcDrawerGrow .18s cubic-bezier(.2, .75, .25, 1); }
@keyframes wcDrawerGrow { from { opacity: 0; transform: scale(.985); } }
.wc-drawer.is-expanded .wc-drawer-head h3 { font-size: 22px; }
.wc-drawer.is-expanded .wc-drawer-sum { font-size: 13.5px; }
.wc-drawer.is-expanded .wc-drawer-cols { display: grid; grid-template-columns: minmax(300px, 380px) minmax(0, 1fr); gap: var(--space-6, 28px); }
.wc-drawer.is-expanded .wc-drawer-cols > .wc-col + .wc-col { padding-left: var(--space-6, 28px); border-left: 1px solid var(--border); }
.wc-drawer.is-expanded .wc-kpis dd { font-size: 22px; }
.wc-drawer.is-expanded .wc-chart { height: 132px; }
.wc-drawer.is-expanded .wc-lanes { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: var(--space-4, 16px) var(--space-5, 20px); align-items: start; }
.wc-drawer.is-expanded .wc-lane-queue { grid-template-columns: repeat(auto-fill, minmax(172px, 1fr)); }
/* Kalabalık şerit satırın tamamını kaplar; kartları yana dağılır. */
.wc-drawer.is-expanded .wc-lane.is-wide { grid-column: 1 / -1; }
/* Boyadakiler örgüdekilerle aynı satıra düşmez: ilk boya şeridi yeni satırın başından başlar. */
.wc-drawer.is-expanded .wc-lane.is-stage-start { grid-column-start: 1; }

/* Sayı şeridi: başlığın altında sade değerler (kutu yok, §4.8). */
.wc-kpis { flex: 0 0 auto; display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, max-content); gap: 0; margin: 0; padding: 2px 0 0; }
.wc-kpis > div { min-width: 0; display: grid; gap: 3px; padding: 0 12px; border-left: 1px solid var(--border); }
.wc-kpis dt, .wc-kpis dd { overflow: hidden; text-overflow: ellipsis; }
.wc-kpis > div:first-child { padding-left: 0; border-left: 0; }
.wc-kpis dt { color: var(--muted); font: 600 10.5px/1 var(--font); letter-spacing: .08em; text-transform: uppercase; white-space: nowrap; }
.wc-kpis dd { margin: 0; color: var(--text); font: 650 16px/1.15 var(--font); letter-spacing: -.01em; white-space: nowrap; font-variant-numeric: tabular-nums; }
.wc-kpis .is-late dd, .wc-kpis .is-late dt { color: var(--danger); }
.wc-quiet-line { margin: 0; color: var(--muted); font: 500 12.5px/1.4 var(--font); }
.wc-quiet-line b { color: var(--text); font-weight: 600; }

/* Firma çizelgesi: her gün bir sütun; gönderilen eksenin üstünde, gelen
   altında. Seçili dönem hafif zeminli, bugün koyu yazılı. */
.wc-spark { display: grid; gap: 8px; }
.wc-spark-legend { display: inline-flex; align-items: center; gap: 6px; color: var(--muted); font: 500 11.5px/1 var(--font); white-space: nowrap; font-variant-numeric: tabular-nums; }
.wc-spark-legend b { color: var(--text); font-weight: 600; }
.wc-spark-legend i { width: 8px; height: 8px; border-radius: 2px; }
.wc-spark-legend i.is-out { background: var(--out); }
.wc-spark-legend i.is-in { margin-left: 8px; background: var(--in); }
.wc-chart { display: grid; grid-template-columns: repeat(var(--n, 7), minmax(0, 1fr)); gap: 3px; height: 70px; }
.wc-chart-col { display: grid; grid-template-rows: minmax(0, 1fr) minmax(0, 1fr) 14px; border-radius: 6px; }
/* Yalnız bir yönde hareket varsa boş yarı çizilmez. */
.wc-chart.is-only-out .wc-chart-col { grid-template-rows: minmax(0, 1fr) 0 14px; }
.wc-chart.is-only-in .wc-chart-col { grid-template-rows: 0 minmax(0, 1fr) 14px; }
.wc-chart.is-only-in .wc-chart-up { border-bottom: 0; }
.wc-chart.is-only-in .wc-chart-down { border-top: 1px solid var(--border); }
.wc-chart.is-part .wc-chart-col.in-range { background: color-mix(in srgb, var(--accent) 10%, transparent); }
.wc-chart-up, .wc-chart-down { position: relative; display: flex; justify-content: center; }
.wc-chart-up { align-items: flex-end; border-bottom: 1px solid var(--border); }
.wc-chart-down { align-items: flex-start; }
.wc-chart-col i { display: block; width: min(70%, 22px); }
.wc-chart-up i { background: var(--out); border-radius: 3px 3px 0 0; }
.wc-chart-down i { background: var(--in); border-radius: 0 0 3px 3px; }
.wc-chart-col small { overflow: hidden; padding-top: 3px; color: var(--muted); font: 500 10.5px/1 var(--font); text-align: center; white-space: nowrap; font-variant-numeric: tabular-nums; }
.wc-chart-col.is-today small { color: var(--text); font-weight: 650; }
.wc-chart.is-part .wc-chart-col:not(.in-range) i { opacity: .5; }
.wc-chart:has(.wc-chart-col:nth-child(31)) { gap: 1px; }

/* Merkez: tür başına dönem çubuğu */
.wc-type-bars { display: grid; gap: 6px; margin: 0; padding: 0; list-style: none; }
.wc-type-bars li { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr) auto 28px; align-items: center; gap: var(--space-2, 8px); font: 500 12px/1.2 var(--font); font-variant-numeric: tabular-nums; }
.wc-type-bars li.is-off { opacity: .45; }
.wc-type-bars span { display: inline-flex; align-items: center; gap: 6px; overflow: hidden; color: var(--text); white-space: nowrap; text-overflow: ellipsis; }
.wc-type-bars span i { width: 8px; height: 8px; flex: 0 0 auto; border-radius: 50%; background: var(--tone); }
.wc-bar { height: 6px; overflow: hidden; border-radius: 999px; background: var(--desk-soft, var(--surface-2)); }
.wc-bar s { display: block; height: 100%; border-radius: 999px; background: var(--tone); }
.wc-type-bars b { font-weight: 600; text-align: right; white-space: nowrap; }
.wc-type-bars em { color: var(--muted); font-style: normal; text-align: right; }

/* Yol hapı çekmecesi: firmaya göre pay (tık = süzgeç), sıralama, süzgeç hapı */
.wc-share-list { display: grid; gap: 2px; margin: 0; padding: 0; list-style: none; }
.wc-share-list button { width: 100%; min-height: 32px; display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr) auto 22px; align-items: center; gap: var(--space-2, 8px); padding: 0 8px; border: 0; border-radius: 8px; background: transparent; color: var(--text); font: 500 12px/1.2 var(--font); font-variant-numeric: tabular-nums; text-align: left; cursor: pointer; }
.wc-share-list button:hover { background: var(--v2-hover, var(--desk-soft)); }
.wc-share-list button.is-active { background: color-mix(in srgb, var(--tone) 12%, transparent); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--tone) 40%, transparent); }
.wc-share-list strong { overflow: hidden; font: 600 12.5px/1.3 var(--font); white-space: nowrap; text-overflow: ellipsis; }
.wc-share-list em { font-style: normal; font-weight: 600; text-align: right; white-space: nowrap; }
.wc-share-list small { color: var(--muted); font: 500 11px/1 var(--font); text-align: right; }
.wc-more-btn { margin-top: 6px; }
.wc-sort { display: inline-flex; flex: 0 0 auto; padding: 2px; border: 1px solid var(--border); border-radius: 8px; background: var(--surface-solid); }
.wc-sort button { height: 24px; padding: 0 9px; border: 0; border-radius: 6px; background: transparent; color: var(--muted); font: 600 11.5px/1 var(--font); cursor: pointer; }
.wc-sort button.active { background: var(--v2-hover, var(--desk-soft)); color: var(--text); }
.wc-flow-picked { display: flex; align-items: center; gap: var(--space-2, 8px); min-width: 0; margin: 0 0 4px; }
.wc-flow-picked em { margin-left: auto; color: var(--muted); font: 500 12px/1 var(--font); font-style: normal; white-space: nowrap; }
.wc-chip-x { min-width: 0; height: 28px; display: inline-flex; align-items: center; gap: 4px; padding: 0 6px 0 10px; border: 1px solid color-mix(in srgb, var(--accent) 40%, var(--border)); border-radius: 999px; background: color-mix(in srgb, var(--accent) 8%, var(--surface-solid)); color: var(--text); font: 600 12px/1 var(--font); cursor: pointer; }
.wc-chip-x span { max-width: 180px; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.wc-chip-x svg { width: 14px; height: 14px; flex: 0 0 auto; stroke-width: 2; }

/* Makine / proses şeridi: simge + ad + ölçü; altında sıradaki siparişler. */
.wc-lane { padding-top: var(--space-3, 12px); border-top: 1px solid var(--border); }
.wc-lane > header { display: flex; align-items: center; gap: var(--space-2, 8px); min-width: 0; }
.wc-lane > header strong { font: 650 13px/1.2 var(--font); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.wc-lane > header small { color: var(--muted); font: 500 12px/1 var(--font); white-space: nowrap; font-variant-numeric: tabular-nums; }
.wc-lane-meta { margin-left: auto; color: var(--muted); font: 500 12px/1 var(--font); white-space: nowrap; font-variant-numeric: tabular-nums; }
.wc-machine-glyph { width: 30px; height: 30px; flex: 0 0 auto; color: var(--hue, var(--wc-knit)); }
.wc-machine-glyph circle { fill: color-mix(in srgb, currentColor 10%, transparent); stroke: currentColor; stroke-width: 1.6; }
.wc-machine-glyph circle + circle { fill: var(--surface-solid); stroke-dasharray: 2.2 2.2; }
.wc-machine-glyph text { fill: var(--text); font: 700 10px/1 var(--font); text-anchor: middle; }
.wc-lane-dot { width: 10px; height: 10px; flex: 0 0 auto; border-radius: 50%; background: var(--hue, var(--wc-dye)); }
.wc-lane-dot.is-knitter { background: var(--wc-knit); }
.wc-lane-dot.is-dyer { background: var(--wc-dye); }
.wc-drawer > .wc-lane-queue { margin-top: 0; }
.wc-lane-queue { display: grid; grid-template-columns: repeat(auto-fill, minmax(168px, 1fr)); gap: 6px; margin-top: var(--space-2, 8px); }
.wc-job { min-width: 0; display: grid; gap: 3px; padding: 7px 9px 8px; border: 1px solid color-mix(in srgb, var(--hue, var(--accent)) 20%, var(--border)); border-radius: 10px; background: color-mix(in srgb, var(--hue, var(--accent)) 5%, var(--surface-solid)); color: var(--text); text-align: left; cursor: pointer; transition: border-color .16s ease, transform .16s ease; }
.wc-job:hover { border-color: color-mix(in srgb, var(--hue, var(--accent)) 60%, var(--border)); transform: translateY(-1px); }
.wc-job-top { display: flex; align-items: baseline; justify-content: space-between; gap: 6px; }
.wc-job b { font: 650 13px/1.1 var(--font); letter-spacing: .015em; font-variant-numeric: tabular-nums; }
.wc-job-top em { color: var(--muted); font: 600 11px/1 var(--font); font-style: normal; white-space: nowrap; font-variant-numeric: tabular-nums; }
.wc-job-cust { overflow: hidden; color: var(--muted); font: 500 11.5px/1.2 var(--font); white-space: nowrap; text-overflow: ellipsis; }
.wc-job-bar { height: 4px; overflow: hidden; border-radius: 999px; background: color-mix(in srgb, var(--text) 9%, transparent); }
.wc-job-bar i { display: block; width: var(--p, 0%); height: 100%; border-radius: inherit; background: var(--hue, var(--accent)); }
.wc-job-foot { min-width: 0; overflow: hidden; display: flex; align-items: baseline; gap: 4px; color: var(--muted); font: 500 11px/1.1 var(--font); white-space: nowrap; font-variant-numeric: tabular-nums; }
/* Fason iş raporu (2026-10-16): kartın sağ üstünde, üzerine gelince beliren
   sessiz × (dokunmatikte hep görünür); raporlanmış kartın altında iz satırı. */
.wc-job-wrap { position: relative; min-width: 0; display: grid; gap: 3px; }
.wc-job-wrap > .wc-job { width: 100%; }
.wc-job.is-reported { border-style: dashed; }
.wc-job-report { min-width: 0; padding: 0 2px; }
.wc-job-foot strong { color: var(--text); font-weight: 650; }
.wc-job-foot small { min-width: 0; margin-left: auto; overflow: hidden; font: inherit; text-overflow: ellipsis; }
.wc-job.is-late { border-color: color-mix(in srgb, var(--danger) 50%, var(--border)); background: color-mix(in srgb, var(--danger) 6%, var(--surface-solid)); }
.wc-job.is-late .wc-job-top em { color: var(--danger); }
.wc-job.is-done { --hue: var(--success); }
/* Planlanan sipariş (2026-10-26): firmaya henüz gelmedi — kesik çizgi, dolgusuz, çubuk yok. */
.wc-job.is-planned { border-style: dashed; border-color: color-mix(in srgb, var(--muted) 40%, var(--border)); background: transparent; }
.wc-lane.is-planned .wc-lane-dot { background: transparent; box-shadow: inset 0 0 0 1.5px var(--muted); }
.wc-job.is-done .wc-job-top em { color: var(--success); }
/* Takibim katmanı (2026-10-17, TASARIM-DILI §3.35): araç çubuğunda hap; açıkken
   takipteki siparişi tutmayan binalar/künyeler soluklaşır, künyede göz rozeti. */
.wc-watch-btn { height: 32px; display: inline-flex; align-items: center; gap: 6px; margin-right: 6px; padding: 0 12px 0 10px; border: 1px solid var(--border); border-radius: 999px; background: transparent; color: var(--muted); font: 600 12px/1 var(--font); white-space: nowrap; cursor: pointer; transition: background .16s ease, color .16s ease, border-color .16s ease; }
.wc-watch-btn svg { width: 16px; height: 16px; stroke-width: 1.9; }
/* Takip simgesi yer imidir (2026-10-20): açıkken / takipteyken içi dolar. */
.wc-watch-btn.active svg { fill: color-mix(in srgb, currentColor 24%, transparent); }
.wc-watch-btn b { min-width: 18px; padding: 3px 5px; border-radius: 999px; background: color-mix(in srgb, var(--text) 8%, transparent); color: var(--text); font: 650 11px/1 var(--font); font-variant-numeric: tabular-nums; text-align: center; }
.wc-watch-btn:hover { color: var(--text); border-color: var(--border-strong, var(--border)); }
.wc-watch-btn.active { border-color: color-mix(in srgb, var(--accent) 50%, var(--border)); background: color-mix(in srgb, var(--accent) 12%, transparent); color: var(--accent); }
.wc-watch-btn.active b { background: var(--accent); color: var(--on-accent, var(--surface-solid)); }
.wc-watch-btn:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
.wc-review-btn { border-style: dashed; }
.wc-section-note { margin-left: 8px; color: var(--muted); font: 500 11px/1 var(--font); letter-spacing: 0; text-transform: none; }
.wc-review-list { list-style: none; margin: 8px 0 0; padding: 0; display: grid; gap: 2px; }
.wc-review-list button { width: 100%; display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 10px; align-items: baseline; padding: 7px 8px; border: 0; border-radius: 8px; background: none; color: var(--text); font: 500 12px/1.3 var(--font); text-align: left; cursor: pointer; }
.wc-review-list button:hover { background: color-mix(in srgb, var(--text) 6%, transparent); }
.wc-review-list button:focus-visible { outline: 2px solid var(--accent); outline-offset: 1px; }
.wc-review-list strong { font-weight: 650; font-variant-numeric: tabular-nums; }
.wc-review-list span { color: var(--muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.wc-review-list em { font-style: normal; font-weight: 600; font-variant-numeric: tabular-nums; }
.wc-map.is-watch-mode .wc-lot:not(.has-watch):not(.is-hub) { opacity: .3; }
.wc-map.is-watch-mode .wc-tag:not(.has-watch) { opacity: .35; }
.wc-watch-badge rect { fill: var(--accent); stroke: var(--surface-solid); stroke-width: 2; }
.wc-watch-badge path { fill: none; stroke: var(--on-accent, var(--surface-solid)); stroke-width: 1.5; }
.wc-watch-badge circle { fill: var(--on-accent, var(--surface-solid)); }
.wc-watch-badge text { fill: var(--on-accent, var(--surface-solid)); font-weight: 700; font-family: var(--font); font-variant-numeric: tabular-nums; }
/* Takipteki iş kartı: kartın rengi solda şerit + göz; "Haritada" ile gelinen kart halkalı. */
.wc-job.is-watched { box-shadow: inset 3px 0 0 var(--watch-color, var(--accent)); }
.wc-job-eye { width: 13px; height: 13px; margin-right: 4px; vertical-align: -1px; stroke-width: 2.2; color: var(--watch-color, var(--accent));; fill: color-mix(in srgb, currentColor 30%, transparent); }
.wc-job.is-spot { border-color: var(--watch-color, var(--accent)); box-shadow: inset 3px 0 0 var(--watch-color, var(--accent)), 0 0 0 3px color-mix(in srgb, var(--watch-color, var(--accent)) 22%, transparent); }
.wc-job.is-late .wc-job-bar i { background: var(--danger); }
.wc-drawer[data-role="knitter"] { --hue: var(--wc-knit); }
.wc-drawer[data-role="dyer"] { --hue: var(--wc-dye); }
.wc-drawer[data-role="customer"] { --hue: var(--wc-cust); }
.wc-drawer[data-role="bursa"] { --hue: var(--wc-bursa); }
.wc-drawer[data-role="hq"] { --hue: var(--wc-hq); }

/* Hareket ve firma listeleri (çekmece) */
.wc-flow-list, .wc-firm-list { display: grid; gap: 2px; margin: 0; padding: 0; list-style: none; }
.wc-flow-list button, .wc-firm-list button { width: 100%; min-height: 34px; display: grid; align-items: center; gap: var(--space-2, 8px); padding: 0 8px; border: 0; border-radius: 8px; background: transparent; color: var(--text); text-align: left; cursor: pointer; }
.wc-flow-list button { grid-template-columns: 14px 46px minmax(0, 1fr) auto; }
.wc-flow-list.has-date button { grid-template-columns: 14px 44px 46px minmax(0, 1fr) auto; }
.wc-firm-list button { grid-template-columns: minmax(0, 1fr) auto; grid-template-rows: auto auto; padding: 6px 8px; }
.wc-flow-list button:hover, .wc-firm-list button:hover { background: var(--v2-hover, var(--desk-soft)); }
.wc-flow-list button.is-static { cursor: default; }
.wc-flow-list .wc-dir { width: 14px; height: 14px; }
.wc-flow-list .wc-dir path { fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
/* Yön rengi: çıkış (yukarı ok) mavi, giriş (aşağı ok) yeşil; tür adı satırda yazar. */
.wc-flow-list .wc-dir.is-out { color: var(--accent); }
.wc-flow-list .wc-dir.is-in { color: var(--success); }
.wc-flow-list small { color: var(--muted); font: 500 11px/1 var(--font); white-space: nowrap; font-variant-numeric: tabular-nums; }
.wc-flow-list b { font: 650 12.5px/1 var(--font); letter-spacing: .015em; font-variant-numeric: tabular-nums; }
.wc-flow-list span, .wc-firm-list span { overflow: hidden; color: var(--muted); font: 500 12px/1.3 var(--font); white-space: nowrap; text-overflow: ellipsis; }
.wc-flow-list em, .wc-firm-list em { color: var(--text); font: 500 12px/1 var(--font); font-style: normal; font-variant-numeric: tabular-nums; white-space: nowrap; }
.wc-firm-list strong { overflow: hidden; font: 600 13px/1.3 var(--font); white-space: nowrap; text-overflow: ellipsis; }
.wc-firm-list span { grid-column: 1; }
.wc-firm-list span i.is-late { color: var(--danger); font-style: normal; }
.wc-firm-list em { grid-row: 1 / span 2; grid-column: 2; }

/* ── Dar ekran ─────────────────────────────────────────────────────────── */
@media (max-width: 1180px) {
  /* Dar ekranda harita oranını korur; çekmece alttan açılan sayfadır. */
  .wc-stage { max-height: none; min-height: 0; }
  .wc-drawer { top: auto; left: var(--space-3, 12px); width: auto; height: 62%; }
  .wc-toolbar { flex-wrap: wrap; row-gap: var(--space-2, 8px); }
  .wc-stats { order: 3; flex: 1 1 100%; }
}
@media (max-width: 1180px) {
  .wc-drawer.is-expanded { left: calc(var(--wc-side, 0px) + var(--space-3, 12px)); right: var(--space-3, 12px); top: calc(var(--shell-top, 56px) + 12px); min-height: calc(100dvh - var(--shell-top, 56px) - 24px); max-height: calc(100dvh - var(--shell-top, 56px) - 24px); }
  .wc-drawer.is-expanded .wc-drawer-cols { grid-template-columns: minmax(0, 1fr); }
  .wc-drawer.is-expanded .wc-drawer-cols > .wc-col + .wc-col { padding-left: 0; border-left: 0; }
}
@media (max-width: 760px) {
  .wc-presets { max-width: 100%; overflow-x: auto; scrollbar-width: none; }
  .wc-stats > small { display: none; }
  .wc-stats { gap: var(--space-3, 12px); overflow-x: auto; scrollbar-width: none; }
  .wc-stat + .wc-stat { padding-left: var(--space-3, 12px); }
  .wc-tl-top { flex-wrap: wrap; row-gap: var(--space-2, 8px); }
  .wc-chips { flex: 1 1 100%; order: 2; }
  .wc-tl-meta { margin-left: 0; }
  .wc-key, .wc-dayline em { display: none; }
  .wc-edge { height: 28px; padding: 0 9px; font-size: 11.5px; }
  .wc-edge span { display: none; }
  .wc-drawer { height: 78%; }
}
@media (prefers-reduced-motion: reduce) {
  .wc-lot, .wc-hq, .wc-job, .wc-preset, .wc-flow-chip, .wc-world, .wc-tag, .wc-tl-col, .wc-play { transition: none; }
  .wc-lot:hover, .wc-lot:focus-visible, .wc-hq:hover, .wc-hq:focus-visible, .wc-job:hover, .wc-play:hover { transform: none; }
  .wc-drawer, .wc-drawer.is-expanded, .wc-edge { animation: none; }
  .wc-edge, .wc-fade { transition: none; }
}

/* Dönel kavşak: merkezin çevresindeki asfalt halka (2026-10-18). */
.wc-ring ellipse { fill: none; }
.wc-ring .wc-road-center { stroke: var(--wc-lane-mark); stroke-width: 1.2; stroke-dasharray: 7 7; }

/* ─── Şehir ayrıntıları (2026-10-18) ──────────────────────────────────────
   Zebra, DUR çizgisi, rögar, merkez otoparkı ve mevsim ağaçları SVG'de duraktır.
   Işık, yaya, duman, fan, forklift tuvaldedir (watch-center.js wcDrawAmbient).
   Ağaç rengi seçili dönemin bitiş gününün mevsiminden gelir. */
.wc-zebra { fill: var(--wc-zebra); }
.wc-stop-line { fill: none; stroke: var(--wc-zebra); stroke-width: 1.8; }
.wc-road-text { fill: var(--wc-zebra); font-size: 5.6px; font-weight: 700; letter-spacing: .08em; text-anchor: middle; }
.wc-manhole { fill: color-mix(in srgb, var(--text) 42%, var(--wc-asphalt)); stroke: var(--wc-lane-mark); stroke-width: .4; }
.wc-lot-asphalt { fill: var(--wc-asphalt); }
.wc-stall { fill: none; stroke: var(--wc-zebra); stroke-width: .8; }
.wc-car { --car: var(--wc-cab); }
.wc-car.is-c1 { --car: var(--danger); }
.wc-car.is-c2 { --car: var(--accent); }
.wc-car.is-c3 { --car: color-mix(in srgb, var(--text) 45%, var(--surface-solid)); }
.wc-car :is(.wc-f-t, .wc-f-r) { fill: var(--car); }
.wc-car .wc-f-l { fill: color-mix(in srgb, var(--car) 66%, black); }
.wc-car .wc-car-cab :is(.wc-f-l, .wc-f-r) { fill: var(--wc-van-glass); }
html[data-theme="dark"] #watchCenterApp {
  --wc-zebra: color-mix(in srgb, var(--text) 46%, transparent);
  --wc-smoke: color-mix(in srgb, var(--text) 34%, var(--wc-paper));
  --wc-skin: color-mix(in srgb, var(--warning-fill) 34%, var(--text));
}
.wc-map.is-autumn .wc-tree.is-v1 { --wc-leaf: color-mix(in srgb, var(--warning-fill) 72%, var(--danger)); --wc-leaf-hi: color-mix(in srgb, var(--warning-fill) 70%, var(--surface-solid)); }
.wc-map.is-autumn .wc-tree.is-v2 { --wc-leaf: color-mix(in srgb, var(--warning-fill) 82%, var(--success)); --wc-leaf-hi: color-mix(in srgb, var(--warning-fill) 50%, var(--surface-solid)); }
.wc-map.is-autumn .wc-tree.is-v3 { --wc-leaf: color-mix(in srgb, var(--danger) 58%, var(--warning)); --wc-leaf-hi: color-mix(in srgb, var(--danger) 40%, var(--warning-fill)); }
.wc-map.is-spring .wc-tree.is-v1 { --wc-leaf: color-mix(in srgb, var(--danger) 26%, var(--surface-solid)); --wc-leaf-hi: color-mix(in srgb, var(--danger) 12%, var(--surface-solid)); }
.wc-map.is-spring .wc-tree:not(.is-v1) { --wc-leaf: color-mix(in srgb, var(--success) 55%, var(--surface-solid)); }
.wc-map.is-winter .wc-tree:not(.is-v3) .wc-leaf { fill: color-mix(in srgb, var(--text) 10%, var(--surface-solid)); }
.wc-map.is-winter .wc-tree:not(.is-v3) .wc-leaf-hi { fill: var(--surface-solid); }
.wc-map.is-winter .wc-tree.is-v3 { --wc-leaf: color-mix(in srgb, var(--success) 60%, var(--text)); }

/* ── Tam sayfa (2026-10-18) ───────────────────────────────────────────────
   Harita pencerenin tamamını alır (menü/başlık örtülür); sayfa kaymaz.
   Açılan pencereler (.modal-overlay 400) üstte kalır. Solda firma listesi. */
html.wc-full-open, html.wc-full-open body { overflow: hidden; }
body #watchCenterApp.is-full { --wc-side: 0px; --shell-top: 0px; position: fixed; inset: 0; z-index: 300; padding: var(--space-3, 12px) var(--space-4, 16px); background: var(--bg, var(--surface-solid)); }
#watchCenterApp.is-full .wc-body { flex: 1 1 auto; min-height: 0; grid-template-rows: minmax(0, 1fr); }
#watchCenterApp.is-full .wc-body.has-rail { grid-template-columns: 300px minmax(0, 1fr); gap: var(--space-3, 12px); }
#watchCenterApp.is-full .wc-stage { aspect-ratio: auto; height: 100%; min-height: 0; max-height: none; }
#watchCenterApp.is-full .wc-timeline { flex: 0 0 auto; }
.wc-rail { min-height: 0; display: flex; flex-direction: column; overflow: hidden; border: 1px solid var(--border); border-radius: 16px; background: var(--surface-solid); }
.wc-rail[hidden] { display: none; }
.wc-rail-head { display: grid; gap: var(--space-2, 8px); padding: var(--space-3, 12px); border-bottom: 1px solid var(--border); }
.wc-rail-search { display: flex; align-items: center; gap: 8px; height: 34px; padding: 0 10px; border: 1px solid var(--border); border-radius: 10px; background: var(--desk-soft, var(--surface-2)); color: var(--muted); }
.wc-rail-search:focus-within { border-color: var(--accent); }
.wc-rail-search svg { width: 15px; height: 15px; flex: 0 0 auto; stroke-width: 2; }
#watchCenterApp .wc-rail-search input { flex: 1 1 auto; min-width: 0; height: 100%; margin: 0; padding: 0; border: 0; border-radius: 0; outline: 0; box-shadow: none; background: transparent; color: var(--text); font: 500 13px/1 var(--font); -webkit-appearance: none; appearance: none; }
.wc-rail-sorts { width: max-content; }
.wc-rail-list { flex: 1 1 auto; min-height: 0; overflow-y: auto; overscroll-behavior: contain; padding: 4px var(--space-2, 8px) var(--space-3, 12px); }
.wc-rail-sec + .wc-rail-sec { margin-top: var(--space-2, 8px); padding-top: var(--space-2, 8px); border-top: 1px solid var(--border); }
.wc-rail-district { width: 100%; display: grid; grid-template-columns: 10px minmax(0, 1fr); align-items: center; column-gap: 8px; row-gap: 3px; padding: 8px 8px 6px; border: 0; border-radius: 10px; background: transparent; color: var(--muted); font: 500 11.5px/1.25 var(--font); text-align: left; cursor: pointer; }
.wc-rail-district i { width: 10px; height: 10px; border-radius: 3px; background: var(--hue); }
.wc-rail-district strong { color: var(--text); font: 700 11.5px/1 var(--font); letter-spacing: .08em; text-transform: uppercase; }
.wc-rail-district span, .wc-rail-district em { grid-column: 2; font-style: normal; font-variant-numeric: tabular-nums; }
.wc-rail-district em.is-late { color: var(--danger); }
.wc-rail-district:hover { background: var(--v2-hover, var(--desk-soft)); }
.wc-rail-row { width: 100%; display: grid; grid-template-columns: minmax(0, 1fr) auto auto; align-items: center; gap: 8px; min-height: 34px; padding: 5px 8px 5px 26px; border: 0; border-radius: 9px; background: transparent; color: var(--text); text-align: left; cursor: pointer; position: relative; }
.wc-rail-row::before { content: ""; position: absolute; left: 12px; top: 50%; width: 6px; height: 6px; border-radius: 2px; background: color-mix(in srgb, var(--hue) 70%, transparent); transform: translateY(-50%); }
.wc-rail-row.has-watch::before { border-radius: 50%; background: var(--accent); box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent) 22%, transparent); }
.wc-rail-name { min-width: 0; overflow: hidden; font: 600 12.5px/1.25 var(--font); white-space: nowrap; text-overflow: ellipsis; }
.wc-rail-name small { display: block; color: var(--muted); font: 500 11px/1.3 var(--font); }
.wc-rail-kg { color: var(--muted); font: 600 12px/1 var(--font); font-variant-numeric: tabular-nums; white-space: nowrap; }
.wc-rail-late { min-width: 18px; height: 18px; display: inline-grid; place-items: center; padding: 0 5px; border-radius: 999px; background: var(--danger); color: white; font: 700 10.5px/1 var(--font); font-variant-numeric: tabular-nums; }
.wc-rail-row:hover { background: var(--v2-hover, var(--desk-soft)); }
.wc-rail-row.is-on { background: color-mix(in srgb, var(--hue) 16%, var(--surface-solid)); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--hue) 45%, transparent); }
.wc-rail-row:focus-visible, .wc-rail-district:focus-visible { outline: 2px solid var(--accent); outline-offset: -2px; }
.wc-rail-empty { margin: 0; padding: 8px 10px; color: var(--muted); font: 500 12px/1.4 var(--font); }
.wc-rail-hint { margin: 0; padding: 8px var(--space-3, 12px); border-top: 1px solid var(--border); color: var(--muted); font: 500 11px/1.6 var(--font); }
.wc-rail-hint kbd { display: inline-block; min-width: 16px; padding: 0 4px; border: 1px solid var(--border); border-radius: 4px; background: var(--desk-soft, var(--surface-2)); font: 600 10.5px/15px var(--font); text-align: center; }
@media (max-width: 900px) {
  #watchCenterApp.is-full .wc-body.has-rail { grid-template-columns: minmax(0, 1fr); }
  #watchCenterApp.is-full .wc-rail { display: none; }
}

/* ── Siparişin yolculuğu (2026-10-20): çekmecenin solundaki ikinci pencere ──
   Hareket satırının imleç altı ipucunun yerini aldı. Çekmeceyle aynı kâğıt,
   aynı başlık; içerik Yolculuk · Kumaş · Sipariş sekmeleri. TASARIM-DILI §3.35. */
.wc-journey { --wc-jr-w: 340px; position: absolute; top: var(--space-3, 12px); bottom: var(--space-3, 12px); right: calc(var(--space-3, 12px) * 2 + min(392px, calc(100% - 24px))); z-index: 4; width: min(var(--wc-jr-w), calc(100% - 440px)); display: flex; flex-direction: column; gap: var(--space-3, 12px); padding: var(--space-4, 16px) var(--space-4, 16px) 0; border: 1px solid var(--border); border-radius: 16px; background: var(--surface-solid); box-shadow: 0 18px 44px rgba(15, 23, 42, .18); overflow: hidden; animation: wcJourneyIn .16s cubic-bezier(.2, .75, .25, 1); }
.wc-journey[hidden] { display: none; }
@keyframes wcJourneyIn { from { opacity: 0; transform: translateX(8px); } }
.wc-journey.is-narrow { right: var(--space-3, 12px); z-index: 5; width: min(392px, calc(100% - 24px)); }
.wc-journey.is-over { position: fixed; z-index: 61; bottom: auto; left: auto; width: var(--wc-jr-w); }
/* Büyütülmüş çekmecede sol sütunun (çizelge + hareketler) yerine oturur: ayrı bir kart
   değil, sütunun içeriği değişmiş gibi — çerçeve, köşe, gölge yok; çekmecenin kâğıdı,
   sütunun hizası. Kutu JS ile ölçülür (wcPlaceJourney). */
.wc-journey.is-in-col { position: fixed; z-index: 61; right: auto; bottom: auto; padding: 0 0 var(--space-4, 16px); border: 0; border-radius: 0; box-shadow: none; background: var(--surface-solid); overflow: clip; animation: wcJourneyColIn .16s ease-out; }
.wc-journey.is-in-col .wc-jr-foot { margin: 0; padding: var(--space-3, 12px) 0 0; }
@keyframes wcJourneyColIn { from { opacity: 0; } }
.wc-journey .wc-drawer-head h3 { font-size: 16px; }
.wc-journey .wc-icon-btn.is-on { color: var(--accent); background: color-mix(in srgb, var(--accent) 12%, transparent); }
.wc-jr-sub { margin: 3px 0 0; color: var(--muted); font: 500 12px/1.3 var(--font); }
.wc-jr-tabs { align-self: flex-start; }
.wc-jr-body { flex: 1 1 auto; min-height: 0; overflow-y: auto; overscroll-behavior: contain; display: flex; flex-direction: column; gap: var(--space-3, 12px); padding-bottom: var(--space-2, 8px); }
.wc-jr-foot { flex: 0 0 auto; display: flex; align-items: center; justify-content: space-between; gap: var(--space-2, 8px); margin: 0 calc(var(--space-4, 16px) * -1); padding: 10px var(--space-4, 16px); border-top: 1px solid var(--border); color: var(--muted); font: 500 11.5px/1.2 var(--font); }
.wc-jr-older { align-self: flex-start; }
.wc-jr-scope { display: flex; align-items: center; justify-content: space-between; gap: var(--space-2, 8px); min-height: 24px; color: var(--muted); font: 500 12px/1.3 var(--font); }
.wc-jr-scope .wc-text-btn { flex: 0 0 auto; }
.wc-jr-note { margin: 0; padding-left: 10px; border-left: 2px solid var(--border); color: var(--muted); font: 500 12px/1.4 var(--font); }
/* Zaman çizgisi: gün · nokta · aşama + firma · kilo */
.wc-jr-list { display: grid; margin: 0; padding: 0; list-style: none; }
.wc-jr-list li { position: relative; display: grid; grid-template-columns: 44px 14px minmax(0, 1fr) auto; gap: 8px; align-items: start; padding: 6px 6px 10px; border-radius: 8px; font-variant-numeric: tabular-nums; }
.wc-jr-list li::before { content: ""; position: absolute; left: 62px; top: 20px; bottom: -6px; width: 2px; background: var(--border); }
.wc-jr-list li:last-child::before { display: none; }
.wc-jr-list time { padding-top: 1px; color: var(--muted); font: 500 11.5px/1.2 var(--font); white-space: nowrap; }
.wc-jr-dot { position: relative; z-index: 1; width: 12px; height: 12px; margin-top: 2px; border: 2px solid var(--tone, var(--muted)); border-radius: 50%; background: var(--surface-solid); }
.wc-jr-list li > div { min-width: 0; display: grid; gap: 2px; }
.wc-jr-list b { font: 600 12.5px/1.25 var(--font); color: var(--text); }
.wc-jr-list small { overflow: hidden; color: var(--muted); font: 500 11.5px/1.3 var(--font); white-space: nowrap; text-overflow: ellipsis; }
.wc-jr-list em { padding-top: 1px; color: var(--text); font: 500 12px/1.2 var(--font); font-style: normal; white-space: nowrap; }
.wc-jr-list li.is-now { background: var(--v2-hover, var(--desk-soft)); }
.wc-jr-list li.is-link { cursor: pointer; }
.wc-jr-list li.is-link:hover, .wc-jr-list li.is-link:focus-visible { background: var(--v2-hover, var(--desk-soft)); outline: none; }
.wc-jr-list li.is-unsure { opacity: .55; }
.wc-jr-list li.is-now .wc-jr-dot { background: var(--tone); }
.wc-jr-list li.is-now b, .wc-jr-list li.is-now em { font-weight: 700; }
.wc-jr-list .wc-jr-names { color: var(--text); opacity: .78; }
.wc-jr-list li.is-next b, .wc-jr-list li.is-next em, .wc-jr-list li.is-next time { color: var(--muted); }
.wc-jr-list li.is-next .wc-jr-dot { border-style: dashed; }
/* Kumaş sekmesi */
.wc-jr-fabric { display: grid; gap: 6px; padding-bottom: var(--space-3, 12px); border-bottom: 1px solid var(--border); }
.wc-jr-fabric:last-child { border-bottom: 0; }
.wc-jr-fabric header { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; }
.wc-jr-fabric header b { min-width: 0; font: 650 13px/1.3 var(--font); }
.wc-jr-fabric.is-hit header b { color: var(--accent); }
.wc-jr-fabric-go { min-width: 0; padding: 0; border: 0; background: none; color: inherit; font: inherit; text-align: left; cursor: pointer; }
.wc-jr-fabric-go:hover b, .wc-jr-fabric-go:focus-visible b { text-decoration: underline; text-underline-offset: 3px; }
.wc-jr-fabric em, .wc-jr-fabric li em { color: var(--text); font: 500 12px/1.2 var(--font); font-style: normal; white-space: nowrap; font-variant-numeric: tabular-nums; }
.wc-jr-fabric p { margin: 0; color: var(--muted); font: 500 12px/1.3 var(--font); font-variant-numeric: tabular-nums; }
.wc-jr-fabric ul { display: grid; gap: 4px; margin: 0; padding: 0; list-style: none; }
.wc-jr-fabric li { display: flex; justify-content: space-between; gap: 8px; font: 500 12.5px/1.3 var(--font); }
.wc-jr-fabric li small { color: var(--muted); font-size: 11px; }
.wc-jr-fabric li.is-hit span, .wc-jr-fabric li.is-hit em { color: var(--accent); font-weight: 650; }
/* Sipariş sekmesi */
.wc-jr-kpis { grid-auto-columns: minmax(0, 1fr); }
.wc-jr-meta { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 6px 14px; margin: 0; font: 500 12.5px/1.35 var(--font); }
.wc-jr-meta dt { color: var(--muted); }
.wc-jr-meta dd { margin: 0; min-width: 0; overflow-wrap: anywhere; }
.wc-jr-meta .is-late { color: var(--danger); font-weight: 600; }
/* Hareket satırı: penceresi açık olan */
.wc-flow-list button.is-journey { background: var(--v2-hover, var(--desk-soft)); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--accent) 40%, transparent); }
.wc-flow-list button.is-journey.is-pinned { box-shadow: inset 0 0 0 1.5px color-mix(in srgb, var(--accent) 70%, transparent); }
/* İş kartı yolculuk penceresini açtığında: kenar vurgu rengine döner (takip izi korunur). */
.wc-job.is-journey { border-color: color-mix(in srgb, var(--accent) 55%, var(--border)); }
.wc-job.is-journey.is-pinned { border-color: var(--accent); box-shadow: 0 0 0 2px color-mix(in srgb, var(--accent) 24%, transparent); }
.wc-job.is-watched.is-journey.is-pinned { box-shadow: inset 3px 0 0 var(--watch-color, var(--accent)), 0 0 0 2px color-mix(in srgb, var(--accent) 24%, transparent); }
@media (prefers-reduced-motion: reduce) { .wc-journey, .wc-journey.is-in-col { animation: none; } }

/* ── İş kartı: iki çubuk + sıra kimde (2026-10-27, TASARIM-DILI §3.35a) ──
   Üst satır bizim gönderdiğimiz (iplik / ham): dolu = giden, taralı kırmızı =
   bizde eksik, açık sarı = henüz örgüde. Alt satır fasoncunun işlediği. */
.wc-job.has-supply { gap: 4px; padding: 8px 10px 9px; }
.wc-job-row { min-width: 0; display: flex; align-items: baseline; justify-content: space-between; gap: 6px; margin-top: 2px; color: var(--muted); font: 500 11px/1.15 var(--font); white-space: nowrap; }
.wc-job-row em { min-width: 0; overflow: hidden; text-overflow: ellipsis; color: var(--text); font-style: normal; font-weight: 600; font-variant-numeric: tabular-nums; }
.wc-job-row em.is-ours { color: var(--danger); }
.wc-job-row em.is-wait { color: var(--warning); }
.wc-job-bar.is-supply { display: flex; }
.wc-job-bar.is-supply i { width: auto; flex: none; border-radius: 0; background: var(--success); }
.wc-job-bar.is-supply u { display: block; flex: none; height: 100%; }
.wc-job-bar.is-supply u.is-ours { background: repeating-linear-gradient(135deg, var(--danger) 0 3px, color-mix(in srgb, var(--danger) 25%, transparent) 3px 6px); }
.wc-job-bar.is-supply u.is-wait { background: color-mix(in srgb, var(--warning-fill) 55%, transparent); }
.wc-job.is-late .wc-job-bar.is-supply i { background: var(--success); }
.wc-job-note { min-width: 0; overflow: hidden; margin-top: 1px; color: var(--danger); font: 500 10.5px/1.2 var(--font); white-space: nowrap; text-overflow: ellipsis; }
.wc-job-what { display: block; min-width: 0; overflow: hidden; margin-top: 2px; color: var(--muted); font: 500 10.5px/1.25 var(--font); white-space: nowrap; text-overflow: ellipsis; }
.wc-job.is-ours { border-color: color-mix(in srgb, var(--danger) 55%, var(--border)); }
.wc-job.is-ours:hover { border-color: var(--danger); }

/* Sıra bizde / Sıra fasoncuda süzgeci: §3.48 görünüm haplarının küçüğü. */
.wc-side-filter { display: flex; flex-wrap: wrap; gap: 6px; margin: 8px 0 2px; }
.wc-side-chip { display: inline-flex; align-items: center; gap: 6px; min-height: 28px; padding: 0 10px; border: 1px solid var(--border); border-radius: 999px; background: none; color: var(--muted); font: 550 12px/1 var(--font); cursor: pointer; white-space: nowrap; }
.wc-side-chip span { color: var(--muted); font-weight: 500; font-variant-numeric: tabular-nums; }
.wc-side-chip:hover { color: var(--text); border-color: color-mix(in srgb, var(--accent) 40%, var(--border)); }
.wc-side-chip.is-on { border-color: color-mix(in srgb, var(--accent) 45%, var(--border)); background: color-mix(in srgb, var(--accent) 9%, transparent); color: var(--accent); }
.wc-side-chip.is-on span { color: var(--accent); }
.wc-side-chip.has-ours:not(.is-on) span { color: var(--danger); font-weight: 650; }
.wc-side-chip.has-ours.is-on { border-color: color-mix(in srgb, var(--danger) 50%, var(--border)); background: color-mix(in srgb, var(--danger) 8%, transparent); color: var(--danger); }
.wc-side-chip.has-ours.is-on span { color: var(--danger); }
.wc-side-chip:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
/* İncelenecek (2026-10-28): iş sayılmayan, ERP'de kilo görünen kalemler — kesik çerçeve, sarı yalnız seçiliyken */
.wc-side-chip.is-review { border-style: dashed; margin-left: 6px; }
.wc-side-chip.is-review.is-on { border-color: color-mix(in srgb, var(--warning) 55%, var(--border)); background: color-mix(in srgb, var(--warning) 9%, transparent); color: var(--text); }
.wc-side-chip.is-review.is-on span { color: var(--text); }

/* ── Plan görünümü (v3 2026-10-27, TASARIM-DILI §3.35b) ──────────────────
   Üstte "Yapılacaklar" (kişinin kendi listesi), sonra Bizde | Fasoncuda hapları
   + dikkat hapları (termin geçti · yetişmeyecek · termin yok · kesin değil)
   + İşe göre | Firmaya göre + arama. Satır: no · müşteri/durum/etiket · yüzde
   şeridi · bekliyor · sıradaki adım · termin/tahmin · Yapıldı. Kırmızı YALNIZ
   geçen termindir; uzayan/yetişmeyecek iş sarı, kesin olmayan veri kesikli
   sarı etiket. */
.wc-view-tabs { flex: none; }
.wc-toolbar.is-plan .wc-stats { margin-left: 4px; }
#watchCenterApp {
  --wc-plan-wait: color-mix(in srgb, var(--text) 30%, var(--surface-solid));
  --wc-plan-raw: color-mix(in srgb, var(--warning) 34%, color-mix(in srgb, var(--text) 46%, var(--surface-solid)));
  /* Sevk edildi = iş bitti: hazırdan (açık yeşil) koyu yeşil; boş iz nötr (2026-10-28) */
  --wc-plan-shipped: color-mix(in srgb, var(--success) 58%, black);
  --wc-plan-track: color-mix(in srgb, var(--text) 9%, var(--surface-solid));
  --wc-plan-warn: var(--warning);
  --wc-plan-warn-soft: color-mix(in srgb, var(--warning) 11%, transparent);
  --wc-plan-row-h: 58px;
  /* Son sütun: 5 simge (28) + raptiye + Yapıldı/Geldi/Raporla düğmesi, 6px aralık.
     Dar Plan'da düğme yalnız simge kalır (yazısı ipucunda), sütun daralır. */
  --wc-plan-act-w: 268px;
}
.wc-plan { position: relative; display: grid; gap: 12px; min-height: 0; padding: 4px 0 24px; }
.wc-plan[hidden], #watchCenterApp .wc-body[hidden] { display: none; }
.wc-plan button { font-family: var(--font); }
.wc-plan svg { flex: none; width: 14px; height: 14px; stroke-width: 1.8; }

/* Yapılacaklar: listenin başına sabitlenen numaralı satırlar (2026-10-28) */
.wc-plan-group.is-today { background: color-mix(in srgb, var(--accent) 3.5%, transparent); }
.wc-plan-group.is-today h3 { padding-top: 16px; }
.wc-plan-group.is-today h3 .wc-plan-ghost { margin-left: auto; align-self: center; }
.wc-plan-ai-btn .wc-plan-ai-chev { width: 14px; height: 14px; margin: 0 -3px 0 -2px; opacity: .7; transition: transform .15s ease; }
.wc-plan-ai-btn[aria-expanded="true"] { color: var(--text); border-color: color-mix(in srgb, var(--accent) 40%, var(--border)); }
.wc-plan-ai-btn[aria-expanded="true"] .wc-plan-ai-chev { transform: rotate(180deg); }
/* Hazır soru listesi: sohbet ••• menüsünün aynısı, gövdeye sabit */
.order-modal-action-menu.wc-plan-ai-menu { position: fixed; z-index: 1600; top: auto; right: auto; width: min(320px, calc(100vw - 20px)); max-height: none; }
/* Görünürlük beklemeden açılır: ilk soru hemen odak alır (geçişte gizli öge odak almaz). */
.order-modal-action-menu.wc-plan-ai-menu.is-open { opacity: 1; visibility: visible; transform: none; pointer-events: auto; transition: opacity .15s ease, transform .15s ease; }
.wc-plan-ai-menu-head { padding: 6px 10px 6px; color: var(--muted); font: 600 11px/1.3 var(--font); }
.wc-plan-ai-menu .order-modal-menu-item { --row-color: var(--accent); }
.wc-plan-rank { display: grid; place-items: center; flex: none; width: 20px; height: 20px; border-radius: 50%; background: var(--accent); color: var(--on-accent); font: 700 11px/1 var(--font); font-variant-numeric: tabular-nums; cursor: help; }
.wc-plan-rank.is-late { background: var(--danger); }
.wc-plan-rank.is-risk, .wc-plan-rank.is-slow { background: var(--wc-plan-warn); }

/* Ortak sakin düğme */
.wc-plan-ghost { display: inline-flex; align-items: center; gap: 6px; min-height: 28px; padding: 0 10px; border: 1px solid var(--border); border-radius: 8px; background: none; color: var(--muted); font: 550 12px/1 var(--font); cursor: pointer; white-space: nowrap; }
.wc-plan-ghost:hover { color: var(--text); border-color: color-mix(in srgb, var(--accent) 40%, var(--border)); }
.wc-plan-ghost:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }

/* Baş satırı: taraf · dikkat · gruplama + arama */
.wc-plan-head { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px; }
.wc-plan-filters { margin: 0; flex: none; }
.wc-plan-flags { display: flex; flex-wrap: wrap; gap: 6px; margin-right: auto; }
.wc-plan-flag { display: inline-flex; align-items: center; gap: 5px; min-height: 28px; padding: 0 10px; border: 1px solid transparent; border-radius: 999px; background: none; color: var(--muted); font: 500 12px/1 var(--font); cursor: pointer; white-space: nowrap; }
.wc-plan-flag b { font-weight: 650; font-variant-numeric: tabular-nums; }
.wc-plan-flag svg { width: 13px; height: 13px; }
.wc-plan-flag:hover { border-color: var(--border); color: var(--text); }
.wc-plan-flag.is-danger { color: var(--danger); }
.wc-plan-flag.is-warning, .wc-plan-flag.is-doubt { color: var(--wc-plan-warn); }
.wc-plan-flag.is-doubt { border-style: dashed; border-color: color-mix(in srgb, var(--warning) 45%, transparent); }
.wc-plan-flag.is-on { border-color: currentColor; background: color-mix(in srgb, currentColor 9%, transparent); }
.wc-plan-flag:focus-visible, .wc-plan-row:focus-visible { outline: 2px solid var(--accent); outline-offset: -2px; }
.wc-plan-tools { display: flex; align-items: center; gap: 10px; flex: 0 1 auto; min-width: 0; }
.wc-plan-modes { flex: none; }
.wc-plan-search { flex: 0 1 250px; min-width: 160px; display: flex; align-items: center; gap: 8px; min-height: 36px; padding: 0 12px; border: 1px solid var(--border); border-radius: 10px; background: var(--surface-solid); color: var(--muted); }
.wc-plan-search:focus-within { border-color: var(--accent); }
.wc-plan-search svg { width: 15px; height: 15px; }
#watchCenterApp .wc-plan-search input { flex: 1; min-width: 0; height: 34px; min-height: 0; margin: 0; padding: 0; border: 0; border-radius: 0; background: none; box-shadow: none; color: var(--text); font: 500 13px/1 var(--font); }
#watchCenterApp .wc-plan-search input:focus { outline: none; border: 0; box-shadow: none; }
.wc-plan-legend { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 14px; color: var(--muted); font: 500 11.5px/1.2 var(--font); }
.wc-plan-legend span { display: inline-flex; align-items: center; gap: 5px; }
.wc-plan-legend i { width: 9px; height: 9px; border-radius: 2px; }
.wc-plan-note { margin-left: auto; font-style: italic; }

/* Liste */
.wc-plan-body { overflow: auto; border: 1px solid var(--border); border-radius: 14px; background: var(--surface-solid); }
.wc-plan-list { min-width: 1060px; padding: 0 0 6px; font: 500 13px/1.3 var(--font); font-variant-numeric: tabular-nums; }
.wc-plan-row { position: relative; display: grid; grid-template-columns: 100px minmax(0, 1.35fr) minmax(150px, .75fr) 74px minmax(0, 1fr) 118px var(--wc-plan-act-w); gap: 18px; align-items: center; min-height: var(--wc-plan-row-h); padding: 9px 16px; border-top: 1px solid var(--border); cursor: pointer; transition: background .12s; }
.wc-plan-row:hover { background: color-mix(in srgb, var(--accent) 4%, transparent); }
.wc-plan-row.is-cursor { background: color-mix(in srgb, var(--accent) 7%, transparent); }
.wc-plan-row.is-cursor::before { content: ''; position: absolute; left: 0; top: 8px; bottom: 8px; width: 3px; border-radius: 0 3px 3px 0; background: var(--accent); }
.wc-plan-row.is-picked { background: color-mix(in srgb, var(--accent) 9%, transparent); }
.wc-plan-row.is-head { position: sticky; top: 0; z-index: 2; min-height: 0; padding-block: 10px; border-top: 0; border-bottom: 1px solid var(--border); background: var(--surface-solid); color: var(--muted); font: 500 11.5px/1 var(--font); cursor: default; }
.wc-plan-row.is-head:hover { background: var(--surface-solid); }
.wc-plan-row.is-head span:nth-child(4), .wc-plan-row.is-head span:nth-child(6) { text-align: right; }
.wc-plan-group h3 { display: flex; align-items: baseline; gap: 8px; margin: 0; padding: 20px 16px 8px; color: var(--text); font: 650 13px/1.2 var(--font); }
.wc-plan-group h3 span { color: var(--muted); font-weight: 500; font-size: 12px; }
.wc-plan-group h3 + .wc-plan-row { border-top: 0; }
.wc-plan-group.is-review h3 small { color: var(--muted); font: 500 12px/1.2 var(--font); margin-left: auto; }
.wc-plan-review-firm { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.wc-plan-review-firm b { font: 600 13px/1.25 var(--font); color: var(--text); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.wc-plan-review-firm small { color: var(--muted); font: 500 12px/1.2 var(--font); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.wc-plan-review-kg { color: var(--muted); font: 500 12px/1.2 var(--font); }
.wc-plan-review-kg b { color: var(--text); font: 650 12px/1.2 var(--font); font-variant-numeric: tabular-nums; }
/* İnceleme kolaylığı (2026-10-28): tür simgesi, öneri etiketi, özet kutuları, kanıt yazısı */
.wc-review-ic { display: inline-flex; align-items: center; justify-content: center; flex: none; width: 24px; height: 24px; border-radius: 7px; background: color-mix(in srgb, var(--text) 7%, transparent); color: var(--muted); }
.wc-review-ic svg { width: 15px; height: 15px; stroke-width: 1.8; }
.wc-review-ic.is-warning { background: var(--wc-plan-warn-soft); color: var(--wc-plan-warn); }
.wc-review-ic.is-dye { background: color-mix(in srgb, var(--wc-dye) 14%, transparent); color: var(--wc-dye); }
.wc-plan-group.is-review h3 { align-items: center; }
.wc-plan-group.is-review h3 .wc-plan-ghost { margin-left: 8px; }
.wc-review-chip { display: inline-flex; align-items: center; min-height: 20px; padding: 0 7px; border-radius: 6px; font: 600 11px/1 var(--font); white-space: nowrap; }
.wc-review-chip.is-warning { background: var(--wc-plan-warn-soft); color: var(--wc-plan-warn); }
.wc-review-chip.is-muted { background: color-mix(in srgb, var(--text) 7%, transparent); color: var(--muted); }
.wc-review-evidence small { display: block; white-space: normal; line-height: 1.4; }
.wc-review-evidence small span b { color: var(--text); font-weight: 650; }
.wc-review-sums { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 12px; }
.wc-review-sum { display: inline-flex; align-items: center; gap: 10px; min-height: 48px; padding: 8px 14px 8px 10px; border: 1px solid var(--border); border-radius: 12px; background: var(--surface-solid); color: var(--text); font: inherit; text-align: left; cursor: pointer; transition: border-color .14s, background .14s; }
.wc-review-sum span { display: flex; flex-direction: column; gap: 2px; }
.wc-review-sum b { font: 650 16px/1.1 var(--font); font-variant-numeric: tabular-nums; }
.wc-review-sum small { color: var(--muted); font: 500 12px/1.2 var(--font); }
.wc-review-sum:hover { border-color: var(--border-strong, var(--border)); }
.wc-review-sum.is-on { border-color: color-mix(in srgb, var(--accent) 50%, var(--border)); background: color-mix(in srgb, var(--accent) 8%, var(--surface-solid)); }
.wc-review-sum:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }

.wc-plan-no { display: flex; align-items: center; gap: 8px; color: var(--text); font: 650 13px/1 var(--font); }
.wc-plan-pick { flex: none; width: 15px; height: 15px; padding: 0; border: 1.5px solid color-mix(in srgb, var(--text) 28%, transparent); border-radius: 4px; background: none; cursor: pointer; opacity: 0; transition: opacity .12s; }
.wc-plan-row:hover .wc-plan-pick, .wc-plan-row.is-cursor .wc-plan-pick, .wc-plan-pick.is-on, .wc-plan.has-picks .wc-plan-pick { opacity: 1; }
.wc-plan-pick.is-on { border-color: var(--accent); background: var(--accent) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3'%3E%3Cpath d='m5 12.5 4.2 4.2L19 7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/11px no-repeat; }

.wc-plan-who, .wc-plan-step { display: grid; gap: 3px; min-width: 0; }
.wc-plan-who > span, .wc-plan-who small, .wc-plan-step b, .wc-plan-step small { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.wc-plan-who > span { color: var(--text); }
.wc-plan-who small, .wc-plan-step small { color: var(--muted); font: 500 12px/1.3 var(--font); }
.wc-plan-who .is-stale { margin-left: 6px; color: var(--wc-plan-warn); font-style: normal; font-weight: 600; }
.wc-plan-step b { color: var(--text); font-weight: 600; }
.wc-plan-step { display: flex; align-items: center; gap: 10px; color: var(--muted); }
.wc-plan-step > span { display: grid; gap: 3px; min-width: 0; }
.wc-plan .wc-plan-step-ic { flex: none; width: 20px; height: 20px; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.wc-plan-step.is-ready { color: var(--success); }
.wc-plan-step.is-knit { color: var(--wc-knit); }
.wc-plan-step.is-dye { color: var(--wc-dye); }
.wc-plan-step.is-raw { color: var(--wc-plan-raw); }
.wc-plan-step.is-warn { color: var(--wc-plan-warn); }
.wc-plan-step.is-wait, .wc-plan-step.is-close { color: var(--muted); }
.wc-plan-tags { display: flex; flex-wrap: wrap; gap: 4px; margin-top: 2px; }
.wc-plan-tag { display: inline-flex; align-items: center; gap: 4px; height: 19px; padding: 0 7px; border: 1px solid transparent; border-radius: 6px; font: 600 11px/1 var(--font); white-space: nowrap; cursor: help; }
.wc-plan-tag svg { width: 11px; height: 11px; stroke-width: 2; }
.wc-plan-tag.is-doubt { border: 1px dashed color-mix(in srgb, var(--warning) 60%, transparent); background: var(--wc-plan-warn-soft); color: var(--wc-plan-warn); }
.wc-plan-tag.is-tail { border: 1px solid color-mix(in srgb, var(--warning) 45%, transparent); background: var(--wc-plan-warn-soft); color: var(--wc-plan-warn); }
.wc-plan-tag.is-sync { background: color-mix(in srgb, var(--accent) 10%, transparent); color: var(--accent); }
.wc-plan-tag:focus-visible { outline: 2px solid var(--accent); outline-offset: 1px; }

.wc-plan-bar { display: grid; gap: 6px; min-width: 0; }
.wc-plan-track { display: flex; gap: 1px; width: 100%; height: 7px; border-radius: 4px; overflow: hidden; background: var(--wc-plan-track); }
.wc-plan-track i { display: block; min-width: 2px; height: 100%; }
.wc-plan-bar small { display: flex; align-items: baseline; gap: 8px; color: var(--muted); font: 500 11.5px/1 var(--font); }
.wc-plan-bar small b { color: var(--text); font-weight: 600; }
.wc-plan-bar small em { font-style: normal; }

.wc-plan-wait { display: flex; justify-content: flex-end; min-width: 0; }
.wc-plan-since { display: grid; justify-items: end; gap: 3px; color: var(--muted); text-align: right; }
.wc-plan-since b { color: var(--text); font: 650 15px/1 var(--font); font-variant-numeric: tabular-nums; }
.wc-plan-since b i { color: var(--muted); font: 500 11px/1 var(--font); font-style: normal; }
.wc-plan-since small { font: 500 11px/1.1 var(--font); white-space: nowrap; }
.wc-plan-since.is-approx b { color: color-mix(in srgb, var(--text) 72%, var(--surface-solid)); }
.wc-plan-since.is-slow b, .wc-plan-since.is-slow b i { color: var(--wc-plan-warn); }
.wc-plan-since.is-stuck { padding: 4px 6px 5px; margin: -4px -6px -5px; border-radius: 8px; background: var(--wc-plan-warn-soft); }
.wc-plan-since.is-stuck b, .wc-plan-since.is-stuck b i, .wc-plan-since.is-stuck small { color: var(--wc-plan-warn); }
.wc-plan-since.is-none { color: var(--muted); }

.wc-plan-termin { display: grid; justify-items: end; gap: 4px; min-width: 0; color: var(--muted); font-size: 12px; text-align: right; white-space: nowrap; }
.wc-plan-termin b { color: var(--text); font: 600 12.5px/1.1 var(--font); }
.wc-plan-termin small { font: 500 11px/1.1 var(--font); }
.wc-plan-termin.is-late b { color: var(--danger); }
.wc-plan-eta.is-risk { color: var(--wc-plan-warn); font-weight: 650; }
.wc-plan-eta.is-tight { color: var(--wc-plan-warn); }
.wc-plan-add-termin { display: inline-flex; align-items: center; gap: 4px; height: 24px; padding: 0 9px 0 7px; border: 1px dashed color-mix(in srgb, var(--text) 26%, transparent); border-radius: 7px; background: none; color: var(--muted); font: 550 11.5px/1 var(--font); cursor: pointer; }
.wc-plan-add-termin svg { width: 12px; height: 12px; }
.wc-plan-add-termin:hover { border-color: var(--accent); color: var(--accent); }

.wc-plan-actions { display: flex; justify-content: flex-end; align-items: center; gap: 6px; }
/* Bugün listem (2026-10-28): raptiye satırı listeye ekler/çıkarır. Aynı kalıpta
   harita (is-map), Takip Kartları (is-watch) ve not (is-note) simgeleri. */
.wc-plan-pin, .wc-plan-ic { display: inline-grid; place-items: center; flex: none; width: 28px; height: 28px; padding: 0; border: 1px solid var(--border); border-radius: 8px; background: var(--surface-solid); color: var(--muted); cursor: pointer; opacity: 0; transition: opacity .12s, color .12s, border-color .12s; }
.wc-plan .wc-plan-pin svg, .wc-plan .wc-plan-ic svg { width: 15px; height: 15px; }
.wc-plan-row:hover :is(.wc-plan-pin, .wc-plan-ic), .wc-plan-row.is-cursor :is(.wc-plan-pin, .wc-plan-ic), .wc-plan-row:focus-within :is(.wc-plan-pin, .wc-plan-ic), :is(.wc-plan-pin, .wc-plan-ic):focus-visible { opacity: 1; }
.wc-plan-pin:hover, .wc-plan-ic:hover { border-color: var(--accent); color: var(--accent); }
.wc-plan-pin.is-on, .wc-plan-ic.is-on { opacity: 1; border-color: color-mix(in srgb, var(--accent) 45%, var(--border)); background: color-mix(in srgb, var(--accent) 10%, var(--surface-solid)); color: var(--accent); }
.wc-plan-pin.is-on svg, .wc-plan-ic.is-on svg { fill: currentColor; fill-opacity: .25; }
.wc-plan-ic.is-shown { opacity: 1; }
.wc-plan-pin:focus-visible, .wc-plan-ic:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
.wc-plan-group h3 .wc-plan-today-empty { display: inline-flex; align-items: center; gap: 5px; color: var(--muted); font: 500 12px/1.2 var(--font); }
.wc-plan-group h3 .wc-plan-today-empty svg { width: 14px; height: 14px; color: var(--accent); }
.wc-plan-today-empty kbd { padding: 1px 6px; border: 1px solid var(--border); border-radius: 5px; background: var(--surface-solid); font: 600 11px/1.3 var(--font); }
.wc-plan-group.is-today.is-empty h3 { padding-bottom: 14px; }
.wc-plan-group.is-today :is(.wc-plan-row, .wc-plan-today-stray)[draggable="true"] { cursor: grab; }
.wc-plan-group.is-today .is-dragging { opacity: .45; }
.wc-plan-group.is-today .is-drop-before { box-shadow: inset 0 2px 0 var(--accent); }
.wc-plan-group.is-today .is-drop-after { box-shadow: inset 0 -2px 0 var(--accent); }
.wc-plan-today-hint { color: var(--muted); font: 500 12px/1 var(--font); }
.wc-plan-pickbar .wc-plan-ghost.is-today { color: var(--accent); border-color: color-mix(in srgb, var(--accent) 40%, var(--border)); }
.wc-plan-today-stray { display: flex; align-items: center; gap: 10px; padding: 9px 16px; border-top: 1px solid var(--border); font: 500 12.5px/1.3 var(--font); }
.wc-plan-today-stray b { font-weight: 650; }
.wc-plan-today-stray span:not(.wc-plan-rank) { color: var(--text); overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.wc-plan-today-stray em { margin-right: auto; color: var(--wc-plan-warn); font-style: normal; font-weight: 600; }
.wc-plan-rank.is-muted { background: color-mix(in srgb, var(--text) 25%, var(--surface-solid)); }
.wc-plan-act { display: inline-flex; align-items: center; gap: 5px; height: 28px; padding: 0 10px; border: 1px solid var(--border); border-radius: 8px; background: var(--surface-solid); color: var(--muted); font: 550 12px/1 var(--font); cursor: pointer; white-space: nowrap; opacity: 0; transition: opacity .12s, color .12s, border-color .12s; }
.wc-plan-row:hover .wc-plan-act, .wc-plan-row.is-cursor .wc-plan-act, .wc-plan-row:focus-within .wc-plan-act { opacity: 1; }
.wc-plan-act:hover { border-color: var(--accent); color: var(--accent); }
/* Yapıldı / Geldi / Raporla aynı genişlikte: soldaki simgeler satırdan satıra kaymaz. */
.wc-plan-row:not(.is-review) .wc-plan-act { min-width: 88px; justify-content: center; }
.wc-plan-act:focus-visible { opacity: 1; outline: 2px solid var(--accent); outline-offset: 2px; }
@media (hover: none) { .wc-plan-act, .wc-plan-pick, .wc-plan-pin, .wc-plan-ic { opacity: 1; } }

.wc-plan-empty { padding: 24px 16px; }

/* Tek liste (2026-10-28): taraf ara başlığı, katlanan grup, kilonun yanında kesin değil */
.wc-plan-side-head { display: flex; align-items: baseline; gap: 10px; margin-top: 10px; padding: 18px 16px 2px; border-top: 1px solid var(--border); }
.wc-plan-side-head b { color: var(--muted); font: 700 11px/1 var(--font); letter-spacing: .07em; text-transform: uppercase; }
.wc-plan-side-head span { color: var(--muted); font: 500 12px/1 var(--font); }
.wc-plan-group h3 { flex-wrap: wrap; align-items: center; }
.wc-plan-group h3 em { padding: 3px 7px; border-radius: 6px; background: color-mix(in srgb, var(--text) 6%, transparent); color: var(--muted); font: 600 11.5px/1.1 var(--font); font-style: normal; white-space: nowrap; }
.wc-plan-group h3 em.is-late { background: color-mix(in srgb, var(--danger) 10%, transparent); color: var(--danger); }
.wc-plan-group h3 em.is-risk, .wc-plan-group h3 em.is-doubt { background: var(--wc-plan-warn-soft); color: var(--wc-plan-warn); }
.wc-plan-group h3 em.is-today { background: color-mix(in srgb, var(--accent) 10%, transparent); color: var(--accent); }
.wc-plan-fold { display: inline-flex; align-items: center; gap: 6px; margin: -4px 0 -4px -6px; padding: 4px 6px; border: 0; border-radius: 7px; background: none; color: inherit; font: inherit; cursor: pointer; }
.wc-plan-fold:hover { background: color-mix(in srgb, var(--text) 6%, transparent); }
.wc-plan-fold:focus-visible { outline: 2px solid var(--accent); outline-offset: 1px; }
.wc-plan .wc-plan-chev { width: 14px; height: 14px; stroke-width: 2.2; color: var(--muted); transition: transform .15s; }
.wc-plan-fold[aria-expanded="false"] .wc-plan-chev { transform: rotate(-90deg); }
.wc-plan-group.is-shut h3 { padding-bottom: 14px; }
.wc-plan-row.is-same-cust { border-top-color: color-mix(in srgb, var(--border) 35%, transparent); }
.wc-plan-cust { display: flex; align-items: center; gap: 6px; min-width: 0; color: var(--text); }
.wc-plan-cust > span { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.wc-plan-cust .wc-plan-tag { flex: none; height: 17px; padding: 0 5px; font-size: 10.5px; }
.wc-plan-cap { display: flex; align-items: center; gap: 6px; min-width: 0; }
.wc-plan-tag.is-mini { justify-content: center; width: 18px; height: 16px; padding: 0; }

/* Araç satırı: taraf seçimi tek parça düğme grubu (taslak A), Dikkat menüsü ve renk anahtarı açılır kutuda */
.wc-plan-filters { gap: 2px; padding: 3px; border-radius: 11px; background: color-mix(in srgb, var(--text) 7%, transparent); }
.wc-plan-filters .wc-side-chip, .wc-plan-filters .wc-side-chip.is-review { min-height: 30px; margin: 0; padding: 0 12px; border: 0; border-radius: 9px; color: var(--muted); font-size: 12.5px; }
.wc-plan-filters .wc-side-chip:hover { color: var(--text); background: color-mix(in srgb, var(--surface-solid) 55%, transparent); }
.wc-plan-filters .wc-side-chip.is-on, .wc-plan-filters .wc-side-chip.is-review.is-on { background: var(--surface-solid); color: var(--text); font-weight: 650; box-shadow: 0 1px 2px rgb(0 0 0 / .1); }
.wc-plan-filters .wc-side-chip.is-on span { color: var(--muted); }
.wc-side-chip em { padding: 2px 6px; border-radius: 6px; font: 650 11px/1 var(--font); font-style: normal; }
.wc-side-chip em.is-late { background: color-mix(in srgb, var(--danger) 10%, transparent); color: var(--danger); }
.wc-side-chip em.is-risk { background: var(--wc-plan-warn-soft); color: var(--wc-plan-warn); }
.wc-plan-flags { align-items: center; }
.wc-plan-attn, .wc-plan-key { position: relative; }
.wc-plan-attn > summary, .wc-plan-key > summary { display: inline-flex; align-items: center; gap: 6px; min-height: 28px; padding: 0 10px; border: 1px solid var(--border); border-radius: 999px; color: var(--muted); font: 550 12px/1 var(--font); cursor: pointer; list-style: none; white-space: nowrap; }
.wc-plan-attn > summary::-webkit-details-marker, .wc-plan-key > summary::-webkit-details-marker, .wc-plan-tally > summary::-webkit-details-marker { display: none; }
.wc-plan-attn > summary:hover, .wc-plan-key > summary:hover, .wc-plan-attn[open] > summary { color: var(--text); border-color: color-mix(in srgb, var(--accent) 40%, var(--border)); }
.wc-plan-attn > summary:focus-visible, .wc-plan-key > summary:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
.wc-plan-attn > summary b { padding: 2px 6px; border-radius: 6px; font: 650 11px/1 var(--font); }
.wc-plan-attn > summary b.is-late { background: color-mix(in srgb, var(--danger) 10%, transparent); color: var(--danger); }
.wc-plan-attn > summary b.is-risk { background: var(--wc-plan-warn-soft); color: var(--wc-plan-warn); }
.wc-plan-attn[open] .wc-plan-chev { transform: rotate(180deg); }
.wc-plan-attn-menu, .wc-plan-key .wc-plan-legend { position: absolute; top: calc(100% + 6px); z-index: 6; display: grid; gap: 4px; min-width: 200px; padding: 8px; border: 1px solid var(--border); border-radius: 12px; background: var(--surface-solid); box-shadow: 0 12px 32px -14px rgb(0 0 0 / .35); }
.wc-plan-attn-menu { left: 0; }
.wc-plan-attn-menu .wc-plan-flag { justify-content: flex-start; border-radius: 8px; }
.wc-plan-flag.is-clear span { margin-left: 2px; font-size: 14px; line-height: 1; }
.wc-plan-key > summary { gap: 3px; }
.wc-plan-key > summary i { width: 7px; height: 7px; border-radius: 2px; }
.wc-plan-key .wc-plan-legend { right: 0; gap: 8px; min-width: 160px; padding: 12px 14px; }

/* Sayım satırı: açık siparişlerin hepsi bir listede mi */
.wc-plan-tally { border: 1px solid color-mix(in srgb, var(--success) 25%, var(--border)); border-radius: 12px; background: color-mix(in srgb, var(--success) 7%, var(--surface-solid)); color: var(--text); font: 500 12.5px/1.35 var(--font); font-variant-numeric: tabular-nums; }
.wc-plan-tally > summary, div.wc-plan-tally { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 12px; padding: 11px 16px; }
.wc-plan-tally > summary { cursor: pointer; list-style: none; }
.wc-plan-tally strong { color: var(--success); font-weight: 650; }
.wc-plan-tally svg { width: 16px; height: 16px; color: var(--success); stroke-width: 2.2; }
.wc-plan-tally > summary .wc-plan-chev { margin-left: auto; color: var(--muted); stroke-width: 2; }
.wc-plan-tally[open] > summary .wc-plan-chev { transform: rotate(180deg); }
.wc-plan-tally.is-gap { border-color: color-mix(in srgb, var(--danger) 35%, var(--border)); background: color-mix(in srgb, var(--danger) 6%, var(--surface-solid)); }
.wc-plan-tally.is-gap strong, .wc-plan-tally.is-gap > summary > svg:first-child { color: var(--danger); }
.wc-plan-tally ul { display: grid; gap: 2px; margin: 0; padding: 0 8px 10px; list-style: none; }
.wc-plan-tally li button { display: grid; grid-template-columns: 70px minmax(0, 1fr) auto; gap: 12px; align-items: center; width: 100%; padding: 7px 8px; border: 0; border-radius: 8px; background: none; color: var(--text); font: 500 12.5px/1.2 var(--font); text-align: left; cursor: pointer; }
.wc-plan-tally li button:hover { background: color-mix(in srgb, var(--text) 5%, transparent); }
.wc-plan-tally li button:focus-visible { outline: 2px solid var(--accent); outline-offset: -2px; }
.wc-plan-tally li span { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.wc-plan-tally li em { color: var(--muted); font-style: normal; }

/* Firmaya göre */
.wc-plan-firm { border-top: 1px solid var(--border); }
.wc-plan-firm:first-of-type { border-top: 0; }
.wc-plan-firm > header { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 18px 16px 8px; }
.wc-plan-firm h3 { margin: 0; color: var(--text); font: 650 14px/1.2 var(--font); }
.wc-plan-firm.is-none h3 { color: var(--wc-plan-warn); }
.wc-plan-firm header p { margin: 3px 0 0; color: var(--muted); font: 500 12px/1.3 var(--font); }
.wc-plan-firm-flags { display: flex; align-items: center; gap: 8px; }
.wc-plan-firm-flags > span { padding: 3px 8px; border-radius: 6px; font: 600 11.5px/1.1 var(--font); }
.wc-plan-firm-flags .is-late { background: color-mix(in srgb, var(--danger) 10%, transparent); color: var(--danger); }
.wc-plan-firm-flags .is-slow { background: var(--wc-plan-warn-soft); color: var(--wc-plan-warn); }
.wc-plan-firm-flags > em.is-today { padding: 3px 8px; border-radius: 6px; background: color-mix(in srgb, var(--accent) 10%, transparent); color: var(--accent); font: 600 11.5px/1.1 var(--font); font-style: normal; white-space: nowrap; }
.wc-plan-firm .wc-plan-row { border-top: 1px solid color-mix(in srgb, var(--border) 70%, transparent); }
.wc-plan-firm > header + .wc-plan-row { border-top: 0; }

/* Seçim çubuğu */
.wc-plan-pickbar { position: sticky; bottom: 16px; z-index: 3; justify-self: center; display: inline-flex; align-items: center; gap: 8px; padding: 7px 8px 7px 16px; border: 1px solid var(--border); border-radius: 12px; background: var(--surface-solid); box-shadow: 0 10px 30px -12px rgb(0 0 0 / .35); color: var(--text); font: 600 13px/1 var(--font); }
.wc-plan-pickbar b { margin-right: 6px; font-weight: 650; }

/* ── Semt panosu (2026-10-27): bizde bekleyenler + firma sütunları ────── */
.wc-drawer.is-board { width: min(1280px, calc(100% - 32px)); }
.wc-board { display: grid; grid-template-columns: repeat(auto-fill, minmax(232px, 1fr)); gap: 12px; align-items: start; margin-top: 12px; }
.wc-board-col { min-width: 0; display: grid; gap: 8px; padding: 10px; border: 1px solid var(--border); border-radius: 12px; background: color-mix(in srgb, var(--surface-solid) 70%, transparent); }
.wc-board-col.is-ours { border-color: color-mix(in srgb, var(--danger) 40%, var(--border)); background: color-mix(in srgb, var(--danger) 5%, var(--surface-solid)); }
.wc-board-col > header { display: grid; gap: 2px; min-width: 0; }
.wc-board-col > header strong, .wc-board-firm { overflow: hidden; color: var(--text); font: 650 13px/1.2 var(--font); white-space: nowrap; text-overflow: ellipsis; text-align: left; }
.wc-board-col.is-ours > header strong { color: var(--danger); }
.wc-board-firm { padding: 0; border: 0; background: none; cursor: pointer; }
.wc-board-firm:hover { color: var(--accent); }
.wc-board-firm:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; border-radius: 4px; }
.wc-board-col > header span { color: var(--muted); font: 500 11.5px/1.2 var(--font); }
.wc-board-col > header .is-late { color: var(--danger); font-style: normal; }
.wc-board-stack { display: grid; gap: 6px; }
.wc-board-ours-card { min-width: 0; display: grid; gap: 3px; padding: 7px 9px 8px; border: 1px solid color-mix(in srgb, var(--danger) 30%, var(--border)); border-radius: 10px; background: var(--surface-solid); color: var(--text); text-align: left; cursor: pointer; }
.wc-board-ours-card:hover { border-color: var(--danger); }
.wc-board-ours-card:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
.wc-board-ours-card b { font: 650 13px/1.1 var(--font); }
.wc-board-ours-card em { color: var(--danger); font: 650 11.5px/1 var(--font); font-style: normal; }
.wc-board-ours-note { color: var(--danger); font: 500 11px/1.2 var(--font); }
.wc-board-col .wc-firm-list { margin: 0; }
.wc-board-more { justify-self: start; }

/* Satır detayı (2026-10-28 v2, "A + C ince panel"): ok simgesi satırın altını
   açar. Satırı tekrar etmez: kutusuz üç sütun — Son hareketler · Sıradaki adım
   için · Satırda olmayan. Sütunlar ince çizgiyle ayrılır, boş sütun çizilmez. */
.wc-plan-ic.is-more svg { transition: transform .16s ease; }
.wc-plan-ic.is-more.is-on { opacity: 1; }
.wc-plan-ic.is-more.is-on svg { transform: rotate(180deg); fill: none; }
.wc-plan-row.is-open { background: color-mix(in srgb, var(--accent) 5%, transparent); }
.wc-plan-detail { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); grid-template-columns: minmax(0, 1.15fr); padding: 6px 16px 14px 134px; background: color-mix(in srgb, var(--accent) 5%, transparent); cursor: default; animation: wcPdIn .16s ease-out; font: 500 12.5px/1.45 var(--font); color: var(--text); }
@keyframes wcPdIn { from { opacity: 0; transform: translateY(-4px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { .wc-plan-detail { animation: none; } .wc-plan-ic.is-more svg { transition: none; } }
.wc-pd-col { display: flex; flex-direction: column; gap: 6px; min-width: 0; padding: 0 22px; border-left: 1px solid var(--border); }
.wc-pd-col:first-child { padding-left: 0; border-left: 0; }
.wc-pd-col:last-child { padding-right: 0; }
.wc-pd-h { color: var(--muted); font: 600 10.5px/1.2 var(--font); letter-spacing: .05em; text-transform: uppercase; margin-bottom: 1px; }
.wc-pd-move { display: grid; grid-template-columns: 48px minmax(0, 1fr) auto; gap: 10px; align-items: baseline; }
.wc-pd-move small, .wc-pd-line small, .wc-pd-fab small { color: var(--muted); font: 500 11.5px/1.35 var(--font); }
.wc-pd-move span { min-width: 0; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.wc-pd-move i { display: inline-block; width: 7px; height: 7px; border-radius: 50%; margin-right: 7px; vertical-align: 1px; }
.wc-pd-move em, .wc-pd-line em.is-warn, .wc-pd-line.is-warn span { color: var(--wc-plan-warn); font-style: normal; }
.wc-pd-move b { font-weight: 650; font-variant-numeric: tabular-nums; }
.wc-pd-empty { color: var(--muted); }
.wc-pd-link, .wc-pd-note { align-self: flex-start; max-width: 100%; padding: 0; border: 0; background: none; color: var(--accent); font: 500 12.5px/1.45 var(--font); text-align: left; cursor: pointer; }
.wc-pd-link:hover { text-decoration: underline; }
.wc-pd-link b { font-weight: 650; }
.wc-pd-line .wc-pd-link + .wc-pd-link { margin-left: 10px; }
.wc-pd-note { color: var(--text); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.wc-pd-note:hover { color: var(--accent); }
.wc-pd-line { display: grid; gap: 0; min-width: 0; }
.wc-pd-line b { font-weight: 650; }
.wc-pd-firm { display: block; }
.wc-pd-fabrics { display: grid; gap: 3px; }
.wc-pd-fab { display: grid; grid-template-columns: minmax(0, 1fr) auto; column-gap: 10px; align-items: baseline; }
.wc-pd-fab span { min-width: 0; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.wc-pd-fab b { font-weight: 650; text-align: right; }
.wc-pd-fab small { grid-column: 2; text-align: right; }
.wc-pd-fab.is-done b { color: var(--success); }
.wc-pd-fab.is-ours small { color: var(--wc-plan-warn); }

/* Satır simgeleri her genişlikte sığar (2026-10-28): Plan 1240px'ten darsa
   Yapıldı/Geldi/Raporla yalnız simge olur (ipucu ve aria-label aynı kalır). */
.wc-plan { container: wcplan / inline-size; }
@container wcplan (max-width: 1240px) {
  .wc-plan-row { --wc-plan-act-w: 202px; }
  .wc-plan-row:not(.is-review) .wc-plan-act-label { display: none; }
  .wc-plan-row:not(.is-review) .wc-plan-act { width: 28px; min-width: 28px; padding: 0; justify-content: center; }
}

/* ── assets/styles/tickets-refined.css ── */
/* Calm ticket workspace: shared palette with the dashboard and watchlist. */
#page-tickets,
#ticketModal {
  --ticket-workspace-line:var(--desk-line);
  --ticket-workspace-blue:#1683f8;
  --surface-solid:var(--desk-paper);
  --ticket-selected:color-mix(in srgb,var(--ticket-workspace-blue) 9%,var(--desk-paper));
}
#page-tickets .new-ticket-cta { border-radius:12px; background:var(--ticket-workspace-blue); box-shadow:none; }
#page-tickets .ticket-workspace-controls {
  padding:10px; margin-bottom:16px; border-color:var(--desk-line); border-radius:16px;
  background:var(--desk-paper); box-shadow:none;
}
#page-tickets .ticket-empty-action { min-height:38px; margin-top:14px; padding:8px 14px; border:1px solid var(--desk-line); border-radius:9px; background:var(--desk-paper); color:var(--accent); font-family:inherit; font-size:12px; font-weight:650; cursor:pointer; }
#page-tickets .ticket-empty-action:hover { border-color:var(--accent); background:var(--accent-soft); }
#page-tickets .ticket-empty-action:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
#page-tickets .ticket-workspace-toolbar { gap:12px; grid-template-columns:auto minmax(220px,1fr) auto auto; }
/* Başlık bandı kalktı: "Ticket Aç" araç çubuğunun sağ ucunda yaşıyor. */
#page-tickets .ticket-workspace-toolbar .new-ticket-cta { min-height:38px; padding:0 14px; font-size:12.5px; gap:7px; }
#page-tickets .ticket-workspace-toolbar .new-ticket-cta svg { width:17px; height:17px; }
#page-tickets .ticket-tabs { background:var(--desk-soft); border-color:var(--desk-line); box-shadow:none; }
#page-tickets .ticket-tab { color:var(--desk-muted); font-size:12px; font-weight:650; }
#page-tickets .ticket-tab.active { color:var(--desk-ink); background:var(--desk-paper); box-shadow:0 2px 5px rgba(28,44,68,.06); }
#page-tickets .ticket-workspace-search .search-input {
  min-height:42px; font-size:13px; color:var(--desk-ink); background:var(--desk-soft)!important;
  border-color:transparent; box-shadow:none;
}
#page-tickets .ticket-workspace-search kbd { font-size:10px; }
#page-tickets .ticket-workspace-filter-toggle {
  min-height:42px; font-size:12px; color:var(--desk-ink); background:var(--desk-paper)!important;
}
#page-tickets .ticket-workspace-filter-toggle[aria-expanded="true"] { background:var(--ticket-selected)!important; color:var(--ticket-workspace-blue); }
#page-tickets #ticketWorkspaceFilterCount[hidden] { display:none; }
#page-tickets .ticket-workspace-filter-shelf :is(select,.ticket-filter-reset) { font-size:12px!important; background:var(--desk-soft)!important; color:var(--desk-ink); }
#page-tickets .ticket-workspace {
  height:clamp(500px,calc(100dvh - 200px),1040px); border-color:var(--desk-line);
  border-radius:20px; background:var(--desk-paper); box-shadow:var(--shadow);
}
#page-tickets .ticket-workspace-body { grid-template-columns:200px minmax(300px,.95fr) minmax(360px,1.2fr); }
:is(#page-tickets,#ticketModal) .ticket-inline-composer:not(.is-chat) { padding:16px 20px; background:var(--desk-soft); box-shadow:none; }
:is(#page-tickets,#ticketModal,.tkmini) .ticket-inline-composer.is-chat { background:var(--desk-soft); box-shadow:none; }
:is(#page-tickets,#ticketModal) .ticket-inline-composer:not(.is-chat) textarea { min-height:76px; border-radius:12px; background:var(--desk-paper)!important; font-family:inherit; font-size:13px; }
:is(#page-tickets,#ticketModal,.tkmini) .ticket-inline-composer.is-chat textarea { background:transparent!important; font-family:inherit; font-size:13px; }
:is(#page-tickets,#ticketModal) .ticket-inline-composer:not(.is-chat)>div>button { min-height:36px; border-radius:10px; padding:0 14px; font-family:inherit; font-size:12px; }
:is(#page-tickets,#ticketModal) .ticket-inline-composer:not(.is-chat).is-sending textarea { cursor:wait; opacity:.7; }
:is(#page-tickets,#ticketModal) .ticket-inline-composer:not(.is-chat) .ticket-reply-submit.is-sending { min-width:112px; cursor:wait; opacity:.82; }
:is(#page-tickets,#ticketModal) .ticket-inline-composer .ticket-reply-submit:disabled { cursor:not-allowed; }
@media(max-width:1100px) {
  #page-tickets .ticket-workspace-body { grid-template-columns:minmax(280px,.85fr) minmax(0,1fr); }
  #page-tickets .ticket-folder-pane { display:none; }
}
/* Dar ekranda araç çubuğu 2 sütuna düşer (sekmeler | filtre, altında arama);
   "Ticket Aç" kendi satırında tam genişlikte durur. */
@media(max-width:720px) {
  #page-tickets .ticket-workspace-controls { padding:8px; margin-bottom:12px; }
  #page-tickets .ticket-workspace-toolbar { gap:8px; }
  #page-tickets .ticket-workspace-toolbar .new-ticket-cta { grid-column:1/-1; grid-row:3; justify-content:center; }
  #page-tickets .ticket-workspace { height:calc(100dvh - 245px); min-height:500px; border-radius:16px; }
  #page-tickets .ticket-workspace-body { grid-template-columns:minmax(0,1fr); }
  #page-tickets .ticket-file-row { padding:15px 12px; }
  #page-tickets .ticket-inspector-head { padding:14px; gap:8px; }
  #page-tickets .ticket-inspector-title { flex-basis:140px; }
  #page-tickets .ticket-inspector-scroll { padding:16px; }
  #page-tickets .ticket-inline-composer { padding:12px; }
  #page-tickets :is(.ticket-inspector-actions>button,.ticket-inspector-actions .ticket-more-btn,.ticket-inspector-back) { min-height:40px; height:40px; width:40px; min-width:40px; }
}

/* ── Tam ticket penceresi: sayfa panelinin dili, pencereye göre oranlar ──
   Pencere içeriği kadar yüksektir; kısa bir tickette dev boşluk kalmaz.
   Kapsam `.is-full` ile yazılır; app-theme'deki eski oran bloğunu yener.    */
#ticketModal .ticket-detail-modal {
  width:min(660px,calc(100vw - 32px));
  height:auto;
  max-height:min(760px,calc(100dvh - 40px));
  border:1px solid var(--desk-line);
  border-radius:22px;
  background:var(--desk-paper);
  box-shadow:0 28px 70px rgba(28,44,68,.2);
}
#ticketModal .ticket-detail-modal::before { display:none; }
#ticketModal .ticket-workspace-inspector.is-full { background:var(--desk-paper); }

#ticketModal .ticket-workspace-inspector.is-full .ticket-inspector-head {
  min-height:0;
  padding:15px 16px 13px 20px;
  gap:10px;
}
#ticketModal .ticket-inspector-title { flex:1 1 auto; gap:3px; }
#ticketModal .ticket-inspector-title>strong { font-size:16px; }
#ticketModal .ticket-inspector-head .ticket-order-customer {
  margin-left:6px; color:var(--desk-muted); font-size:11px; font-weight:550;
}
#ticketModal :is(.ticket-inspector-actions>button,.ticket-inspector-actions .ticket-more-btn) {
  width:32px; min-width:32px; height:32px; min-height:32px;
  border-radius:9px; color:var(--desk-muted); background:var(--desk-paper)!important;
}
#ticketModal .ticket-workspace-inspector.is-full .ticket-inspector-scroll { padding:16px 20px 18px; }

/* Durum ve öncelik: iki büyük kutu değil, tek satır sessiz rozet */
#ticketModal .ticket-inspector-meta { display:flex; flex-wrap:wrap; }
#ticketModal .ticket-workspace-inspector.is-full .ticket-inspector-meta { gap:8px; }
#ticketModal .ticket-workspace-inspector.is-full .ticket-inspector-meta>button {
  min-height:34px; padding:0 13px; border-radius:999px;
}
#ticketModal .ticket-inspector-meta>button {
  border:1px solid var(--desk-line); background:var(--desk-paper);
}
#ticketModal .ticket-inspector-meta>button:hover { background:var(--desk-soft); }
#ticketModal .ticket-inspector-meta span { font-size:10px; letter-spacing:.06em; }
#ticketModal .ticket-inspector-meta strong { font-size:12px; }

/* Bağlam: tam genişlik renkli panel değil, başlık altı sessiz bir satır.
   Varsayılan "tüm sipariş" durumunda alt açıklama tekrar olduğu için gizlenir. */
#ticketModal .ticket-inspector-topline {
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:8px;
}
#ticketModal .ticket-inspector-topline .ticket-inspector-meta { flex:0 0 auto; }
#ticketModal .tk-scope-panel {
  display:flex;
  align-items:center;
  flex:0 1 330px;
  min-width:180px;
  padding:0;
  margin:0;
  border:0;
  border-radius:0;
  background:none;
}
/* Kumaş seçici açıldığında bağlam satırı tam genişliğe iner. */
#ticketModal .ticket-inspector-topline .tk-scope-panel:has(.tk-scope-editor) { flex:1 1 100%; display:block; }
#ticketModal .tk-scope-panel-label { display:none; }
/* Bağlam de durum/öncelikle aynı rozet dilinde: aynı çerçeve, aynı yükseklik */
#ticketModal .tk-scope-target {
  justify-self:start;
  width:100%;
  max-width:330px;
  min-height:34px;
  gap:8px;
  padding:0 13px;
  border:1px solid var(--desk-line);
  border-radius:999px;
  background:var(--desk-paper);
}
#ticketModal .tk-scope-target.is-editable:hover { border-color:var(--desk-line); background:var(--desk-soft); }
#ticketModal .tk-scope-target>i {
  width:auto; height:auto; border-radius:0;
  color:var(--desk-muted); background:transparent; font-size:11px;
}
#ticketModal .tk-scope-target.is-specific>i { color:var(--ticket-workspace-blue); background:transparent; }
#ticketModal .tk-scope-target>span { min-width:0; }
#ticketModal .tk-scope-target strong { font-size:12px; font-weight:650; }

#ticketModal .tk-scope-target>b { margin-left:4px; color:var(--desk-muted); font-size:10px; font-weight:700; }
#ticketModal .tk-scope-target.is-editable:hover>b { color:var(--ticket-workspace-blue); }

#ticketModal .tk-scope-order-link { font-size:11px; padding:6px 9px; border-radius:9px; }

#ticketModal .ticket-activity-head { margin:20px 0 12px; }
#ticketModal .ticket-workspace-inspector.is-full .ticket-activity-item { padding-bottom:18px; }
/* Tam görünüm de sayfadaki kısa, tek satırlı gönderim şeridini kullanır. */
#ticketModal .ticket-workspace-inspector.is-full .ticket-inline-composer.is-chat { padding:12px 14px 14px; }
#ticketModal .ticket-workspace-inspector.is-full .ticket-inline-composer.is-chat textarea { min-height:34px; height:34px; }

html[data-theme="dark"] #ticketModal .tk-scope-target {
  border-color:var(--desk-line);
  background:var(--desk-paper);
}
html[data-theme="dark"] #ticketModal .tk-scope-target>b { color:var(--desk-muted); }
html[data-theme="dark"] #ticketModal .ticket-detail-modal {
  border-color:var(--desk-line);
  background:var(--desk-paper);
  box-shadow:0 28px 70px rgba(0,0,0,.46);
}

@media(max-width:720px) {
  #ticketModal .ticket-detail-modal { width:calc(100vw - 20px); max-height:calc(100dvh - 24px); border-radius:18px; }
  #ticketModal .ticket-workspace-inspector.is-full .ticket-inspector-head { padding:12px 12px 11px 14px; gap:8px; flex-wrap:nowrap; }
  #ticketModal .ticket-inspector-actions { gap:3px; }
  #ticketModal .ticket-workspace-inspector.is-full .ticket-inspector-scroll { padding:14px; }
  #ticketModal .ticket-workspace-inspector.is-full .ticket-inline-composer { padding:12px 14px; }
  #ticketModal :is(.ticket-inspector-actions>button,.ticket-inspector-actions .ticket-more-btn) {
    width:34px; min-width:34px; height:34px; min-height:34px;
  }
  #ticketModal .tk-scope-panel { grid-template-columns:minmax(0,1fr); gap:8px; }
}

/* Satır işlemleri: yalnız kendi (veya adminse her) yanıtta çıkar */
:is(#page-tickets,#ticketModal,#recentTickets) .ticket-activity-actions {
  display:inline-flex;
  align-items:center;
  gap:2px;
  margin-left:6px;
  opacity:0;
  transition:opacity .14s ease;
}
:is(#page-tickets,#ticketModal,#recentTickets) .ticket-activity-item:hover .ticket-activity-actions,
:is(#page-tickets,#ticketModal,#recentTickets) .ticket-activity-actions:focus-within { opacity:1 }
/* Onay akışı: başparmak ve saat, diğer yanıt eylemleriyle aynı şeritte belirir.
   Onay basıldığında tek seferlik küçük bir sıçrama — kutlama değil, geri bildirim. */
:is(#page-tickets,#ticketModal,#recentTickets) .ticket-activity-actions>.is-approve:hover { color:#1683f8 }
:is(#page-tickets,#ticketModal,#recentTickets) .ticket-activity-actions>.is-await:hover { color:#c07f2a }
:is(#page-tickets,#ticketModal,#recentTickets) .ticket-activity-actions>.is-waiting { color:#c07f2a; opacity:1 }
/* İstek gönderildiyse simge, imleç uzaktayken de görünür kalsın: durum bilgisi. */
:is(#page-tickets,#ticketModal,#recentTickets) .ticket-activity-item .ticket-activity-actions:has(.is-waiting) { opacity:1 }
:is(#page-tickets,#ticketModal,#recentTickets) .ticket-activity-actions>.is-approve.is-approving {
  color:#1683f8;
  animation:ticketApprovePop .34s cubic-bezier(.2,.9,.25,1.2);
}
@keyframes ticketApprovePop {
  0% { transform:scale(1) }
  45% { transform:scale(1.28) translateY(-2px) }
  100% { transform:scale(1) }
}
@media (prefers-reduced-motion:reduce) {
  :is(#page-tickets,#ticketModal,#recentTickets) .ticket-activity-actions>.is-approve.is-approving { animation:none }
}
:is(#page-tickets,#ticketModal,#recentTickets) .ticket-activity-actions>button {
  width:24px;
  height:24px;
  display:grid;
  place-items:center;
  padding:0;
  border:1px solid transparent;
  border-radius:7px;
  color:var(--desk-muted);
  background:transparent;
  cursor:pointer;
}
:is(#page-tickets,#ticketModal,#recentTickets) .ticket-activity-actions>button svg { width:14px; height:14px; stroke-width:1.8 }
:is(#page-tickets,#ticketModal,#recentTickets) .ticket-activity-actions>button:hover {
  border-color:var(--desk-line);
  background:var(--desk-soft);
  color:var(--desk-ink);
}
:is(#page-tickets,#ticketModal,#recentTickets) .ticket-activity-actions>button.is-danger:hover {
  border-color:rgba(180,72,60,.35);
  background:rgba(180,72,60,.09);
  color:#b4483c;
}
/* Dokunmatikte hover yok: işlemler hep görünür kalsın. */
@media(hover:none) {
  :is(#page-tickets,#ticketModal,#recentTickets) .ticket-activity-actions { opacity:1 }
}

/* Satır içi düzenleme alanı */
:is(#page-tickets,#ticketModal) .ticket-activity-item.is-editing .ticket-activity-message {
  padding:0; border:0; border-radius:0; background:transparent;
}
:is(#page-tickets,#ticketModal) .ticket-reply-edit { display:grid; gap:8px }
:is(#page-tickets,#ticketModal) .ticket-reply-edit textarea {
  width:100%;
  min-height:64px;
  resize:vertical;
  padding:10px 11px;
  border:1px solid color-mix(in srgb,var(--ticket-workspace-blue) 40%,var(--desk-line));
  border-radius:10px;
  outline:0;
  color:var(--desk-ink);
  background:var(--desk-paper);
  font:550 13px/1.5 inherit;
}
:is(#page-tickets,#ticketModal) .ticket-reply-edit textarea:focus {
  box-shadow:0 0 0 3px color-mix(in srgb,var(--ticket-workspace-blue) 12%,transparent);
}
:is(#page-tickets,#ticketModal) .ticket-reply-edit>div {
  display:flex;
  align-items:center;
  gap:8px;
}
:is(#page-tickets,#ticketModal) .ticket-reply-edit>div>span {
  flex:1;
  color:var(--desk-muted);
  font-size:10px;
}
:is(#page-tickets,#ticketModal) .ticket-reply-edit button {
  min-height:30px;
  padding:0 12px;
  border:1px solid var(--desk-line);
  border-radius:9px;
  color:var(--desk-ink);
  background:var(--desk-paper);
  font:650 12px inherit;
  cursor:pointer;
}
:is(#page-tickets,#ticketModal) .ticket-reply-edit button.is-primary {
  border-color:var(--ticket-workspace-blue);
  background:var(--ticket-workspace-blue);
  color:#fff;
}

/* Admin: yanıt logu tablosu */
#page-admin .admin-audit-tag {
  display:inline-flex;
  padding:3px 9px;
  border-radius:999px;
  background:color-mix(in srgb,#d49a30 14%,var(--desk-paper));
  color:#8a5a12;
  font-size:10.5px;
  font-weight:700;
}
#page-admin .admin-audit-tag.is-removed { background:rgba(180,72,60,.12); color:#a2392e }
#page-admin .admin-audit-tag.is-delivery { background:color-mix(in srgb, var(--success) 14%, var(--desk-paper)); color:var(--success) }
#page-admin .admin-audit-content { max-width:420px }
#page-admin .admin-audit-line { display:grid; gap:2px; padding:4px 0 }

#page-admin .admin-audit-line>small { color:var(--muted); font-size:9.5px; font-weight:650; letter-spacing:.04em }
#page-admin .admin-audit-line>span { overflow-wrap:anywhere; font-size:12px; line-height:1.45 }
#page-admin .admin-audit-line.is-current>span { font-weight:650 }

/* Yanıt kutusu sohbet kutusunun aynısı: tek yuvarlak şerit, solda emoji,
   ortada büyüyen yazı alanı, sağda mavi yuvarlak gönder düğmesi. */
.ticket-inline-composer.is-chat { padding:12px 14px 14px; }
.ticket-inline-composer.is-chat .tk-composer-row {
  position:relative;
  display:flex;
  align-items:flex-end;
  gap:8px;
  padding:6px;
  border:1px solid var(--ticket-workspace-line);
  border-radius:22px;
  background:var(--surface-solid,#fff);
  transition:border-color .14s, box-shadow .14s;
}
.ticket-inline-composer.is-chat .tk-composer-row:focus-within {
  border-color:color-mix(in srgb,var(--ticket-workspace-blue) 55%,var(--ticket-workspace-line));
  box-shadow:0 0 0 3px color-mix(in srgb,var(--ticket-workspace-blue) 10%,transparent);
}
.ticket-inline-composer.is-chat textarea {
  flex:1 1 auto;
  min-width:0;
  min-height:34px;
  max-height:168px;
  height:34px;
  padding:7px 4px;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  resize:none;
  overflow-y:auto;
  font:500 13px/1.5 inherit;
  color:var(--desk-ink,var(--text));
}
.ticket-inline-composer.is-chat textarea:focus { border:0; box-shadow:none; outline:0; }
/* Şeridin kendisi zaten odağı gösteriyor; kutunun içinde ikinci bir çerçeve olmasın. */
:is(#page-tickets,#ticketModal) .ticket-inline-composer.is-chat textarea:focus-visible { outline:none; }
.ticket-inline-composer.is-chat .tk-emoji-btn {
  flex:0 0 34px;
  display:grid;
  place-items:center;
  width:34px;
  height:34px;
  padding:0;
  border:0;
  border-radius:50%;
  background:transparent;
  color:var(--desk-muted,var(--muted));
  cursor:pointer;
  transition:background .14s, color .14s;
}
.ticket-inline-composer.is-chat .tk-emoji-btn svg { width:20px; height:20px; }
.ticket-inline-composer.is-chat .tk-emoji-btn:hover,
.ticket-inline-composer.is-chat .tk-emoji-btn.is-open { background:var(--desk-soft); color:var(--ticket-workspace-blue); }
.ticket-inline-composer.is-chat .ticket-reply-submit {
  flex:0 0 36px;
  display:grid;
  place-items:center;
  width:36px;
  height:36px;
  padding:0;
  border:0;
  border-radius:50%;
  background:var(--ticket-workspace-blue);
  color:#fff;
  cursor:pointer;
  transition:filter .14s, opacity .14s;
}
.ticket-inline-composer.is-chat .ticket-reply-submit svg { width:17px; height:17px; }
.ticket-inline-composer.is-chat .ticket-reply-submit:hover { filter:brightness(1.07); }
.ticket-inline-composer.is-chat .ticket-reply-submit:disabled { opacity:.55; cursor:not-allowed; }
.ticket-inline-composer.is-chat .ticket-reply-submit.is-sending svg { animation:ticketSendPulse .9s ease-in-out infinite; }
@keyframes ticketSendPulse { 50% { opacity:.35; transform:translateY(-2px); } }
.ticket-inline-composer.is-chat.is-sending textarea { cursor:wait; opacity:.7; }
.ticket-inline-composer.is-chat .tk-photo-wrap { flex:0 0 auto; }
.ticket-inline-composer.is-chat .tk-photo-btn,
#ticketModal .ticket-inline-composer.is-chat .tk-photo-btn {
  width:34px; height:34px; min-height:34px; display:grid; place-items:center;
  padding:0; border:0; border-radius:50%; background:transparent!important; color:var(--desk-muted,var(--muted));
}
.ticket-inline-composer.is-chat .tk-photo-btn:hover { background:var(--desk-soft)!important; color:var(--ticket-workspace-blue); }
.ticket-inline-composer.is-chat .tk-photo-btn svg { width:19px; height:19px; }
.tk-emoji-picker {
  position:absolute;
  left:0;
  bottom:calc(100% + 10px);
  z-index:6;
  display:grid;
  grid-template-columns:repeat(8,minmax(0,1fr));
  gap:2px;
  width:min(304px,calc(100vw - 56px));
  max-height:172px;
  overflow-y:auto;
  padding:8px;
  border:1px solid var(--ticket-workspace-line);
  border-radius:16px;
  background:var(--surface-solid,#fff);
  box-shadow:0 16px 38px rgba(15,35,65,.16);
}
.tk-emoji-picker[hidden] { display:none; }
.tk-emoji-picker button {
  min-width:0; height:30px; display:grid; place-items:center;
  border:0; border-radius:8px; background:transparent; cursor:pointer; font-size:18px; line-height:1;
}
.tk-emoji-picker button:hover { background:var(--desk-soft); }
.tk-composer-actions.is-edit { display:flex; align-items:center; justify-content:flex-end; gap:7px; margin-top:7px; }
@media(max-width:760px) {
  .ticket-inline-composer.is-chat { padding:10px 12px 12px; }
  .tk-emoji-picker { grid-template-columns:repeat(7,minmax(0,1fr)); }
}

/* One-surface ticket composer. Intent is a filter, never a navigation step. */
#page-new-ticket { --ticket-blue:#1683f8; color:var(--desk-ink); }
#page-new-ticket .tk-layout {    margin:auto; }
#page-new-ticket :is(.ticket-form-card,.tk-rail-card) { background:var(--desk-paper); border:1px solid var(--desk-line); box-shadow:none; border-radius:18px; }
#page-new-ticket .ticket-form-card { padding:26px; }
#page-new-ticket .tk-form-head { margin-bottom:22px; padding-bottom:20px; }
#page-new-ticket .tk-form-title { font-size:25px; letter-spacing:-.04em; color:var(--desk-ink); }
#page-new-ticket .tk-form-sub { font-size:12px; line-height:1.6; color:var(--desk-muted); }
#page-new-ticket .tk-form-kicker { display:none; }
#page-new-ticket .tk-step-n { display:none; }
#page-new-ticket .tk-step label { font-size:13px; letter-spacing:0; text-transform:none; font-weight:650; color:var(--desk-ink); }

#page-new-ticket .ticket-intent-shell { display:flex; flex-wrap:wrap; align-items:center; gap:12px; padding:0; border:0; background:none; box-shadow:none; overflow:visible; }

#page-new-ticket .ticket-intent-card.selected {  background:var(--desk-paper); box-shadow:0 1px 4px #0000000d; }
#page-new-ticket .ticket-category-stage { width:100%; min-height:0; padding:0; animation:none; }

#page-new-ticket .ticket-category-list {  grid-template-columns:repeat(3,minmax(0,1fr));  margin:0;  }
#page-new-ticket .ticket-category-row {    border:1px solid var(--desk-line);   color:var(--desk-ink); box-shadow:none; transform:none; }
#page-new-ticket .ticket-category-row:hover { background:var(--desk-soft); border-color:var(--desk-muted); transform:none; }
#page-new-ticket .ticket-category-row.selected { border-color:var(--ticket-blue); background:color-mix(in srgb,var(--ticket-blue) 7%,var(--desk-paper)); }
#page-new-ticket .ticket-category-row-icon {   border-radius:8px;   flex-shrink:0; }

#page-new-ticket .ticket-category-row-copy strong { white-space:normal;  line-height:1.4; color:var(--desk-ink); }

#page-new-ticket .ticket-category-row-check { width:18px; height:18px; font-size:11px; background:transparent; color:transparent; }
#page-new-ticket .ticket-category-row.selected .ticket-category-row-check { color:#fff; background:var(--ticket-blue); border-radius:50%; }
#page-new-ticket .ticket-category-manage {  grid-column:1/-1;  border:0; font-size:11px; }
#page-new-ticket .ticket-category-empty { grid-column:1/-1; font-size:12px; color:var(--desk-muted); padding:12px; }
#page-new-ticket .ticket-priority-prompt { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:10px;  padding:14px 0 0; border:0; border-top:1px solid var(--desk-line); border-radius:0; background:none; animation:none; }
#page-new-ticket .ticket-priority-head { margin:0; }
#page-new-ticket .ticket-priority-head small,#page-new-ticket .prio-pill small { display:none; }
#page-new-ticket .ticket-priority-options { display:flex;  }
#page-new-ticket .prio-pill {   border-radius:8px; font-size:11px; }

#page-new-ticket .ticket-selection-check { display:none; }

#page-new-ticket .ticket-message-compose { grid-template-columns:minmax(0,1fr); }
#page-new-ticket .ticket-mention-picker { display:none; }
#page-new-ticket #ticketMsg { min-height:126px; background:var(--desk-soft); color:var(--desk-ink); border:1px solid var(--desk-line); border-radius:12px; font-size:13px; line-height:1.65; }
#page-new-ticket .tk-msg-foot { flex-wrap:wrap; gap:8px; }
#page-new-ticket .tk-msg-hint { font-size:10px; }
#page-new-ticket .ticket-template-reset { padding:0; border:0; background:none; color:var(--ticket-blue); font:inherit; font-size:11px; cursor:pointer; }
#page-new-ticket :is(button,input,textarea):focus-visible { outline:2px solid var(--ticket-blue); outline-offset:3px; }
#page-new-ticket .ticket-submit-btn { min-height:44px; border-radius:11px; box-shadow:none; }
@media(max-width:1100px) {  #page-new-ticket .ticket-category-list { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:850px) {  #page-new-ticket .tk-rail { position:static; } }
@media(max-width:520px) { #page-new-ticket .ticket-form-card { padding:16px; }   }
#page-new-ticket .ticket-category-row { grid-template-columns:29px minmax(0,1fr) 18px; }
@media(max-width:520px) { #page-new-ticket .ticket-category-row { grid-template-columns:minmax(0,1fr) 18px; } }

/* Topic picker: quiet tabs, intrinsic-width choices, no search or boxed stage. */
#page-new-ticket .ticket-intent-form-group { padding:20px 0; border-block:1px solid var(--desk-line); }
/* Konu bölümü sağa kadar uzamaz: sekmeler ve kategoriler solda dar bir
   sütunda kalır (böylece sekme çizgisi de yarı boya iner), sağ yarı boş kalır.
   Dar ekranda tek sütuna iner. */
#page-new-ticket .ticket-intent-picker { min-width:0; }
/* Sağ yarı artık boş değil: mini Ticket Merkezi önizlemesi orada durur.
   Sütun oranı yüzdeyle verilir, ölçü sabitlenmez — form daralınca önizleme de
   daralır, 900px altında konunun altına iner. */
@media(min-width:900px) {
  #page-new-ticket .ticket-intent-form-group {
    display:grid;
    
    grid-template-areas:'step stage' 'picker stage';
    align-items:start;
    
  }
  #page-new-ticket .ticket-intent-form-group>.tk-step { grid-area:step; }
  #page-new-ticket .ticket-intent-picker { grid-area:picker; }
  #page-new-ticket .ticket-mini-stage { grid-area:stage; }
}
#page-new-ticket .ticket-mini-stage { min-width:0; }
@media(max-width:899px) { #page-new-ticket .ticket-mini-stage { margin-top:16px; } }

/* ─── Mini ticket SOHBET önizlemesi ───
   ÖGELER ORTAK: pencere, başlık, durum/öncelik şeridi, bağlam kutusu, sohbet
   satırı ve yanıt kutusu ticket sohbetinin kendi sınıflarıyla çizilir. Burada
   yalnız pencere çerçevesi, ölçek (zoom) ve dar sütuna sığdıran birkaç kural
   vardır — sohbet görünümü değişirse önizleme de kendiliğinden onunla değişir. */
#page-new-ticket .tkmini {
  --ticket-workspace-blue:var(--ticket-blue);
  --ticket-workspace-line:var(--desk-line);
  --surface-solid:var(--desk-paper);
  --ticket-inspector-type-main:13px;
  --ticket-inspector-type-meta:10.5px;
  overflow:hidden; border:1px solid var(--desk-line); border-radius:16px;
  background:var(--desk-paper); box-shadow:0 8px 22px rgba(28,44,68,.05);
}
#page-new-ticket .tkmini-head {
  display:flex; align-items:center; gap:7px; padding:8px 11px;
  border-bottom:1px solid var(--desk-line); background:var(--desk-soft);
}
#page-new-ticket .tkmini-dots { display:flex; gap:3px; }
#page-new-ticket .tkmini-dots i { width:5px; height:5px; border-radius:50%; background:var(--desk-line); }
#page-new-ticket .tkmini-head strong { font-size:9.5px; font-weight:750; letter-spacing:.08em; text-transform:uppercase; color:var(--desk-muted); }
#page-new-ticket .tkmini-tag { margin-left:auto; padding:2px 7px; border-radius:99px; background:var(--desk-paper); color:var(--desk-muted); font-size:9px; font-weight:600; }
/* Gerçek ölçüde kurulan sohbet pencereye sığacak kadar küçültülür. */

/* Önizleme okunur, tıklanmaz: yalnız işaretli parçalar forma götürür. */
#page-new-ticket .tkmini-chat { background:var(--desk-paper); }
#page-new-ticket .tkmini .ticket-inspector-head { min-height:0; padding:10px 12px; }
#page-new-ticket .tkmini .ticket-inspector-title { min-width:0; display:grid; gap:2px; }
#page-new-ticket .tkmini .ticket-inspector-title>span { overflow:hidden; color:var(--desk-muted); font-size:9.5px; font-weight:700; text-overflow:ellipsis; white-space:nowrap; }
#page-new-ticket .tkmini .ticket-inspector-title>strong { overflow:hidden; font-size:12.5px; font-weight:780; color:var(--desk-ink); text-overflow:ellipsis; white-space:nowrap; }
#page-new-ticket .tkmini .ticket-inspector-scroll { overflow:hidden; padding:10px 12px 12px; }
#page-new-ticket .tkmini .ticket-inspector-meta { display:flex; gap:6px; }
/* Bağlam kutusu gerçek sohbette olduğu gibi DURUM/ÖNCELİK ile AYNI satırı
   paylaşır (kurallar app-theme.css'teki ortak şeritten gelir); burada yalnız
   önizleme ölçeğine indiriliyor. */
#page-new-ticket .tkmini .ticket-inspector-topline { gap:6px; }
#page-new-ticket .tkmini .ticket-inspector-topline .ticket-inspector-meta.is-compact>button,
#page-new-ticket .tkmini .ticket-inspector-topline .tk-scope-target {
  height:38px; min-height:38px; padding:0 10px; border-radius:9px;
  border:1px solid var(--desk-line); background:var(--desk-paper);
}
#page-new-ticket .tkmini .ticket-inspector-topline .ticket-inspector-meta.is-compact>button { width:clamp(86px,22%,124px); }
#page-new-ticket .tkmini .ticket-inspector-topline .tk-scope-panel { flex:1 1 130px; min-width:96px; }
#page-new-ticket .tkmini .ticket-inspector-meta>button {
  flex:1; min-height:32px; display:grid; gap:1px; padding:5px 9px; border:1px solid var(--desk-line);
  border-radius:9px; background:var(--desk-paper); text-align:left; cursor:default;
}
#page-new-ticket .tkmini .ticket-inspector-meta span { color:var(--desk-muted); font-size:8px; font-weight:700; letter-spacing:.07em; text-transform:uppercase; }
#page-new-ticket .tkmini .ticket-inspector-meta strong { font-size:11px; font-weight:700; color:var(--desk-ink); }
#page-new-ticket .tkmini .ticket-inspector-meta strong.is-open { color:#238153; }
#page-new-ticket .tkmini .ticket-meta-priority.is-priority-1 strong { color:#b9781f; }
#page-new-ticket .tkmini .ticket-meta-priority.is-priority-2 strong { color:#d1454a; }
#page-new-ticket .tkmini .tk-scope-target {  grid-template-columns:21px minmax(0,1fr) auto;  }
#page-new-ticket .tkmini .tk-scope-target>i { width:21px; height:21px; font-size:8.5px; }

#page-new-ticket .tkmini .tk-scope-target.is-empty { border-style:dashed; }
#page-new-ticket .tkmini .tk-scope-target.is-empty strong { color:var(--desk-muted); font-weight:600; }

/* Sohbetin kendisi: tek açılış hareketi. */
#page-new-ticket .tkmini .ticket-activity-head { margin-top:10px; }
#page-new-ticket .tkmini .ticket-activity-timeline { padding-top:2px; }
#page-new-ticket .tkmini .ticket-activity-item { cursor:default; }
#page-new-ticket .tkmini .ticket-activity-message {
  display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:4; overflow:hidden;
}
/* Yanıt kutusu yalnız görüntüdür: sohbetin devam ettiğini anlatır. */
#page-new-ticket .tkmini-composer { pointer-events:none; }
#page-new-ticket .tkmini-composer textarea { resize:none; }
/* Tıklanabilir parçalar: işaretçi ve nazik bir vurgu. */
#page-new-ticket .tkmini-hot { pointer-events:auto; cursor:pointer; border-radius:7px; transition:background .18s ease,color .18s ease; }
#page-new-ticket .tkmini-hot:hover { background:color-mix(in srgb,var(--ticket-blue) 12%,transparent); }
#page-new-ticket .tkmini :is(.ticket-activity-message,.ticket-inspector-title>span).is-empty { color:var(--desk-muted); font-weight:500; font-style:italic; }
/* Dolan parça bir kez kıpırdar, sıradaki boş parça nazikçe nefes alır. */
#page-new-ticket .tkmini .is-fresh { animation:tkminiPop .34s cubic-bezier(.2,.9,.3,1.2); }
@keyframes tkminiPop { 0% { transform:scale(.94); } 60% { transform:scale(1.035); } 100% { transform:none; } }
#page-new-ticket .tkmini .is-next { animation:tkminiBreathe 2.4s ease-in-out infinite; }
@keyframes tkminiBreathe { 0%,100% { opacity:.62; } 50% { opacity:1; } }
#page-new-ticket .tkmini-ping { animation:tkminiPing .85s ease-out; }
@keyframes tkminiPing { 0% { box-shadow:0 0 0 0 color-mix(in srgb,var(--ticket-blue) 32%,transparent); } 100% { box-shadow:0 0 0 12px transparent; } }
@media (prefers-reduced-motion: reduce) {
  #page-new-ticket .tkmini :is(.is-fresh,.is-next), #page-new-ticket .tkmini-ping { animation:none; }
}
html[data-theme="dark"] #page-new-ticket .tkmini .ticket-inspector-meta strong.is-open { color:#79d8a5; }

/* ─── Kapsam seçimi listenin İÇİNDE ───
   Sipariş satırının içine girilince (sağ ok ya da tıklama) kumaşlar
   seçilebilir satırlara döner. Ayrı pencere yoktur. */
#page-new-ticket .tk-search-item.is-expanded { background:var(--accent-soft); box-shadow:inset 0 0 0 1px var(--accent); }
#page-new-ticket .ticket-fabric-peek-row.is-pick { cursor:pointer; }
#page-new-ticket .ticket-fabric-peek-row.is-active { background:color-mix(in srgb,var(--ticket-blue) 12%,transparent); box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--ticket-blue) 45%,transparent); }
#page-new-ticket .ticket-fabric-peek-row.is-picked { background:color-mix(in srgb,#7142d4 9%,transparent); }
#page-new-ticket .ticket-fabric-peek-row.is-picked strong { color:#7142d4; }
#page-new-ticket .ticket-fabric-pick-box {
  display:grid; place-items:center;   
  border:1.5px solid var(--desk-line); border-radius:5px;
  background:var(--desk-paper); color:#fff; font:800 10px/1 inherit; font-style:normal;
}
#page-new-ticket .ticket-fabric-peek-row.is-picked .ticket-fabric-pick-box { border-color:#7142d4; background:#7142d4; }

/* Kapsam seçildikten sonra 1. adımın kutuları küçük rozetlere iner. */
#page-new-ticket .ticket-selected-orders.is-collapsed { display:flex; flex-wrap:wrap; gap:6px; }
#page-new-ticket .ticket-scope-pill {
  display:inline-flex; align-items:center; max-width:100%; overflow:hidden;
  border:1px solid var(--desk-line); border-radius:99px; background:var(--desk-paper);
  animation:tkminiPop .3s cubic-bezier(.2,.9,.3,1.2);
}
#page-new-ticket .ticket-scope-pill.is-specific { border-color:color-mix(in srgb,#7142d4 38%,var(--desk-line)); }
#page-new-ticket .ticket-scope-pill-main {
  display:flex; align-items:baseline; gap:6px; min-width:0; padding:5px 4px 5px 11px;
  border:0; background:none; color:inherit; font:inherit; cursor:pointer;
}
#page-new-ticket .ticket-scope-pill-main b { font-size:11px; font-weight:750; color:var(--desk-ink); }
#page-new-ticket .ticket-scope-pill-main small { overflow:hidden; font-size:10px; color:var(--desk-muted); text-overflow:ellipsis; white-space:nowrap; }
#page-new-ticket .ticket-scope-pill.is-specific .ticket-scope-pill-main small { color:#7142d4; }
#page-new-ticket .ticket-scope-pill-main:hover b { color:var(--ticket-blue); }
#page-new-ticket .ticket-scope-pill-x {
  width:24px; align-self:stretch; padding:0 8px 0 2px; border:0; background:none;
  color:var(--desk-muted); font:750 14px/1 inherit; cursor:pointer;
}
#page-new-ticket .ticket-scope-pill-x:hover { color:#d70015; }

#page-new-ticket .ticket-intent-card.selected { color:var(--desk-ink); }
#page-new-ticket .ticket-intent-card.selected::after { display:block; content:''; position:absolute; inset:auto 0 -1px; height:2px; width:100%; background:var(--ticket-blue); border-radius:2px; transform:none; }
#page-new-ticket .ticket-category-stage { background:none!important; border:0; border-radius:0; box-shadow:none; }
#page-new-ticket .ticket-category-list { display:flex; flex-wrap:wrap; gap:9px; padding:6px 0; background:none; }
#page-new-ticket .ticket-category-row { display:flex; width:auto; max-width:100%; min-height:40px; padding:9px 13px; gap:8px; border-radius:10px; background:transparent; border-color:var(--desk-line); }
#page-new-ticket .ticket-category-row-icon { display:grid; width:18px; height:18px; background:none; color:var(--desk-muted); }
#page-new-ticket .ticket-category-row-icon svg { width:16px; height:16px; }
#page-new-ticket .ticket-category-row-copy strong { font-size:12px; font-weight:550; }

#page-new-ticket .ticket-category-row-check { display:none; }
#page-new-ticket .ticket-category-row.selected { border-color:color-mix(in srgb,var(--ticket-blue) 50%,var(--desk-line)); background:color-mix(in srgb,var(--ticket-blue) 10%,var(--desk-paper)); }
#page-new-ticket .ticket-category-row.selected :is(strong,.ticket-category-row-icon) { color:var(--ticket-blue); }
#page-new-ticket .ticket-category-row.selected .ticket-category-row-check { display:grid; width:14px; height:14px; font-size:9px; }
#page-new-ticket .ticket-category-manage { flex-basis:100%; min-height:30px; padding:5px 0; justify-content:flex-start; font-weight:500; color:var(--desk-muted); }
#page-new-ticket .ticket-priority-prompt { padding-top:12px; margin-top:6px; }

#page-new-ticket .ticket-priority-options { padding:3px; background:var(--desk-soft); border-radius:9px; gap:2px; }
#page-new-ticket .prio-pill { min-height:30px; padding:6px 11px; border-color:transparent; background:none; }
#page-new-ticket .prio-pill.selected { background:var(--desk-paper); border-color:var(--desk-line); color:var(--desk-ink); }
/* Önemli ve Acil sessiz bir kırmızıyla ayrışır: boştayken yalnız yazı rengi,
   seçiliyken hafif dolgu ve kenar. Acil bir tık koyudur; kutu yine de üç eşit
   düğme gibi sakin kalır (uyarı rengi bağırmasın diye doygunluk düşük). */
#page-new-ticket .prio-pill[data-prio="1"],
#page-new-ticket .prio-pill[data-prio="2"] { color:color-mix(in srgb,#e5484d 52%,var(--desk-muted)); }
#page-new-ticket .prio-pill[data-prio="1"]:hover,
#page-new-ticket .prio-pill[data-prio="2"]:hover { color:#e5484d; border-color:transparent; }
#page-new-ticket .prio-pill[data-prio="1"].selected {
  color:#e5484d;
  background:color-mix(in srgb,#e5484d 9%,var(--desk-paper));
  border-color:color-mix(in srgb,#e5484d 26%,var(--desk-line));
}
#page-new-ticket .prio-pill[data-prio="2"].selected {
  color:color-mix(in srgb,#e5484d 88%,var(--desk-ink));
  background:color-mix(in srgb,#e5484d 17%,var(--desk-paper));
  border-color:color-mix(in srgb,#e5484d 44%,var(--desk-line));
}

/* Category settings: list and a single editor. */
#categoryManagerModal { background:rgba(9,17,29,.52); backdrop-filter:blur(8px); }
#categoryManagerModal .cat-mgr-modal { width:min(940px,100%); max-height:min(820px,92dvh); border:1px solid var(--desk-line); border-radius:22px; background:var(--desk-paper); box-shadow:0 30px 100px #0005; color:var(--desk-ink); }
#categoryManagerModal .cat-mgr-head { padding:22px 26px; border-color:var(--desk-line); align-items:center; }
#categoryManagerModal .cat-mgr-kicker { display:none; }
#categoryManagerModal .cat-mgr-title { font-size:22px; font-weight:650; letter-spacing:-.035em; color:var(--desk-ink); }
#categoryManagerModal .cat-mgr-sub { font-size:12px; color:var(--desk-muted); }
#categoryManagerModal .cat-mgr-close { background:var(--desk-soft); border:0; color:var(--desk-muted); }
#categoryManagerModal .cat-mgr-list { display:grid; grid-template-columns:260px minmax(0,1fr); padding:0; gap:0; min-height:0; overflow:auto; }
#categoryManagerModal .cm-nav { padding:20px 12px; background:var(--desk-soft); border-right:1px solid var(--desk-line); }
#categoryManagerModal .cm-nav-heading { display:flex; justify-content:space-between; padding:0 10px 14px; color:var(--desk-muted); font-size:10px; font-weight:650; letter-spacing:.08em; }
#categoryManagerModal .cm-nav-item { display:flex; align-items:center; gap:10px; width:100%; min-height:44px; padding:10px; margin:2px 0; border:1px solid transparent; border-radius:9px; background:none; color:var(--desk-muted); text-align:left; font:500 12px/1.4 var(--font); cursor:pointer; }
#categoryManagerModal .cm-nav-item.active { background:var(--desk-paper); border-color:var(--desk-line); color:var(--desk-ink); box-shadow:0 2px 4px #00000004; }
#categoryManagerModal .cm-nav-item:hover { color:var(--desk-ink); background:var(--desk-paper); }
#categoryManagerModal .cm-nav-icon { display:flex; flex:0 0 17px; }
#categoryManagerModal .cm-nav-icon svg { width:17px; height:17px; }
#categoryManagerModal .cm-nav-name { flex:1; overflow-wrap:anywhere; }
#categoryManagerModal .cm-nav-number { font-size:10px; color:var(--desk-muted); opacity:.7; }
#categoryManagerModal .cm-add { padding:12px 10px; margin-top:10px; width:100%; text-align:left; border:0; background:none; color:#1683f8; font:600 12px var(--font); cursor:pointer; }
#categoryManagerModal .cm-editor { padding:24px 28px; min-width:0; }
#categoryManagerModal .cm-editor-heading { display:flex; justify-content:space-between; align-items:center; gap:15px; margin-bottom:24px; }
#categoryManagerModal .cm-editor-heading small { color:var(--desk-muted); font-size:9px; font-weight:600; letter-spacing:.1em; }
#categoryManagerModal .cm-editor-heading h3 { margin:5px 0 0; font-size:18px; font-weight:650; letter-spacing:-.025em; overflow-wrap:anywhere; }
#categoryManagerModal .cm-position { color:var(--desk-muted); font-size:11px; white-space:nowrap; }
#categoryManagerModal .cm-field { display:flex; flex-direction:column; gap:8px; margin:0 0 18px; color:var(--desk-ink); font-size:12px; font-weight:550; }
#categoryManagerModal :is(.cat-mgr-input,.cm-field select) { width:100%; box-sizing:border-box; padding:11px 12px; border:1px solid var(--desk-line); border-radius:9px; background:var(--desk-paper); color:var(--desk-ink); font:400 13px/1.6 var(--font); }
#categoryManagerModal .cat-mgr-template { min-height:100px; }
#categoryManagerModal .cm-field small { font-size:10px; color:var(--desk-muted); font-weight:400; }
#categoryManagerModal .cm-token-hint { display:flex; align-items:center; gap:5px; flex-wrap:wrap; margin-top:-10px; color:var(--desk-muted); font-size:10px; }
#categoryManagerModal .cm-token-hint button { border:1px solid var(--desk-line); border-radius:5px; padding:3px 5px; background:var(--desk-soft); color:var(--desk-muted); font:inherit; cursor:pointer; }
#categoryManagerModal .cm-message-preview { padding:15px; margin:18px 0; border-left:2px solid #1683f8; border-radius:0 9px 9px 0; background:var(--desk-soft); }
#categoryManagerModal .cm-message-preview small { font-size:9px; font-weight:600; letter-spacing:.07em; color:var(--desk-muted); }
#categoryManagerModal .cm-message-preview p { margin:8px 0 0; font-size:12px; line-height:1.65; white-space:pre-wrap; overflow-wrap:anywhere; }
#categoryManagerModal .cm-appearance { border-top:1px solid var(--desk-line); }
#categoryManagerModal .cm-appearance summary { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:16px 0; list-style:none; cursor:pointer; font-size:12px; color:var(--desk-muted); }
#categoryManagerModal .cm-appearance summary span { font-size:10px; color:#1683f8; }
#categoryManagerModal .cm-appearance[open] summary span { display:none; }
#categoryManagerModal .cm-icons { display:flex; gap:5px; flex-wrap:wrap; }
#categoryManagerModal .cat-icon-opt { width:32px; height:32px; background:var(--desk-soft); color:var(--desk-muted); border:1px solid var(--desk-line); border-radius:7px; }
#categoryManagerModal .cat-icon-opt.active { color:#1683f8; border-color:#1683f8; }
#categoryManagerModal .cat-mgr-colors { gap:8px; padding:4px; }
#categoryManagerModal .cat-color-opt { width:22px; height:22px; }
#categoryManagerModal .cm-editor-bottom { display:flex; justify-content:space-between; align-items:center; gap:10px; padding-top:15px; border-top:1px solid var(--desk-line); }
#categoryManagerModal .cm-reorder { display:flex; align-items:center; gap:6px; font-size:10px; color:var(--desk-muted); }
#categoryManagerModal .cm-reorder span { margin-right:5px; }
#categoryManagerModal .cm-reorder button { width:30px; height:30px; background:var(--desk-paper); border:1px solid var(--desk-line); border-radius:7px; color:var(--desk-ink); cursor:pointer; }
#categoryManagerModal .cm-delete { padding:7px 0; border:0; background:none; font:500 11px var(--font); color:#cd615d; cursor:pointer; }
#categoryManagerModal button:disabled { opacity:.35; cursor:default; }
#categoryManagerModal .cat-mgr-foot { padding:16px 24px; background:var(--desk-paper); border-color:var(--desk-line); flex-wrap:nowrap; }
#categoryManagerModal .cat-mgr-foot>button { display:none; }
#categoryManagerModal .cat-mgr-foot::before { content:'Değişiklikler kaydettiğinizde uygulanır.'; color:var(--desk-muted); font-size:10px; }
#categoryManagerModal .cat-mgr-foot .btn { min-height:38px; padding:8px 18px; border-radius:9px; box-shadow:none; font-size:12px; }
#categoryManagerModal :is(button,input,textarea,select,summary):focus-visible { outline:2px solid #1683f8; outline-offset:3px; }
@media(max-width:650px) {
 #categoryManagerModal { padding:10px; }
 #categoryManagerModal .cat-mgr-modal { max-height:95dvh; border-radius:16px; }
 #categoryManagerModal .cat-mgr-head { padding:16px; }
 #categoryManagerModal .cat-mgr-list { grid-template-columns:1fr; }
 #categoryManagerModal .cm-nav { display:flex; flex-wrap:nowrap; gap:6px; overflow-x:auto; padding:12px; border-right:0; border-bottom:1px solid var(--desk-line); }
 #categoryManagerModal .cm-nav-heading,#categoryManagerModal .cm-nav-number { display:none; }
 #categoryManagerModal .cm-nav-item { flex:0 0 auto; width:auto; max-width:190px; margin:0; }
 #categoryManagerModal .cm-add { flex:0 0 auto; width:auto; margin:0; white-space:nowrap; }
 #categoryManagerModal .cm-editor { padding:20px 16px; }
 #categoryManagerModal .cat-mgr-foot { padding:12px 16px; }
 #categoryManagerModal .cat-mgr-foot::before { max-width:120px; }
 #page-new-ticket .ticket-category-row { min-height:42px; padding:9px 10px; }
 
}

#categoryManagerModal .cm-field { text-transform:none; letter-spacing:0; }

/* Ticket order lookup: content-first fabric preview. */
#page-new-ticket .tk-search-item .ticket-fabric-peek {
  display:grid;
  gap:0;
  max-height:0;
  margin:0;
  padding:0 10px;
  overflow:hidden;
  opacity:0;
  border:0 solid transparent;
  border-radius:10px;
  background:var(--desk-paper);
  transition:max-height .22s ease,opacity .15s ease,margin .18s ease,padding .18s ease,border-color .18s ease;
}
#page-new-ticket .tk-search-item:is(:hover,.active,.is-expanded,:focus-within) .ticket-fabric-peek {
  max-height:300px;
  margin-top:7px;
  padding:5px 7px;
  opacity:1;
  border-width:1px;
  border-color:var(--desk-line);
}
#page-new-ticket .ticket-fabric-peek.is-pick { max-height:340px; overflow:auto; }
#page-new-ticket .ticket-fabric-peek-row {
  display:flex;
  align-items:baseline;
  gap:8px;
  min-height:0;
  padding:5px 6px;
  border-radius:6px;
}
#page-new-ticket .ticket-fabric-peek-row + .ticket-fabric-peek-row { border-top:1px solid color-mix(in srgb,var(--desk-line) 60%,transparent); }
#page-new-ticket .ticket-fabric-peek-row:hover { background:var(--desk-soft); }
#page-new-ticket .ticket-fabric-peek-row strong {
  flex:0 1 auto;
  min-width:0;
  overflow:hidden;
  color:var(--desk-ink);
  font-size:11px;
  font-weight:600;
  text-overflow:ellipsis;
  white-space:nowrap;
}
#page-new-ticket .ticket-fabric-peek-row span {
  flex:1 1 auto;
  min-width:0;
  overflow:hidden;
  color:var(--desk-muted);
  font-size:10px;
  font-weight:450;
  text-overflow:ellipsis;
  white-space:nowrap;
}
#page-new-ticket .ticket-fabric-peek-row>b {
  flex:0 0 auto;
  margin-left:auto;
  color:var(--desk-ink);
  font-size:10px;
  font-weight:650;
  white-space:nowrap;
  font-variant-numeric:tabular-nums;
}
#page-new-ticket .ticket-fabric-peek-empty,
#page-new-ticket .ticket-fabric-peek-more { padding:5px 6px; color:var(--desk-muted); font-size:9px; }

/* Selected order becomes the scope picker; no duplicated customer/type/date card. */

#page-new-ticket .ticket-preview-fabric.selected {
  border-color:color-mix(in srgb,var(--ticket-blue) 55%,var(--desk-line));
  background:color-mix(in srgb,var(--ticket-blue) 7%,var(--desk-paper));
}

#page-new-ticket .ticket-preview-fabric.selected>i { border-color:var(--ticket-blue); background:var(--ticket-blue); }

#page-new-ticket .ticket-fabric-meta { margin-top:2px!important; gap:4px; color:var(--desk-muted); font-size:8.5px!important; }
#page-new-ticket .ticket-fabric-meta>b {
  padding:0;
  border:0;
  background:none;
  color:var(--desk-muted);
  font-size:8.5px;
  font-weight:550;
}

@media(max-width:520px) {
  #page-new-ticket .tk-search-item .ticket-fabric-peek { display:none; }

}

/* ── Liste başlığındaki seçim ("Seç") ──────────────────────────────
   Kapalıyken tek bir sade bağlantı; açıkken aynı satırda Tümü · Sil · Vazgeç.
   Yeni kutu, yeni yükseklik, yeni renk yok: başlığın kendi tipografisi. */
#page-tickets .ticket-pick-bar { display:flex; align-items:center; gap:12px; }
#page-tickets .ticket-pick-link {
  padding:0; border:0; background:none; color:var(--desk-muted,var(--muted));
  font-family:inherit; font-size:var(--ticket-pane-type-meta); font-weight:650;
  line-height:1; white-space:nowrap; cursor:pointer; transition:color .12s ease, opacity .12s ease;
}
#page-tickets .ticket-pick-link:hover { color:var(--ticket-workspace-blue); }
#page-tickets .ticket-pick-link.is-danger:hover { color:var(--danger,#d94848); }
#page-tickets .ticket-pick-link:disabled { opacity:.45; cursor:default; }
#page-tickets .ticket-pick-link:disabled:hover { color:var(--desk-muted,var(--muted)); }
/* Seçim modunda soldaki durum noktası kutuya dönüşür; satır düzeni aynı kalır. */
#page-tickets .ticket-workspace.is-picking .ticket-file-row { grid-template-columns:17px minmax(0,1fr) 58px; }
#page-tickets .ticket-workspace.is-picking .ticket-file-status {
  position:relative; width:15px; height:15px; border-radius:5px;
  border:1.5px solid color-mix(in srgb,var(--desk-muted,var(--muted)) 50%,transparent);
  background:transparent; box-shadow:none;
}
#page-tickets .ticket-workspace.is-picking .ticket-file-row.is-picked .ticket-file-status {
  border-color:var(--ticket-workspace-blue); background:var(--ticket-workspace-blue);
}
#page-tickets .ticket-workspace.is-picking .ticket-file-row.is-picked .ticket-file-status::after {
  content:''; position:absolute; left:4px; top:1px; width:4px; height:8px;
  border:solid #fff; border-width:0 1.7px 1.7px 0; transform:rotate(45deg);
}
#page-tickets .ticket-workspace.is-picking .ticket-file-row.is-picked {
  background:color-mix(in srgb,var(--ticket-workspace-blue) 7%,transparent);
}
/* Seçerken satır içindeki kısayollar tıklanmasın: tıklama = işaretleme. */
#page-tickets .ticket-workspace.is-picking .ticket-file-order-link { pointer-events:none; }
@media(max-width:720px) {
  #page-tickets .ticket-workspace.is-picking .ticket-file-row { grid-template-columns:17px minmax(0,1fr) 52px; }
}

/* Durum ve öncelik kutusuna basınca sunucu yanıtı beklenirken küçük, sakin bir
   halka döner: kullanıcı işlemin sürdüğünü görür, kutu yerinden oynamaz.
   Sınıf zaten veri katmanından gelir (ticketMetaPendingClass).

   HALKA NEDEN ETİKETİN ::after'INDA?  Öncelik kutusu aynı zamanda gecikmeli
   ipucu taşıyor (data-delayed-tip) ve o bileşen düğmenin HEM ::before HEM
   ::after'ını kullanıyor. Halka da düğmenin ::after'ına çizilince iki kural
   aynı sözde-öğede çakışıyor, ipucunun width:max-content + padding değerleri
   halkaya sızıyor ve daire yerine 20x14 elips dönüyordu. Halka bu yüzden
   ipucu taşımayan ETİKET span'ının sözde-öğesine taşındı. */
:is(#page-tickets,#ticketModal) .ticket-inspector-meta>button.is-pending { cursor:progress; }
:is(#page-tickets,#ticketModal) .ticket-inspector-meta>button.is-pending>strong { opacity:.62; transition:opacity .16s ease; }
/* Halka etiketin sağında durur: dar kutuda başlığın üstüne binmesin diye pay bırakılır. */
:is(#page-tickets,#ticketModal) .ticket-inspector-meta>button.is-pending>span { position:relative; padding-right:18px; }
:is(#page-tickets,#ticketModal) .ticket-inspector-meta>button.is-pending>span::after {
  content:''; position:absolute; top:50%; right:2px; box-sizing:border-box;
  width:11px; height:11px; margin-top:-5.5px; padding:0; max-width:none;
  border:1.5px solid color-mix(in srgb,currentColor 26%,transparent);
  border-top-color:currentColor; border-radius:50%; opacity:.72; background:none; box-shadow:none;
  animation:ticket-meta-spin .62s linear infinite;
}
@keyframes ticket-meta-spin { to { transform:rotate(360deg); } }
@media (prefers-reduced-motion: reduce) {
  :is(#page-tickets,#ticketModal) .ticket-inspector-meta>button.is-pending>span::after { animation-duration:1.6s; }
}

/* ─── YENİ TİCKET: sağdaki ARAÇ RAYI (2026-09-19) ───
   2026-09-17'de bu alan 74px'lik bir doka indirilmişti; sağda kocaman bir
   boşluk kaldığı için geri genişletildi. Ray sabit 300px: üstte dört sekmeli
   şerit, altında seçili panel kart olarak durur (uçan panel yok). Formun sağı
   daraldığı için konu kartları sıkışarak derleniyor ve önizleme sola geliyor. */
#page-new-ticket .tk-layout { grid-template-columns:minmax(0,1fr) 300px; gap:20px; max-width:1500px; }
#page-new-ticket .tk-dock { position:sticky; top:calc(var(--shell-top,56px) + 16px); z-index:40; min-width:0; display:grid; gap:12px; align-content:start; }

/* Panel rayın içinde, sayfa akışında durur: uçan katman, gölge ve animasyon yok. */

@media(max-width:1100px) { #page-new-ticket .tk-layout { grid-template-columns:minmax(0,1fr) 260px; } }
@media(max-width:850px) {
  #page-new-ticket .tk-layout { grid-template-columns:minmax(0,1fr); }
  #page-new-ticket .tk-dock { position:static; }
  
}

/* "Sepete Ekle ve Gönder": sepete ekleyip gönderim onayını açan ikinci düğme. */
#page-new-ticket .ticket-draft-actions {  grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);   }

@media(max-width:520px) { #page-new-ticket .ticket-draft-actions { grid-template-columns:minmax(0,1fr); } }

/* Kapsam listesindeki tikler metinle aynı hizada durur.
   (Satır `align-items:baseline` olduğu için kutular yukarı kaçıyordu.) */
#page-new-ticket .ticket-fabric-peek-row.is-pick { align-items:center; }
#page-new-ticket .ticket-fabric-pick-box {
  align-self:center; width:17px; height:17px; flex:0 0 17px;
  line-height:1; font-size:10.5px; letter-spacing:0; padding:0;
}

/* Önizleme daha rahat okunsun: sağ sütun genişledi (dok sayesinde),
   bağlamdaki sipariş numarası ve kumaş adı büyüdü. */
/* Konu sütunu dar tutulur: kartlar sıkışarak derlenir ve önizleme sola,
   son konu düğmesine değecek kadar yaklaşır. */
@media(min-width:900px) {
  #page-new-ticket .ticket-intent-form-group { grid-template-columns:minmax(0,.82fr) minmax(0,1fr); column-gap:18px; grid-template-rows:auto 1fr; }
}
#page-new-ticket .tkmini-zoom { zoom:.9; }
#page-new-ticket .tkmini .tk-scope-panel { padding:9px 10px; }
#page-new-ticket .tkmini .tk-scope-orders { display:grid; gap:5px; }
#page-new-ticket .tkmini .tk-scope-order-route { align-items:center; gap:7px; }
#page-new-ticket .tkmini .tk-scope-order-link {
  padding:4px 8px; font-size:11px; font-weight:750; letter-spacing:-.01em;
  color:var(--desk-ink); font-variant-numeric:tabular-nums; white-space:nowrap;
}
#page-new-ticket .tkmini .tk-scope-target { padding:6px 9px; gap:8px; }
#page-new-ticket .tkmini .tk-scope-target strong { font-size:11.5px; font-weight:680; line-height:1.35; }
#page-new-ticket .tkmini .tk-scope-target b { font-size:9.5px; }

/* Sepet satırı (2026-09-17): konu + öncelik, sipariş rozetleri, kapsam ve
   mesajın ilk satırı. Düzenle/Sil metin düğme değil, satıra gelince beliren
   sessiz ikonlardır. */

#page-new-ticket .ticket-cart-item {
  position:relative;  

}
#page-new-ticket .ticket-cart-item::before {
   position:absolute; inset:9px auto 9px 0; width:3px; border-radius:99px;
  background:var(--tk-cart-accent,var(--ticket-blue));
}

#page-new-ticket .ticket-cart-item-main strong {
  display:block;   
      
}
#page-new-ticket .ticket-cart-item-msg {
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical;
  margin:7px 0 0; overflow:hidden;  font-size:11px; line-height:1.5;
}
#page-new-ticket .ticket-cart-item-actions {  align-self:start;  opacity:0; transition:opacity .16s ease; }
#page-new-ticket .ticket-cart-item:hover .ticket-cart-item-actions,
#page-new-ticket .ticket-cart-item:focus-within .ticket-cart-item-actions,
#page-new-ticket .ticket-cart-item.is-editing .ticket-cart-item-actions { opacity:1; }
#page-new-ticket .ticket-cart-item-actions button {
  display:grid; place-items:center;   min-height:0; padding:0;
     
}
#page-new-ticket .ticket-cart-item-actions button svg { width:14px; height:14px; stroke-width:1.7; }
#page-new-ticket .ticket-cart-item-actions .ticket-cart-edit:hover { background:color-mix(in srgb,var(--ticket-blue) 12%,transparent); color:var(--ticket-blue); border-color:transparent; }
#page-new-ticket .ticket-cart-item-actions .ticket-cart-remove:hover {   border-color:transparent; }
@media (pointer:coarse) { #page-new-ticket .ticket-cart-item-actions { opacity:1; } }

/* ─── Ticket ••• menüsü: sipariş menüsü ve kısayol listesiyle aynı dil ───
   Renk yalnız ikon rozetinde, tipografi Inter'in ince ölçüsünde (11px/800
   başlık + 8.5px/650 alt satır eskisiydi). */
.ticket-action-menu>button { min-height:48px; gap:9px; font-family:var(--font); }
.ticket-action-menu>button>span:first-child {
  width:26px; height:26px; border-radius:8px;
  color:var(--ticket-accent); background:color-mix(in srgb,var(--ticket-accent) 13%,transparent);
}
.ticket-action-menu>button>span:first-child svg { width:15px; height:15px; stroke-width:1.8; }
.ticket-action-menu>button>b { font-size:12px; font-weight:650; letter-spacing:-.012em; line-height:1.35; }
.ticket-action-menu>button>small {
  overflow:hidden; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2;
  font-size:10.5px; font-weight:450; letter-spacing:0; line-height:1.32; white-space:normal;
}
.ticket-action-menu>button.has-shortcuts { grid-template-columns:26px minmax(0,1fr) 18px; }
.ticket-watchlist-action>span:first-child { background:color-mix(in srgb,#8b5cf6 14%,transparent); }
.ticket-action-menu .ticket-menu-action.is-danger>span:first-child { background:color-mix(in srgb,#d9352d 12%,transparent); }

@container (max-width:720px) {
  #page-tickets .ticket-workspace-toolbar .new-ticket-cta { grid-column:1/-1; grid-row:3; justify-content:center; }
}

/* Rayın içindeki kartlar 300px'e göre derlenir: sepet başlığı tek satıra
   sığsın, "Temizle" başlığın altına düşmeden sessiz bir düğme olarak dursun. */

/* ── Ticket kuyruğu işaretleri (2026-09-23) ─────────────────────────
   Okunmamış · Sıra Bende · Sessiz. Yeni rozet YOK (satırda tek rozet, §3.9):
   okunmamış soldaki noktayı vurgu rengiyle doldurur ve başlığı kalınlaştırır,
   sessiz ticket yalnız saatini uyarı mürekkebine çevirir. */
:is(#page-tickets,#recentTickets) .ticket-file-row:not(.is-unread) .ticket-file-title>.ticket-file-message { font-weight:600; }
:is(#page-tickets,#recentTickets) .ticket-file-row.is-unread .ticket-file-status {
  width:8px; height:8px; border-color:transparent; background:var(--ticket-workspace-blue);
  box-shadow:0 0 0 3px color-mix(in srgb,var(--ticket-workspace-blue) 16%,transparent);
}
:is(#page-tickets,#recentTickets) .ticket-file-row.is-unread.selected .ticket-file-status { background:currentColor; box-shadow:none; }
:is(#page-tickets,#recentTickets) .ticket-file-meta .ticket-file-new { color:var(--ticket-workspace-blue); font-weight:700; }
:is(#page-tickets,#recentTickets) .ticket-file-meta .ticket-file-hit { color:var(--ticket-workspace-blue); font-weight:600; }
:is(#page-tickets,#recentTickets) .ticket-file-state>time.is-stale { color:var(--warning); font-weight:700; }
:is(#page-tickets,#recentTickets) .ticket-file-row.selected :is(.ticket-file-new,.ticket-file-hit,.ticket-file-state>time.is-stale) { color:inherit; }

/* Klasörde okunmamış varsa sayı vurgu rengine döner; ek nokta/rozet yok. */
:is(#page-tickets,#recentTickets) :is(.ticket-smart-folders>button,.ticket-folder-row).has-unread>b { color:var(--ticket-workspace-blue); font-weight:800; }
:is(#page-tickets,#recentTickets) .ticket-list-pane>header .ticket-list-unread { color:var(--ticket-workspace-blue); font-style:normal; font-weight:700; }

/* Sıra Bende ikonu: tepsiye inen ok. */
.ticket-smart-icon.is-turn {
  position:relative; width:14px; height:8px; margin-top:6px;
  border:1.6px solid currentColor; border-top:0; border-radius:0 0 3px 3px;
}
.ticket-smart-icon.is-turn::before {
  content:""; position:absolute; left:50%; top:-8px; width:1.6px; height:8px;
  background:currentColor; transform:translateX(-50%);
}
.ticket-smart-icon.is-turn::after {
  content:""; position:absolute; left:50%; top:-3px; width:5px; height:5px;
  border-right:1.6px solid currentColor; border-bottom:1.6px solid currentColor;
  transform:translateX(-50%) rotate(45deg);
}

/* Başlık künyesi işin sırasını da söyler — yeni kutu açmadan (§3.8). */
:is(#page-tickets,#ticketModal,#recentTickets) .ticket-inspector-title .ticket-turn-note { font-style:normal; }
:is(#page-tickets,#ticketModal,#recentTickets) .ticket-inspector-title .ticket-turn-note.is-mine { color:var(--ticket-workspace-blue); font-weight:700; }

/* Yanıtlar inemediyse: tek cümle + tek eylem. */
.ticket-activity-loading.is-failed { color:var(--desk-muted,var(--muted)); }
.ticket-activity-loading.is-failed>button {
  padding:0; border:0; background:none; color:var(--ticket-workspace-blue);
  font:inherit; font-weight:650; cursor:pointer;
}
.ticket-activity-loading.is-failed>button:hover { text-decoration:underline; }
.ticket-activity-loading.is-failed>button:focus-visible { outline:2px solid var(--accent); outline-offset:2px; border-radius:4px; }

/* Hazır yanıtlar: emoji balonunun aynısı, satırları metin. */
.tk-emoji-picker.is-quick-replies {
  grid-template-columns:minmax(0,1fr);
  width:min(280px,calc(100vw - 56px));
  max-height:300px;
  padding:6px;
}
.tk-emoji-picker.is-quick-replies button {
  height:auto; min-height:34px; display:block; padding:8px 10px;
  color:var(--desk-ink,var(--text)); font:500 12.5px/1.35 var(--font);
  text-align:left; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.tk-emoji-picker.is-quick-replies button:focus-visible { outline:2px solid var(--accent); outline-offset:-2px; }

/* Klasör şeridi: yalnız soldaki klasör paneli gizliyken görünür. */
#page-tickets .ticket-workspace-controls .ticket-tabs { min-width:0; max-width:100%; overflow-x:auto; scrollbar-width:none; }
#page-tickets .ticket-workspace-controls .ticket-tabs::-webkit-scrollbar { display:none; }
#page-tickets .ticket-workspace-controls .ticket-tab { flex:0 0 auto; white-space:nowrap; }
#page-tickets .ticket-tab .ticket-tab-count {
  min-width:0; height:auto; padding:0; margin-left:4px; border-radius:0;
  background:none; color:var(--desk-muted,var(--muted)); font-size:11px; font-weight:650;
}
#page-tickets .ticket-tab.has-unread .ticket-tab-count { color:var(--ticket-workspace-blue); font-weight:800; }
/* 721–1100px: şerit arama çubuğunu sıkıştırmasın diye kendi satırına iner. */
@media (min-width:721px) and (max-width:1100px) {
  #page-tickets .ticket-workspace-toolbar { grid-template-columns:minmax(0,1fr) auto auto auto; }
  #page-tickets .ticket-workspace-controls .ticket-tabs { grid-column:1/-1; grid-row:2; justify-self:start; }
}
@media (min-width:1101px) {
  #page-tickets .ticket-workspace-controls .ticket-tabs { display:none; }
  #page-tickets .ticket-workspace-toolbar { grid-template-columns:minmax(220px,1fr) auto auto auto; }
}

#page-tickets .ticket-list-pane>header .ticket-list-total { font:inherit; color:inherit; }
/* Telefon: klasör şeridi kendi satırında tam genişlik; altında arama + Filtreler.
   Liste başlığında toplam sayı düşer, okunmamış sayısı kalır. */
@media (max-width:720px) {
  #page-tickets .ticket-workspace-toolbar { grid-template-columns:minmax(0,1fr) auto auto; }
  #page-tickets .ticket-workspace-controls .ticket-tabs { grid-column:1/-1; grid-row:1; }
  #page-tickets .ticket-workspace-search { grid-column:1; grid-row:2; }
  #page-tickets .ticket-workspace-filter-toggle { grid-column:2; grid-row:2; }
  #page-tickets .ticket-workspace-toolbar>.page-help-btn { grid-column:3; grid-row:2; }
  #page-tickets .ticket-list-pane>header:has(.ticket-list-unread) .ticket-list-total { display:none; }
}
@container (max-width:720px) {
  #page-tickets .ticket-workspace-toolbar { grid-template-columns:minmax(0,1fr) auto auto; }
  #page-tickets .ticket-workspace-controls .ticket-tabs { grid-column:1/-1; grid-row:1; }
  #page-tickets .ticket-workspace-search { grid-column:1; grid-row:2; }
  #page-tickets .ticket-workspace-filter-toggle { grid-column:2; grid-row:2; }
  #page-tickets .ticket-workspace-toolbar>.page-help-btn { grid-column:3; grid-row:2; }
}
/* Telefon: bilgi şeridi sarar (§4.2 — sarma yalnız dar ekranda). Eskiden
   :has() kuralı sarmayı eziyordu; Durum/Öncelik kutuları 69px'e sıkışıp
   değerlerini hiç göstermiyordu. Durum + öncelik bir satır, bağlam altında. */
@media (max-width:720px) {
  :is(#page-tickets,#ticketModal,#recentTickets) .ticket-workspace-inspector .ticket-inspector-topline:not(:has(.tk-scope-editor-row)) { flex-wrap:wrap; }
  :is(#page-tickets,#ticketModal,#recentTickets) .ticket-workspace-inspector .ticket-inspector-topline .ticket-inspector-meta { flex:1 1 100%; gap:8px; }
  :is(#page-tickets,#ticketModal,#recentTickets) .ticket-workspace-inspector .ticket-inspector-topline .ticket-inspector-meta.is-compact>button { flex:1 1 0; width:auto; }
}
/* Yazma çubuğu panelin en altında durur: ipucu aşağı açılınca kesiliyordu,
   bu yüzden çubuktaki araçların ipucu YUKARI açılır. */
.ticket-inline-composer [data-delayed-tip]::after { top:auto; bottom:calc(100% + 9px); }
.ticket-inline-composer [data-delayed-tip]::before {
  top:auto; bottom:calc(100% + 6px);
  border-top:0; border-left:0;
  border-right:1px solid rgba(31,41,55,.12); border-bottom:1px solid rgba(31,41,55,.12);
}

/* Kaldırılan ticket satırı: kalan süre üstte, Geri Yükle/Sil altta — "Kapalı / 11 sa"
   sütunuyla aynı dikey düzen. Yan yana dizilince dar sütundan taşıp mesajın üstüne biniyordu. */
:is(#page-tickets,#recentTickets) .ticket-file-row:has(.ticket-file-trash) .ticket-file-side { width:62px; }
:is(#page-tickets,#recentTickets) .ticket-file-trash { flex-direction:column; align-items:flex-end; gap:3px; }
:is(#page-tickets,#recentTickets) .ticket-file-trash>b { font-size:var(--type-caption, 10px); }
:is(#page-tickets,#recentTickets) .ticket-file-row:has(.ticket-file-trash) { grid-template-columns:7px minmax(0,1fr) 62px; }

/* ── Ticket kişileri (2026-09-25, TASARIM-DILI §3.8) ──────────────────────
   Bilgi şeridinin altındaki sakin tek satır: kutu değil. Adlar düz metin,
   düzenlemede ad hapları (içeride dolu, dışarıda kesikli). Satır sarmaz;
   yalnız düzenleme sırasında dar ekranda haplar alt satıra iner. */
.ticket-people-row { display:flex; align-items:center; gap:var(--space-2, 8px); min-width:0; min-height:28px; margin:6px 0 2px; }
.ticket-people-label { flex:0 0 auto; color:var(--desk-muted, var(--muted)); font-size:var(--type-caption, 11px); font-weight:650; letter-spacing:.06em; text-transform:uppercase; }
.ticket-people-list { display:flex; align-items:center; gap:6px; flex:1 1 auto; min-width:0; overflow:hidden; white-space:nowrap; }
.ticket-people-list > .ticket-person:not(button) + .ticket-person:not(button)::before { content:"·"; margin-right:6px; color:var(--desk-muted, var(--muted)); }
.ticket-person { color:var(--desk-ink, var(--text)); font-size:var(--type-meta, 12px); font-weight:600; overflow:hidden; text-overflow:ellipsis; }
.ticket-people-all { color:var(--desk-ink, var(--text)); font-size:var(--type-meta, 12px); font-weight:600; }
.ticket-people-add { flex:0 0 auto; display:inline-grid; place-items:center; width:24px; height:24px; padding:0; border:1px solid var(--desk-line, var(--border)); border-radius:50%; background:transparent; color:var(--desk-muted, var(--muted)); font:inherit; font-size:15px; line-height:1; cursor:pointer; }
.ticket-people-add:hover { border-color:var(--accent); color:var(--accent); }
.ticket-people-follow { flex:0 0 auto; margin-left:auto; padding:3px 8px; border:0; border-radius:8px; background:transparent; color:var(--accent); font:inherit; font-size:var(--type-meta, 12px); font-weight:650; cursor:pointer; }
.ticket-people-follow.is-quiet { color:var(--desk-muted, var(--muted)); font-weight:550; }
.ticket-people-follow:hover { background:var(--desk-soft, color-mix(in srgb, var(--accent) 8%, transparent)); }
.ticket-people-row.is-editing { align-items:flex-start; flex-wrap:wrap; }
.ticket-people-row.is-editing .ticket-people-label { line-height:26px; }
.ticket-people-row.is-editing .ticket-people-list { flex-wrap:wrap; white-space:normal; overflow:visible; }
.ticket-people-row.is-editing .ticket-person { display:inline-flex; align-items:center; gap:5px; height:26px; padding:0 10px; border:1px solid var(--desk-line, var(--border)); border-radius:999px; background:transparent; font:inherit; font-size:var(--type-meta, 12px); font-weight:600; white-space:nowrap; cursor:pointer; }
.ticket-people-row.is-editing .ticket-person.is-in { border-color:color-mix(in srgb, var(--accent) 45%, var(--desk-line, var(--border))); background:color-mix(in srgb, var(--accent) 10%, transparent); color:var(--desk-ink, var(--text)); }
.ticket-people-row.is-editing .ticket-person.is-out { border-style:dashed; color:var(--desk-muted, var(--muted)); }
.ticket-people-row.is-editing .ticket-person.is-opener { cursor:default; }
.ticket-people-row.is-editing .ticket-person i { font-style:normal; font-size:13px; line-height:1; opacity:.7; }
.ticket-people-row.is-editing button.ticket-person:hover { border-color:var(--accent); }
/* Düzenleme sonu: Vazgeç/Kaydet yazılı düğmeler değil, + ile aynı 26px
   yuvarlak simgeler (× vazgeç, ✓ kaydet). Değişiklik yokken ✓ sönük. */
.ticket-people-actions { display:flex; align-items:center; gap:6px; margin-left:auto; }
.ticket-people-actions .ticket-people-add { width:26px; height:26px; }
.ticket-people-actions .ticket-people-add.is-cancel:hover { border-color:var(--desk-muted, var(--muted)); color:var(--desk-ink, var(--text)); }
.ticket-people-actions .ticket-people-add.is-done:not(:disabled) { border-color:var(--accent); background:var(--accent); color:var(--on-accent); }
.ticket-people-actions .ticket-people-add.is-done:not(:disabled):hover { filter:brightness(1.08); }
.ticket-people-actions .ticket-people-add:disabled { opacity:.4; cursor:default; }
.ticket-people-actions .ticket-people-add:disabled:hover { border-color:var(--desk-line, var(--border)); color:var(--accent); }
.ticket-people-add:focus-visible,
.ticket-people-follow:focus-visible,
.ticket-people-row button.ticket-person:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
/* Yeni ticket formundaki kişiler satırı: mesajın altında, eylemlerin üstünde. */
.ticket-people-row.is-draft { margin:var(--space-2, 8px) 0 var(--space-3, 12px); }
.ticket-people-add.is-done { color:var(--accent); border-color:color-mix(in srgb, var(--accent) 45%, var(--desk-line, var(--border))); }
.ticket-people-add svg { width:13px; height:13px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }

/* ── Ticket sepeti · sade dil (2026-09-26) ───────────────────────────
   Sepet bir liste yüzeyidir (§3.6): kartın içinde kutu yok, taslaklar 1px
   ayraçla ayrılır. Satır = konu (+ tek rozet) · sipariş künyesi · mesajın ilk
   satırı. Renkli şerit, numara kutusu, çip yığını ve gölgeli ikon yok.
   Form altında iki düğme: Sepete ekle (birincil) + Ekle ve gönder. */
#page-new-ticket .ticket-cart-card { gap:12px; min-height:0; padding:16px; box-shadow:var(--shadow); background:var(--desk-paper); border-color:var(--desk-line); }
#page-new-ticket .ticket-cart-head { display:flex;  justify-content:space-between; gap:8px; }
#page-new-ticket .ticket-cart-title-wrap { display:grid; gap:4px; min-width:0; }
#page-new-ticket .ticket-cart-head .tk-rail-title { margin:0; color:var(--desk-ink); font-size:var(--type-section,16px); font-weight:650; letter-spacing:-.02em; line-height:1.2; text-transform:none; }

#page-new-ticket .ticket-cart-meta { overflow:hidden; color:var(--desk-muted); font-size:var(--type-meta,12px); font-weight:500; letter-spacing:0; line-height:1.3; text-overflow:ellipsis; white-space:nowrap; }
#page-new-ticket .ticket-cart-clear {
  min-height:29px; padding:0 8px; border:0; border-radius:8px; background:transparent;
  color:var(--desk-muted); font:600 var(--type-meta,12px) var(--font); cursor:pointer;
}
#page-new-ticket .ticket-cart-clear:hover { background:var(--desk-soft); color:var(--danger); }
#page-new-ticket .ticket-cart-clear:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }

#page-new-ticket .ticket-cart-list { display:block; gap:0; min-height:0; }
#page-new-ticket .ticket-cart-empty { min-height:0; margin:0; padding:8px 0; border:0; background:none; color:var(--desk-muted); font-size:var(--type-meta,12px); line-height:1.5; text-align:left; }
#page-new-ticket .ticket-cart-item {
  display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px; align-items:start;
  margin:0 -8px; padding:12px 8px; border:0; border-radius:10px; background:transparent; box-shadow:none; overflow:visible;
}
#page-new-ticket .ticket-cart-item::before { content:none; }
#page-new-ticket .ticket-cart-item + .ticket-cart-item { box-shadow:0 -1px 0 var(--desk-line); border-radius:0 0 10px 10px; }
#page-new-ticket .ticket-cart-item:hover { background:var(--desk-soft); border-color:transparent; }
#page-new-ticket .ticket-cart-item.is-editing { background:var(--accent-soft); border-color:transparent; box-shadow:none; }
#page-new-ticket .ticket-cart-item-main { display:grid; gap:4px; min-width:0; }
#page-new-ticket .ticket-cart-item-top { display:flex; align-items:center; gap:8px; min-width:0; }
#page-new-ticket .ticket-cart-item-main strong { min-width:0; overflow:hidden; color:var(--desk-ink); font-size:var(--type-control,13px); font-weight:650; letter-spacing:-.01em; line-height:1.35; text-overflow:ellipsis; white-space:nowrap; }
#page-new-ticket .ticket-cart-item-top .termin-badge { flex:0 0 auto; }
#page-new-ticket .ticket-cart-item-sips,
#page-new-ticket .ticket-cart-item-msg {
  display:block; min-width:0; margin:0; overflow:hidden; font-size:var(--type-meta,12px); line-height:1.3;
  text-overflow:ellipsis; white-space:nowrap; -webkit-line-clamp:unset;
}
#page-new-ticket .ticket-cart-item-sips { color:var(--desk-muted); font-weight:600; letter-spacing:.015em; font-variant-numeric:tabular-nums lining-nums; }
#page-new-ticket .ticket-cart-item-msg { color:var(--desk-muted); font-weight:450; }
#page-new-ticket .ticket-cart-item-actions { display:flex; flex-direction:row; gap:2px; }
#page-new-ticket .ticket-cart-item-actions button { width:29px; height:29px; border:0; border-radius:8px; background:transparent; color:var(--desk-muted); }
#page-new-ticket .ticket-cart-item-actions button:hover { background:var(--desk-paper); }
#page-new-ticket .ticket-cart-item-actions .ticket-cart-remove:hover { color:var(--danger); background:var(--desk-paper); }
#page-new-ticket .ticket-cart-item-actions button:focus-visible { outline:2px solid var(--accent); outline-offset:1px; }

#page-new-ticket .ticket-cart-send { width:100%; min-height:40px; border-radius:10px; font-size:var(--type-control,13px); font-weight:600; box-shadow:none; }
#page-new-ticket .ticket-cart-send:not(:disabled) { box-shadow:none; }

/* Form altı: sağa yaslı iki düğme, tek satır, açıklamasız. */
#page-new-ticket .ticket-draft-actions { display:flex; justify-content:flex-end; align-items:center; gap:8px; padding-top:16px; }
#page-new-ticket .ticket-draft-actions .btn { width:auto; min-height:40px; margin:0; padding:0 18px; border-radius:10px; font-size:var(--type-control,13px); font-weight:600; box-shadow:none; }
#page-new-ticket .ticket-draft-actions .btn:hover { box-shadow:none; }

#page-new-ticket .ticket-draft-actions .ticket-cancel-edit { grid-column:auto; }
#page-new-ticket .ticket-submit-btn .ticket-submit-copy { display:inline; line-height:1.2; }
@media (max-width:520px) {
  #page-new-ticket .ticket-draft-actions { display:grid; grid-template-columns:1fr 1fr; }
  #page-new-ticket .ticket-draft-actions .btn { min-height:44px; }
}

/* Gönderim onayı: taslaklar kutu değil, 1px ayraçlı satırlar. */
.ticket-cart-send-modal { width:min(560px,94vw); padding:24px; border-radius:16px; }
.ticket-cart-send-modal > h2 { margin:0 0 4px; font-size:var(--type-section,16px); font-weight:650; letter-spacing:-.02em; }
.ticket-cart-send-modal > p { margin:0; color:var(--muted); font-size:var(--type-meta,12px); line-height:1.4; }
.ticket-cart-send-list { display:block; max-height:min(55vh,480px); margin:16px 0 20px; padding:0; overflow-y:auto; border-top:1px solid var(--border); }
.ticket-cart-send-group { padding:12px 0; border:0; border-bottom:1px solid var(--border); border-radius:0; background:none; }
.ticket-cart-send-head { display:flex; align-items:center; justify-content:space-between; gap:8px; }
.ticket-cart-send-head strong { min-width:0; overflow:hidden; color:var(--text); font-size:var(--type-control,13px); font-weight:650; text-overflow:ellipsis; white-space:nowrap; }
.ticket-cart-send-sips { display:block; margin-top:4px; overflow:hidden; color:var(--muted); font-size:var(--type-meta,12px); font-weight:600; letter-spacing:.015em; font-variant-numeric:tabular-nums lining-nums; text-overflow:ellipsis; white-space:nowrap; }
.ticket-cart-send-group p { margin:8px 0 0; color:var(--text); font-size:var(--type-control,13px); line-height:1.5; }
.ticket-cart-send-modal .ticket-forward-actions .btn { min-height:36px; padding:0 16px; border-radius:10px; font-size:var(--type-control,13px); font-weight:600; box-shadow:none; }
@media (max-width:520px) { .ticket-cart-send-modal { width:100%; padding:20px 16px; } }
#page-new-ticket .ticket-cart-head { align-items:center; }
#page-new-ticket .ticket-cart-item .termin-badge.overdue { background:color-mix(in srgb,var(--danger) 16%,transparent); color:var(--danger); }
#page-new-ticket .ticket-cart-item .termin-badge.soon { background:var(--warning-fill); color:var(--warning-ink); }
.ticket-cart-send-head > .termin-section-count { color:var(--muted); font-weight:600; }

/* ─── YENİ TİCKET 2026-10-10: düzenli konu ızgarası + Ticketlarım rayı ───
   Konu: iki sütunlu, eşit kutulu tek ızgara (talep türü sekmesi yok).
   Kutu = ikon + tek satır ad; seçili kutu vurgu çizgisi + ✓. Admin sırası korunur.
   Ray: sepet yerine kişiye özel liste (gönderen, gündem, Açtıklarım/Bana gelen).
   Satır: §3.6 liste satırı, dar raya göre (TASARIM-DILI §3.30). */
/* Önizleme yalnız yeri varsa durur: form dar kalınca konu ızgarası tam
   genişliğe yayılır (3 sütun) ve önizleme gizlenir — konu adları kırpılmaz. */
html #page-new-ticket .ticket-form-card { container:tkform / inline-size; }
@media(min-width:900px) {
  html #page-new-ticket .ticket-intent-form-group { grid-template-columns:minmax(0,1.4fr) minmax(280px,1fr); column-gap:24px; }
}
html #page-new-ticket .ticket-category-row-check:empty { display:none; }
html #page-new-ticket .ticket-category-list {
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--space-2); margin:0; padding:0;
}
html #page-new-ticket .ticket-category-row {
  display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:10px;
  width:100%; min-width:0; height:48px; min-height:48px; padding:0 10px; margin:0;
  border:1px solid var(--desk-line); border-radius:12px; background:var(--desk-paper);
  color:var(--desk-ink); box-shadow:none; text-align:left; cursor:pointer;
  transition:background .14s ease, border-color .14s ease, transform .12s cubic-bezier(.2,.75,.25,1);
}
html #page-new-ticket .ticket-category-row:hover { background:var(--desk-soft); border-color:color-mix(in srgb,var(--desk-muted) 55%,transparent); }
html #page-new-ticket .ticket-category-row:active { transform:scale(.985); }
html #page-new-ticket .ticket-category-row:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
html #page-new-ticket .ticket-category-row.selected {
  border-color:var(--accent); background:color-mix(in srgb,var(--accent) 9%,var(--desk-paper));
}
html #page-new-ticket .ticket-category-row-icon {
  display:flex; align-items:center; justify-content:center; width:28px; height:28px; border-radius:8px;
  background:var(--desk-soft); color:var(--desk-muted);
}
html #page-new-ticket .ticket-category-row.selected .ticket-category-row-icon { color:var(--accent); background:color-mix(in srgb,var(--accent) 14%,transparent); }
html #page-new-ticket .ticket-category-row-icon svg { width:16px; height:16px; }
html #page-new-ticket .ticket-category-row-copy { min-width:0; }
html #page-new-ticket .ticket-category-row-copy strong {
  display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
  font-size:var(--type-control,13px); font-weight:600; line-height:1.3; color:var(--desk-ink);
}
html #page-new-ticket .ticket-category-row-check {
  display:flex; align-items:center; justify-content:center; width:18px; height:18px; border-radius:50%;
  font-size:11px; font-weight:700; color:transparent; background:transparent;
}
html #page-new-ticket .ticket-category-row.selected .ticket-category-row-check { color:var(--on-accent,white); background:var(--accent); }
html #page-new-ticket .ticket-category-manage { grid-column:1 / -1; justify-self:start; margin-top:var(--space-1); }
html #page-new-ticket .ticket-category-stage { padding:0; border:0; background:none; box-shadow:none; }

/* Ray */
html #page-new-ticket .tk-mine-card { display:grid; gap:var(--space-3); padding:var(--space-4); }
html #page-new-ticket .tk-mine .tk-sender { border:0; padding:0; min-height:0; background:none; box-shadow:none; }
html #page-new-ticket .tk-mine .tk-sender .tk-avatar { width:34px; height:34px; font-size:12px; box-shadow:none; }
html #page-new-ticket .tk-mine .tk-sender-name { font-size:var(--type-body,14px); font-weight:650; }
html #page-new-ticket .tk-mine .tk-sender-office { font-size:var(--type-meta,12px); color:var(--desk-muted); }
html #page-new-ticket .tk-mine-agenda { display:flex; flex-wrap:wrap; gap:4px 12px; min-height:20px; }
html #page-new-ticket .tk-mine-agenda-item {
  display:inline-flex; align-items:center; gap:6px; padding:0; border:0; background:none;
  font:inherit; font-size:var(--type-meta,12px); color:var(--desk-muted); cursor:default;
}
html #page-new-ticket button.tk-mine-agenda-item { cursor:pointer; }
html #page-new-ticket button.tk-mine-agenda-item:hover { color:var(--desk-ink); }
html #page-new-ticket .tk-mine-agenda-item i { width:7px; height:7px; border-radius:50%; background:var(--desk-muted); }
html #page-new-ticket .tk-mine-agenda-item.is-turn i { background:var(--accent); }
html #page-new-ticket .tk-mine-agenda-item.is-new i { background:var(--warning-fill, var(--warning)); }
html #page-new-ticket .tk-mine-agenda-item b { color:var(--desk-ink); font-weight:700; font-variant-numeric:tabular-nums; }
html #page-new-ticket .tk-mine-agenda-empty { font-size:var(--type-meta,12px); color:var(--desk-muted); }
html #page-new-ticket .tk-mine-tabs {
  display:grid; grid-template-columns:1fr 1fr; gap:2px; padding:3px; border-radius:10px; background:var(--desk-soft);
}
html #page-new-ticket .tk-mine-tabs button {
  display:inline-flex; align-items:center; justify-content:center; gap:6px; height:30px; padding:0 8px;
  border:0; border-radius:8px; background:transparent; color:var(--desk-muted);
  font:inherit; font-size:var(--type-meta,12px); font-weight:600; cursor:pointer;
}
html #page-new-ticket .tk-mine-tabs button span { font-variant-numeric:tabular-nums; opacity:.8; }
html #page-new-ticket .tk-mine-tabs button.is-active { background:var(--desk-paper); color:var(--desk-ink); box-shadow:0 1px 2px rgba(0,0,0,.12); }
html #page-new-ticket .tk-mine-tabs button:focus-visible { outline:2px solid var(--accent); outline-offset:1px; }
html #page-new-ticket .tk-mine-list { display:grid; gap:2px; margin:0 calc(var(--space-2) * -1); }
html #page-new-ticket .tk-mine-row {
  display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; column-gap:10px; row-gap:2px;
  width:100%; padding:9px var(--space-2); border:0; border-radius:10px; background:transparent;
  color:var(--desk-ink); font:inherit; text-align:left; cursor:pointer; transition:background .14s ease;
}
html #page-new-ticket .tk-mine-row:hover { background:var(--desk-soft); }
html #page-new-ticket .tk-mine-row:focus-visible { outline:2px solid var(--accent); outline-offset:-2px; }
html #page-new-ticket .tk-mine-dot { grid-row:1 / span 2; align-self:start; margin-top:5px; width:8px; height:8px; border-radius:50%; background:var(--row-dot, var(--desk-muted)); }
html #page-new-ticket .tk-mine-title { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:var(--type-control,13px); font-weight:600; }
html #page-new-ticket .tk-mine-row.is-unread .tk-mine-title { font-weight:750; }

html #page-new-ticket .tk-mine-title em.is-p2 { color:var(--danger); }
html #page-new-ticket .tk-mine-row time { font-size:var(--type-caption,11px); color:var(--desk-muted); font-variant-numeric:tabular-nums; white-space:nowrap; }
html #page-new-ticket .tk-mine-meta { grid-column:2 / -1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:var(--type-meta,12px); color:var(--desk-muted); font-variant-numeric:tabular-nums; }
html #page-new-ticket .tk-mine-meta .is-open { color:var(--success); }
html #page-new-ticket .tk-mine-meta .is-progress { color:var(--warning); }
html #page-new-ticket .tk-mine-meta b { color:var(--accent); font-weight:650; }
html #page-new-ticket .tk-mine-row.is-closed { opacity:.72; }
html #page-new-ticket .tk-mine-row.ticket-just-sent { background:color-mix(in srgb,var(--accent) 12%,transparent); }
html #page-new-ticket .tk-mine-empty { margin:0; padding:var(--space-3) var(--space-2); font-size:var(--type-meta,12px); color:var(--desk-muted); text-align:center; }
html #page-new-ticket .tk-mine-all {
  justify-self:start; padding:0; border:0; background:none; font:inherit; font-size:var(--type-meta,12px);
  font-weight:600; color:var(--accent); cursor:pointer;
}
html #page-new-ticket .tk-mine-all span { display:inline-block; transition:transform .14s cubic-bezier(.2,.75,.25,1); }
html #page-new-ticket .tk-mine-all:hover span { transform:translateX(3px); }
html #page-new-ticket .tk-mine .ticket-cart-card[hidden] { display:none; }
@media (prefers-reduced-motion: reduce) {
  html #page-new-ticket .ticket-category-row, html #page-new-ticket .tk-mine-all span { transition:none; }
  html #page-new-ticket .ticket-category-row:active { transform:none; }
}

/* Form genişliğine göre konu ızgarası (dosyanın sonunda: temel kuralları ezer). */
@container tkform (max-width: 900px) {
  html #page-new-ticket .ticket-intent-form-group { display:block; }
  html #page-new-ticket .ticket-mini-stage { display:none; }
  html #page-new-ticket .ticket-category-list { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@container tkform (max-width: 560px) {
  html #page-new-ticket .ticket-category-list { grid-template-columns:repeat(2,minmax(0,1fr)); }
  /* Telefonda iki sütun dar kalır: ad en çok iki satıra iner, kutu boyu sabit. */
  html #page-new-ticket .ticket-category-row { height:52px; min-height:52px; gap:8px; padding:0 8px; }
  html #page-new-ticket .ticket-category-row-copy strong {
    white-space:normal; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; line-height:1.2;
  }
}

/* ─── Bağlam penceresi (2026-10-16) ──────────────────────────────────────
   Eskiden kumaş bağlamı ticketın içinde alta inen bir kutuda seçiliyordu;
   artık ticketın üstünde sakin bir pencere açılır. Satır = işaret · kumaş
   adı + renkler · kg. Alt şerit: kaç kumaş seçili + Vazgeç / Uygula.
   Esc kapatır, ⌘/Ctrl+Enter uygular. iPhone'da alttan açılan tabaka. */
.tks-host { position:fixed; inset:0; z-index:2000; display:grid; place-items:center; padding:20px; }
.tks-scrim { position:absolute; inset:0; background:rgba(11,17,28,.32); backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px); animation:tksFade .16s ease; }
.tks {
  position:relative; width:min(520px,100%); max-height:min(640px,calc(100dvh - 40px));
  display:flex; flex-direction:column; overflow:hidden;
  color:var(--text); border:1px solid var(--border); border-radius:16px;
  background:var(--surface-solid,#fff);
  box-shadow:0 28px 80px -28px rgba(10,20,40,.5),0 1px 2px rgba(10,20,40,.06);
  animation:tksIn .18s cubic-bezier(.2,.8,.2,1);
}
@keyframes tksFade { from { opacity:0; } }
@keyframes tksIn { from { opacity:0; transform:translateY(8px) scale(.985); } }
.tks-head { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; padding:16px 16px 12px 20px; }
.tks-head > div { display:grid; gap:3px; min-width:0; }
.tks-head strong { font-size:15px; font-weight:700; letter-spacing:-.01em; line-height:1.3; }
.tks-head small { color:var(--muted); font-size:12px; font-weight:500; }
.tks-x { width:30px; height:30px; flex:0 0 30px; display:grid; place-items:center; padding:0; border:0; border-radius:8px; color:var(--muted); background:transparent; cursor:pointer; transition:background .14s ease,color .14s ease; }
.tks-x:hover { color:var(--text); background:color-mix(in srgb,var(--text) 7%,transparent); }
.tks-search { display:flex; align-items:center; gap:8px; margin:0 16px 8px; padding:0 11px; height:36px; border:1px solid var(--border); border-radius:10px; color:var(--muted); text-transform:none; letter-spacing:normal; transition:border-color .14s ease,box-shadow .14s ease; }
.tks-search[hidden] { display:none; }
.tks-tabs { display:flex; gap:6px; margin:0 16px 8px; padding:2px 0 6px; overflow-x:auto; overscroll-behavior:contain; scrollbar-width:none; }
.tks-tabs[hidden] { display:none; }
.tks-tab { flex:0 0 auto; display:grid; gap:1px; min-width:0; max-width:190px; padding:7px 12px; border:1px solid var(--border); border-radius:10px; color:var(--text); background:transparent; text-align:left; cursor:pointer; transition:background .14s ease,border-color .14s ease; }
.tks-tab strong { overflow:hidden; font-size:12.5px; font-weight:650; white-space:nowrap; text-overflow:ellipsis; }
.tks-tab small { color:var(--muted); font-size:11px; font-weight:500; white-space:nowrap; }
.tks-tab:hover { background:color-mix(in srgb,var(--text) 5%,transparent); }
.tks-tab.is-on { border-color:color-mix(in srgb,var(--accent) 55%,var(--border)); background:color-mix(in srgb,var(--accent) 9%,transparent); }
.tks-tab.is-specific small { color:var(--accent); }
.tks-tab:focus-visible { outline:2px solid var(--accent); outline-offset:1px; }
.tks-search:focus-within { border-color:color-mix(in srgb,var(--accent) 55%,var(--border)); box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 14%,transparent); }
.tks-search input { flex:1; min-width:0; height:100%; padding:0; border:0; outline:0; color:var(--text); background:transparent; font:500 13px var(--font,inherit); box-shadow:none; }
.tks-list { flex:1 1 auto; min-height:0; overflow-y:auto; overscroll-behavior:contain; padding:2px 8px 10px; }
.tks-row {
  width:100%; display:grid; grid-template-columns:18px minmax(0,1fr) auto; align-items:center; gap:12px;
  min-height:52px; padding:8px 12px; border:0; border-radius:10px;
  color:var(--text); background:transparent; font:inherit; text-align:left; cursor:pointer;
  transition:background .12s ease;
}
.tks-row + .tks-row { margin-top:2px; }
.tks-row:hover { background:color-mix(in srgb,var(--text) 5%,transparent); }
.tks-row.is-on { background:color-mix(in srgb,var(--accent) 9%,transparent); }
.tks-row:focus-visible { outline:2px solid var(--accent); outline-offset:-2px; }
.tks-mark { position:relative; width:18px; height:18px; border:1.5px solid color-mix(in srgb,var(--text) 28%,transparent); border-radius:5px; transition:background .12s ease,border-color .12s ease; }
.tks-mark.is-radio { border-radius:50%; }
.tks-row.is-on .tks-mark { border-color:var(--accent); background:var(--accent); }
.tks-row.is-on .tks-mark::after { content:""; position:absolute; left:5px; top:1.5px; width:4px; height:9px; border:solid var(--on-accent); border-width:0 2px 2px 0; transform:rotate(45deg); }
.tks-row.is-on .tks-mark.is-radio::after { left:50%; top:50%; width:6px; height:6px; border:0; border-radius:50%; background:var(--on-accent); transform:translate(-50%,-50%); }
.tks-name { display:grid; gap:2px; min-width:0; }
.tks-name strong { overflow:hidden; font-size:13px; font-weight:650; line-height:1.3; white-space:nowrap; text-overflow:ellipsis; }
.tks-name small { overflow:hidden; color:var(--muted); font-size:11.5px; font-weight:500; white-space:nowrap; text-overflow:ellipsis; }
.tks-kg { color:var(--muted); font-size:12px; font-weight:600; font-variant-numeric:tabular-nums; white-space:nowrap; }
.tks-row.is-on .tks-kg { color:var(--text); }
.tks-sep { display:flex; align-items:center; gap:10px; margin:8px 12px 4px; color:var(--muted); font-size:11px; font-weight:600; }
.tks-sep::after { content:""; flex:1; height:1px; background:var(--border); }
.tks-empty { padding:22px 12px; color:var(--muted); font-size:12.5px; text-align:center; }
.tks-foot { display:flex; align-items:center; gap:8px; padding:12px 16px; border-top:1px solid var(--border); }
.tks-count { flex:1; min-width:0; color:var(--muted); font-size:12px; font-weight:600; }
.tks-foot .btn { min-height:34px; padding:0 14px; border-radius:9px; font-size:13px; font-weight:650; }
.tks-foot .btn:disabled { opacity:.45; cursor:not-allowed; }
html[data-theme="dark"] .tks-scrim { background:rgba(0,0,0,.55); }
html[data-theme="dark"] .tks { background:var(--desk-paper,var(--surface-solid)); box-shadow:0 28px 80px -24px rgba(0,0,0,.85),0 0 0 1px rgba(255,255,255,.04); }
@media (max-width:500px) {
  .tks-host { place-items:end stretch; padding:0; }
  .tks { width:100%; max-height:86dvh; border-width:1px 0 0; border-radius:16px 16px 0 0; animation-name:tksUp; }
  .tks-foot { padding-bottom:calc(12px + env(safe-area-inset-bottom)); }
  .tks-search input { font-size:16px; }
  @keyframes tksUp { from { transform:translateY(24px); opacity:0; } }
}
@media (prefers-reduced-motion:reduce) { .tks,.tks-scrim { animation:none; } }

/* Fiyat yanıtı (2026-10-18): maliyet sitesinden fiyat gönderilince açık
   "Fiyatlama Talebi" ticketına düşen kart. Renk kodu kartıyla aynı dil. */
.ticket-price-reply{display:grid;gap:3px;justify-items:start}
.ticket-price-reply>small{font-size:9px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--success)}
.ticket-price-reply-order{font-size:12px;color:var(--desk-muted)}
.ticket-price-reply>strong{font:800 17px var(--font);font-variant-numeric:tabular-nums;color:var(--desk-ink)}
.ticket-price-reply-meta{font-size:12px;color:var(--desk-muted);font-variant-numeric:tabular-nums}
.ticket-price-reply-meta:empty{display:none}
.ticket-price-reply>button{margin-top:4px;padding:3px 10px;border:1px solid var(--desk-line);border-radius:8px;background:transparent;color:var(--desk-ink);font:600 12px var(--font);cursor:pointer}
.ticket-price-reply>button:hover{background:var(--desk-soft)}

/* ─── Ticket penceresi A+B (2026-11-03, kullanıcı seçimi) ───────────────
   A: durum · öncelik · bağlam · kişiler tek hap şeridi (üç kutu kalktı).
   B: akış sohbet düzenindedir — kendi ofisim sağda, karşı ofis solda, baş harf
   rozeti, balonun üstünde "yazan · ofis · saat". Açılış ortada ince satır;
   başlık metni ("Yanıt eklendi") ekran okuyucuya kalır. TASARIM-DILI §3.8. */
:is(#page-tickets,#ticketModal,#recentTickets) .ticket-workspace-inspector .ticket-inspector-topline.is-pills { display:flex; flex-wrap:wrap; align-items:center; gap:6px; }
:is(#page-tickets,#ticketModal,#recentTickets) .ticket-workspace-inspector .ticket-inspector-topline.is-pills .ticket-inspector-meta { display:contents; }
:is(#page-tickets,#ticketModal,#recentTickets) .ticket-workspace-inspector .ticket-inspector-topline.is-pills .ticket-inspector-meta.is-compact>button,
:is(#page-tickets,#ticketModal,#recentTickets) .ticket-workspace-inspector .ticket-inspector-topline.is-pills .tk-scope-target,
:is(#page-tickets,#ticketModal,#recentTickets) .ticket-workspace-inspector .ticket-inspector-topline.is-pills .ticket-people-row:not(.is-editing) {
  flex:none; width:auto; min-width:0; height:30px; min-height:30px; margin:0; padding:0 11px; display:inline-flex; align-items:center; gap:6px;
  border:1px solid var(--desk-line); border-radius:999px; background:transparent; box-shadow:none; color:var(--desk-ink); font-size:12.5px;
}
:is(#page-tickets,#ticketModal,#recentTickets) .ticket-workspace-inspector .ticket-inspector-topline.is-pills .ticket-inspector-meta.is-compact>button:hover,
:is(#page-tickets,#ticketModal,#recentTickets) .ticket-workspace-inspector .ticket-inspector-topline.is-pills .tk-scope-target.is-editable:hover { background:var(--desk-soft); }
:is(#page-tickets,#ticketModal,#recentTickets) .ticket-workspace-inspector .ticket-inspector-topline.is-pills .ticket-inspector-meta.is-compact>button>span,
:is(#page-tickets,#ticketModal,#recentTickets) .ticket-workspace-inspector .ticket-inspector-topline.is-pills .tk-scope-target>b,
:is(#page-tickets,#ticketModal,#recentTickets) .ticket-workspace-inspector .ticket-activity-headline>strong {
  position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap;
}
:is(#page-tickets,#ticketModal,#recentTickets) .ticket-workspace-inspector .ticket-inspector-topline.is-pills .ticket-inspector-meta.is-compact>button strong { font-size:12.5px; font-weight:600; }
:is(#page-tickets,#ticketModal,#recentTickets) .ticket-workspace-inspector .ticket-meta-ico { width:14px; height:14px; flex:none; color:var(--desk-muted); }
:is(#page-tickets,#ticketModal,#recentTickets) .ticket-workspace-inspector .ticket-meta-status:has(.is-progress) .ticket-meta-ico { color:var(--warning); }
:is(#page-tickets,#ticketModal,#recentTickets) .ticket-workspace-inspector .ticket-meta-status:has(.is-closed) .ticket-meta-ico { color:var(--success); }
:is(#page-tickets,#ticketModal,#recentTickets) .ticket-workspace-inspector .ticket-meta-priority.is-priority-1 .ticket-meta-ico { color:var(--warning); }
:is(#page-tickets,#ticketModal,#recentTickets) .ticket-workspace-inspector .ticket-meta-priority.is-priority-2 .ticket-meta-ico { color:var(--danger); }
:is(#page-tickets,#ticketModal,#recentTickets) .ticket-workspace-inspector .ticket-inspector-topline.is-pills .tk-scope-panel { flex:none; display:block; min-width:0; padding:0; border:0; background:none; box-shadow:none; }
:is(#page-tickets,#ticketModal,#recentTickets) .ticket-workspace-inspector .ticket-inspector-topline.is-pills .tk-scope-panel:has(.tk-scope-editor) { flex:1 1 100%; }
:is(#page-tickets,#ticketModal,#recentTickets) .ticket-workspace-inspector .ticket-inspector-topline.is-pills .tk-scope-orders { display:flex; flex-wrap:wrap; gap:6px; }
:is(#page-tickets,#ticketModal,#recentTickets) .ticket-workspace-inspector .ticket-inspector-topline.is-pills .tk-scope-target>i { width:auto; height:auto; border:0; background:none; font-size:10px; }
:is(#page-tickets,#ticketModal,#recentTickets) .ticket-workspace-inspector .ticket-inspector-topline.is-pills .tk-scope-target strong { font-size:12.5px; font-weight:600; }
:is(#page-tickets,#ticketModal,#recentTickets) .ticket-workspace-inspector .ticket-inspector-topline.is-pills .ticket-people-row:not(.is-editing) { padding-right:3px; }
:is(#page-tickets,#ticketModal,#recentTickets) .ticket-workspace-inspector .ticket-inspector-topline.is-pills .ticket-people-row:not(.is-editing) .ticket-people-label { font-size:10px; }
:is(#page-tickets,#ticketModal,#recentTickets) .ticket-workspace-inspector .ticket-inspector-topline.is-pills .ticket-people-row.is-editing { flex:1 1 100%; margin:4px 0 0; }

:is(#page-tickets,#ticketModal,#recentTickets) .ticket-workspace-inspector .ticket-activity-timeline { gap:14px; }
:is(#page-tickets,#ticketModal,#recentTickets) .ticket-workspace-inspector .ticket-activity-item { display:flex; align-items:flex-start; gap:10px; padding:0; }
:is(#page-tickets,#ticketModal,#recentTickets) .ticket-workspace-inspector .ticket-activity-item::before { content:none; }
:is(#page-tickets,#ticketModal,#recentTickets) .ticket-workspace-inspector .ticket-activity-node { display:none; }
:is(#page-tickets,#ticketModal,#recentTickets) .ticket-workspace-inspector .ticket-activity-item.is-mine { flex-direction:row-reverse; }
:is(#page-tickets,#ticketModal,#recentTickets) .ticket-workspace-inspector .ticket-activity-avatar {
  flex:none; width:28px; height:28px; margin-top:22px; display:grid; place-items:center; border-radius:50%;
  background:color-mix(in srgb,var(--ticket-workspace-blue) 14%,transparent); color:var(--ticket-workspace-blue); font-size:10.5px; font-weight:700;
}
:is(#page-tickets,#ticketModal,#recentTickets) .ticket-workspace-inspector .ticket-activity-avatar.is-bursa { background:color-mix(in srgb,var(--bursa) 16%,transparent); color:var(--bursa); }
:is(#page-tickets,#ticketModal,#recentTickets) .ticket-workspace-inspector .ticket-activity-copy { flex:0 1 auto; max-width:min(78%,680px); gap:5px; }
:is(#page-tickets,#ticketModal,#recentTickets) .ticket-workspace-inspector .ticket-activity-item.is-mine .ticket-activity-copy { justify-items:end; }
:is(#page-tickets,#ticketModal,#recentTickets) .ticket-workspace-inspector .ticket-activity-headline { position:relative; display:flex; align-items:center; justify-content:flex-start; gap:6px; min-height:20px; }
:is(#page-tickets,#ticketModal,#recentTickets) .ticket-workspace-inspector .ticket-activity-item.is-mine .ticket-activity-headline { flex-direction:row-reverse; }
:is(#page-tickets,#ticketModal,#recentTickets) .ticket-workspace-inspector .ticket-activity-headline .ticket-activity-author { color:var(--desk-ink); font-size:12px; font-weight:600; }
:is(#page-tickets,#ticketModal,#recentTickets) .ticket-workspace-inspector .ticket-activity-office { color:var(--desk-muted); font-weight:500; }
:is(#page-tickets,#ticketModal,#recentTickets) .ticket-workspace-inspector .ticket-activity-headline time { font-size:11.5px; }
:is(#page-tickets,#ticketModal,#recentTickets) .ticket-workspace-inspector .ticket-activity-item .ticket-activity-message { border-radius:4px 14px 14px 14px; }
:is(#page-tickets,#ticketModal,#recentTickets) .ticket-workspace-inspector .ticket-activity-item.is-mine .ticket-activity-message { border-radius:14px 4px 14px 14px; }
:is(#page-tickets,#ticketModal,#recentTickets) .ticket-workspace-inspector .ticket-activity-item.is-opening-event .ticket-activity-message.is-opening-message {
  margin:0; padding:11px 14px; border:1px solid transparent; border-radius:4px 14px 14px 14px; background:var(--desk-soft); font-weight:500; line-height:1.6;
}
:is(#page-tickets,#ticketModal,#recentTickets) .ticket-workspace-inspector .ticket-activity-item.is-opening-event.is-mine .ticket-activity-message.is-opening-message { background:var(--ticket-selected); }
:is(#page-tickets,#ticketModal,#recentTickets) .ticket-workspace-inspector .ticket-activity-sys { display:flex; justify-content:center; margin:-4px 0 -6px; }
:is(#page-tickets,#ticketModal,#recentTickets) .ticket-workspace-inspector .ticket-activity-sys span { color:var(--desk-muted); font-size:11.5px; font-weight:550; }
#ticketModal .ticket-workspace-inspector.is-full .ticket-activity-item { padding-bottom:0; }
:is(#page-tickets,#ticketModal,#recentTickets) .ticket-workspace-inspector .ticket-activity-item.is-opening-event.is-mine .ticket-activity-message.is-opening-message { border-radius:14px 4px 14px 14px; }

/* ─── Ticketlar sayfası A+B (2026-11-03, kullanıcı seçimi) ────────────────
   Masaüstünde soldaki klasör paneli 56px ikon rayıdır: ad ipucunda, sayı
   yalnız Sıra Bende'de rozet. Kategori ağacı rayda görünmez (DOM'da kalır);
   kategoriler liste başlığının altında hap (ticketListCategoryChipsHTML).
   ≤1100px eski kural geçerli: ray gizli, klasörler araç çubuğu şeridinde.
   Satırda durum yerine sıra kimde; son yanıt ikinci satırda. */
@media (min-width:1101px) {
  #page-tickets .ticket-workspace-body { grid-template-columns:56px minmax(320px,.85fr) minmax(0,1.25fr); }
  #page-tickets .ticket-folder-pane { padding:12px 0; display:flex; flex-direction:column; align-items:center; overflow:visible; }
  #page-tickets .ticket-folder-pane .ticket-pane-title,
  #page-tickets .ticket-folder-pane .ticket-folder-tree,
  #page-tickets .ticket-smart-folders>button>span,
  #page-tickets .ticket-smart-folders>button:not(:first-child)>b {
    position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap;
  }
  #page-tickets .ticket-smart-folders { display:flex; flex-direction:column; align-items:center; gap:6px; width:100%; padding:0; }
  #page-tickets .ticket-smart-folders { gap:8px; }
  #page-tickets .ticket-folder-pane .ticket-smart-folders>button { position:relative; width:40px; min-width:40px; max-width:40px; height:40px; min-height:40px; padding:0; display:grid; grid-template-columns:1fr; gap:0; place-items:center; margin:0 auto; border:0; border-radius:12px; background:transparent; box-shadow:none; color:var(--desk-muted); }
  #page-tickets .ticket-folder-pane .ticket-smart-folders>button:hover { background:var(--desk-soft); color:var(--desk-ink); }
  #page-tickets .ticket-folder-pane .ticket-smart-folders>button.active { background:color-mix(in srgb,var(--ticket-workspace-blue) 16%,transparent); color:var(--ticket-workspace-blue); }
  #page-tickets .ticket-smart-folders>button.active::before { display:none; }
  #page-tickets .ticket-rail-ico { width:21px; height:21px; }
  #page-tickets .ticket-smart-folders>button:first-child>b {
    position:absolute; top:-4px; right:-5px; min-width:18px; height:18px; box-shadow:0 0 0 2px var(--desk-paper); padding:0 4px; margin:0; display:grid; place-items:center;
    border-radius:999px; background:var(--ticket-workspace-blue); color:var(--on-accent,white); font-size:10px; font-weight:700; line-height:1;
  }
  #page-tickets .ticket-smart-folders>button:first-child>b:empty { display:none; }
}
#page-tickets .ticket-cat-chips { display:flex; flex-wrap:wrap; gap:6px; padding:0 18px 10px; }
#page-tickets .ticket-cat-chip { height:26px; padding:0 10px; border:1px solid var(--desk-line); border-radius:999px; background:transparent; color:var(--desk-muted); font:inherit; font-size:12px; font-weight:550; cursor:pointer; white-space:nowrap; }
#page-tickets .ticket-cat-chip:hover { color:var(--desk-ink); background:var(--desk-soft); }
#page-tickets .ticket-cat-chip.active { border-color:color-mix(in srgb,var(--ticket-workspace-blue) 45%,var(--desk-line)); background:color-mix(in srgb,var(--ticket-workspace-blue) 12%,transparent); color:var(--ticket-workspace-blue); }
:is(#page-tickets,#recentTickets) .ticket-file-row .ticket-file-state>b[class*="is-turn-"] { white-space:nowrap; }
#page-tickets .ticket-file-last { min-width:0; overflow:hidden; color:var(--desk-muted); font-size:12px; line-height:1.4; text-overflow:ellipsis; white-space:nowrap; }
:is(#page-tickets,#recentTickets) .ticket-file-row .ticket-file-state>b.is-turn-mine { color:var(--ticket-workspace-blue); background:color-mix(in srgb,var(--ticket-workspace-blue) 12%,transparent); }
:is(#page-tickets,#recentTickets) .ticket-file-row .ticket-file-state>b.is-turn-theirs { color:var(--desk-muted); background:var(--desk-soft); }
:is(#page-tickets,#recentTickets) .ticket-file-row .ticket-file-state>b.is-turn-await { color:var(--warning); background:color-mix(in srgb,var(--warning-fill) 14%,transparent); }
html[data-theme="dark"] :is(#page-tickets,#recentTickets) .ticket-file-row .ticket-file-state>b.is-turn-theirs { color:var(--desk-muted); }
html[data-theme="dark"] :is(#page-tickets,#recentTickets) .ticket-file-row .ticket-file-state>b.is-turn-mine { color:color-mix(in srgb,var(--ticket-workspace-blue) 70%,white); }

/* ── Yeni ticket v3 (2026-11-03, TASARIM-DILI.md §3.30) ─────────────────
   Tek ekran, kaydırma yok: solda ticket (sipariş · konu · mesaj · alt çubuk),
   sağda sipariş bağlamı ya da Ticketlarım. Yükseklik ekrandan gelir; mesaj
   alanı kalan yerin hepsini alır. Eski form kuralları bu kapsamı ezmesin diye
   seçiciler `#page-new-ticket .ntx` ile başlar. */
#page-new-ticket .ntx {
  --ntx-faint:color-mix(in srgb,var(--desk-muted) 62%,transparent);
  display:grid; grid-template-columns:minmax(0,1fr) 340px; gap:18px;
  max-width:1320px; margin:0 auto; width:100%;
  height:clamp(520px,calc(100dvh - var(--shell-top,60px) - 56px),1100px);
}
#page-new-ticket .ntx-compose {
  min-height:0; display:grid; grid-template-rows:auto auto minmax(0,1fr) auto;
  background:var(--desk-paper); border:1px solid var(--desk-line); border-radius:18px;
}
#page-new-ticket .ntx-sec { position:relative; padding:14px 22px; border-bottom:1px solid var(--desk-line); min-width:0; }
#page-new-ticket .ntx-sec-msg { display:flex; flex-direction:column; min-height:0; border-bottom:0; padding-bottom:8px; }
#page-new-ticket .ntx-lab { display:flex; align-items:center; gap:8px; margin-bottom:7px; font-size:12px; font-weight:620; color:var(--desk-muted); }
#page-new-ticket .ntx-lab label { margin:0; font:inherit; color:inherit; letter-spacing:0; text-transform:none; }
#page-new-ticket .ntx-opt { font-weight:450; color:var(--ntx-faint); }
#page-new-ticket .ntx-lab .page-help-btn { margin-left:auto; }
#page-new-ticket .field-error:empty { display:none; }
#page-new-ticket .field-error { margin-top:6px; }

/* Sipariş: jeton kutusu (haplar + arama aynı satırda) */
#page-new-ticket .ntx-tok {
  display:flex; align-items:center; flex-wrap:wrap; gap:6px; min-height:42px; padding:5px 8px;
  border:1px solid var(--desk-line); border-radius:12px; background:var(--desk-soft); cursor:text;
}
#page-new-ticket .ntx-tok:focus-within { border-color:color-mix(in srgb,var(--accent) 60%,var(--desk-line)); box-shadow:0 0 0 3px var(--accent-soft); }
#page-new-ticket .ntx-tok-ico { width:16px; height:16px; margin-left:4px; color:var(--ntx-faint); stroke-width:1.9; flex:none; }
#page-new-ticket .ntx-tok .ntx-chips { display:contents; }
#page-new-ticket .ntx-tok .ntx-chips:empty { display:none; }
#page-new-ticket .ntx-tok .ticket-scope-pill { height:30px; border-radius:9px; background:var(--desk-paper); }
#page-new-ticket .ntx-tok .tk-cust-chip-row { display:contents; }
#page-new-ticket .ntx-tok .tk-cust-chip-row[hidden] { display:none; }
#page-new-ticket .ntx-tok input[type=text] {
  flex:1 1 180px; min-width:150px; height:30px; padding:0 4px; border:0; outline:0; box-shadow:none;
  background:transparent; color:var(--desk-ink); font-size:14px;
}
#page-new-ticket .ntx-tok .tk-search-results { left:0; right:0; top:calc(100% + 6px); max-height:min(56vh,440px); }
#page-new-ticket .ntx-search-group { font-size:11px; letter-spacing:.06em; text-transform:uppercase; font-weight:650; }
#page-new-ticket .ntx-same { display:flex; align-items:center; gap:4px 10px; flex-wrap:wrap; margin-top:7px; font-size:12.5px; color:var(--desk-muted); }
#page-new-ticket .ntx-same[hidden] { display:none; }
#page-new-ticket .ntx-same button { all:unset; cursor:pointer; color:var(--accent); font-weight:600; }
#page-new-ticket .ntx-same button:hover { text-decoration:underline; }

/* Konu: büyük tek satır + tür hapı */
#page-new-ticket .ntx-subject-row { display:flex; align-items:center; gap:10px; border-bottom:1.5px solid var(--desk-line); padding-bottom:5px; }
#page-new-ticket .ntx-subject-row:focus-within { border-color:var(--accent); }
#page-new-ticket .ntx input.ntx-subject {
  flex:1; min-width:0; height:34px; min-height:0; padding:0; border:0; border-radius:0; outline:0; box-shadow:none; background:transparent;
  color:var(--desk-ink); font-size:19px; font-weight:650; letter-spacing:-.015em;
}
#page-new-ticket .ntx input.ntx-subject::placeholder { color:var(--ntx-faint); font-weight:500; }
#page-new-ticket .ntx-count { font-size:11.5px; color:var(--ntx-faint); }
#page-new-ticket .ntx-type-wrap { position:relative; flex:none; }
#page-new-ticket .ntx-type {
  all:unset; box-sizing:border-box; cursor:pointer; display:inline-flex; align-items:center; gap:6px; height:28px; padding:0 8px 0 10px;
  border:1px solid var(--desk-line); border-radius:999px; font-size:12px; color:var(--desk-muted); white-space:nowrap; max-width:240px;
}
#page-new-ticket .ntx-type:hover, #page-new-ticket .ntx-type[aria-expanded="true"] { color:var(--desk-ink); border-color:color-mix(in srgb,var(--desk-muted) 40%,var(--desk-line)); }
#page-new-ticket .ntx-type:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
#page-new-ticket .ntx-type i { width:8px; height:8px; border-radius:50%; background:var(--dot); flex:none; }
#page-new-ticket .ntx-type span { overflow:hidden; text-overflow:ellipsis; color:var(--desk-ink); font-weight:600; }
#page-new-ticket .ntx-type small { font-size:10.5px; color:var(--ntx-faint); }
#page-new-ticket .ntx-type svg { width:14px; height:14px; flex:none; }
#page-new-ticket .ntx-type-menu {
  position:absolute; right:0; top:calc(100% + 6px); z-index:95; width:250px; max-height:min(60vh,420px); overflow:auto; padding:6px;
  background:var(--desk-paper); border:1px solid var(--desk-line); border-radius:12px; box-shadow:var(--shadow-pop,0 18px 44px rgba(15,23,42,.18));
}
#page-new-ticket .ntx-type-menu[hidden] { display:none; }
#page-new-ticket .ntx-type-item { all:unset; box-sizing:border-box; cursor:pointer; display:flex; align-items:center; gap:9px; width:100%; padding:7px 10px; border-radius:8px; font-size:13px; color:var(--desk-ink); }
#page-new-ticket .ntx-type-item:hover, #page-new-ticket .ntx-type-item:focus-visible { background:var(--desk-soft); }
#page-new-ticket .ntx-type-item i { width:8px; height:8px; border-radius:50%; background:var(--dot); flex:none; }
#page-new-ticket .ntx-type-item span { flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
#page-new-ticket .ntx-type-item b { color:var(--accent); font-weight:700; }
#page-new-ticket .ntx-type-item.is-auto, #page-new-ticket .ntx-type-item.is-manage { color:var(--desk-muted); }
#page-new-ticket .ntx-type-sep { height:1px; margin:5px 4px; background:var(--desk-line); }
#page-new-ticket .ntx-suggest { display:flex; align-items:center; gap:6px; margin-top:9px; min-height:28px; overflow:hidden; flex-wrap:nowrap; }
#page-new-ticket .ntx-suggest[hidden] { display:none; }
#page-new-ticket .ntx-suggest > * { flex:none; }
#page-new-ticket .ntx-suggest-k { display:inline-flex; align-items:center; gap:5px; font-size:12px; color:var(--ntx-faint); margin-right:2px; }
#page-new-ticket .ntx-suggest-k svg { width:13px; height:13px; }
#page-new-ticket .ntx-suggest-item {
  all:unset; box-sizing:border-box; cursor:pointer; height:28px; padding:0 11px; border-radius:999px; background:var(--desk-soft);
  font-size:12.5px; color:var(--desk-ink); display:inline-flex; align-items:center; gap:6px; max-width:320px; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; flex:none;
}
#page-new-ticket .ntx-suggest-item span { color:var(--ntx-faint); font-size:11.5px; }
#page-new-ticket .ntx-suggest-k + .ntx-suggest-item { flex:0 1 auto; min-width:0; }
#page-new-ticket .ntx-suggest-item span { overflow:hidden; text-overflow:ellipsis; }
#page-new-ticket .ntx-suggest-item:hover, #page-new-ticket .ntx-suggest-item:focus-visible { background:var(--accent-soft); color:var(--accent); }

/* Mesaj: kalan yerin hepsi */
#page-new-ticket .ntx-msg-wrap { flex:1; min-height:0; display:flex; }
#page-new-ticket .ntx-msg-wrap textarea#ticketMsg {
  flex:1; min-height:60px; height:auto; width:100%; resize:none; padding:0; border:0; border-radius:0; outline:0; box-shadow:none;
  background:transparent; color:var(--desk-ink); font-size:14.5px; line-height:1.6;
}
#page-new-ticket .ntx-msg-wrap textarea#ticketMsg::placeholder { color:var(--ntx-faint); }
#page-new-ticket .ntx-photos { display:flex; gap:6px; padding-top:8px; }
#page-new-ticket .ntx-photos[hidden] { display:none; }
#page-new-ticket .ntx-photo-chip { position:relative; width:46px; height:46px; border-radius:9px; overflow:hidden; border:1px solid var(--desk-line); }
#page-new-ticket .ntx-photo-chip img { width:100%; height:100%; object-fit:cover; display:block; }
#page-new-ticket .ntx-photo-chip button { all:unset; cursor:pointer; position:absolute; top:2px; right:2px; width:18px; height:18px; border-radius:50%; display:grid; place-items:center; font-size:12px; line-height:1; background:color-mix(in srgb,var(--desk-ink) 70%,transparent); color:var(--desk-paper); }
#page-new-ticket .ntx-mfoot { display:flex; align-items:center; gap:4px; padding-top:6px; color:var(--ntx-faint); font-size:12px; min-width:0; }
#page-new-ticket .ntx-ib { all:unset; box-sizing:border-box; cursor:pointer; width:32px; height:32px; border-radius:999px; display:grid; place-items:center; color:var(--desk-muted); flex:none; }
#page-new-ticket .ntx-ib svg { width:17px; height:17px; }
#page-new-ticket .ntx-ib:hover, #page-new-ticket .ntx-ib[aria-expanded="true"] { background:var(--desk-soft); color:var(--desk-ink); }
#page-new-ticket .ntx-ib:focus-visible { outline:2px solid var(--accent); outline-offset:1px; }
#page-new-ticket .ntx-hint { margin-left:6px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
#page-new-ticket .ntx-hint b { color:var(--desk-muted); font-weight:600; }
#page-new-ticket .ntx-saved { margin-left:auto; white-space:nowrap; }
#page-new-ticket .ntx-mfoot .tk-msg-count { white-space:nowrap; }
#page-new-ticket .ntx-photo-wrap { position:relative; }
#page-new-ticket .ntx-photo-pop {
  position:absolute; left:0; bottom:calc(100% + 8px); z-index:95; width:360px; padding:8px;
  background:var(--desk-paper); border:1px solid var(--desk-line); border-radius:14px; box-shadow:var(--shadow-pop,0 18px 44px rgba(15,23,42,.18));
}
#page-new-ticket .ntx-photo-pop[hidden] { display:none; }
#page-new-ticket .ntx-photo-head { display:flex; align-items:center; gap:6px; margin-bottom:6px; }
#page-new-ticket .ntx-photo-head input { flex:1; height:32px; padding:0 10px; border:1px solid var(--desk-line); border-radius:9px; background:var(--desk-soft); color:var(--desk-ink); font-size:13px; }
#page-new-ticket .ntx-photo-grid { max-height:300px; overflow:auto; }
#page-new-ticket .ntx-photo-group { margin:6px 2px 5px; font-size:11px; letter-spacing:.06em; text-transform:uppercase; font-weight:650; color:var(--ntx-faint); }
#page-new-ticket .ntx-photo-tiles { display:grid; grid-template-columns:repeat(5,1fr); gap:5px; }
#page-new-ticket .ntx-photo-pick { all:unset; cursor:pointer; position:relative; aspect-ratio:1; border-radius:8px; overflow:hidden; border:2px solid transparent; }
#page-new-ticket .ntx-photo-pick img { width:100%; height:100%; object-fit:cover; display:block; }
#page-new-ticket .ntx-photo-pick.is-on { border-color:var(--accent); }
#page-new-ticket .ntx-photo-pick b { position:absolute; right:3px; top:3px; width:18px; height:18px; border-radius:50%; display:grid; place-items:center; font-size:11px; background:var(--accent); color:var(--desk-paper); }
#page-new-ticket .ntx-photo-pick:focus-visible { outline:2px solid var(--accent); outline-offset:1px; }
#page-new-ticket .ntx-photo-empty { margin:14px 4px; font-size:13px; color:var(--desk-muted); }

/* Alt çubuk: gidecek ofis + kişiler · öncelik · gönder */
#page-new-ticket .ntx-act {
  display:flex; align-items:center; gap:14px; padding:10px 12px 10px 22px; min-width:0;
  border-top:1px solid var(--desk-line); background:var(--desk-soft); border-radius:0 0 18px 18px;
}
#page-new-ticket .ntx-to { display:flex; align-items:center; gap:8px; min-width:0; font-size:13px; color:var(--desk-muted); }
#page-new-ticket .ntx-to-lab { white-space:nowrap; }
#page-new-ticket .ntx-office { display:inline-flex; align-items:center; gap:6px; color:var(--desk-ink); font-weight:620; white-space:nowrap; }
#page-new-ticket .ntx-office i { width:8px; height:8px; border-radius:50%; background:var(--bursa); }
#page-new-ticket .ntx-office.is-istanbul i { background:var(--istanbul); }
#page-new-ticket .ntx-people.ticket-people-row.is-draft { margin:0; min-width:0; }
#page-new-ticket .ntx-people .ticket-people-label { display:none; }
#page-new-ticket .ntx-prio { display:inline-flex; gap:0; margin-left:auto; padding:2px; border:1px solid var(--desk-line); border-radius:10px; background:var(--desk-paper); flex:none; }
#page-new-ticket .ntx-prio .prio-pill { min-height:28px; height:28px; padding:0 12px; border:0; border-radius:8px; background:none; font-size:12.5px; font-weight:550; color:var(--desk-muted); box-shadow:none; }
#page-new-ticket .ntx-prio .prio-pill.selected { background:var(--desk-soft); color:var(--desk-ink); font-weight:650; }
#page-new-ticket .ntx-prio .prio-pill[data-prio="1"].selected { color:var(--warning); background:color-mix(in srgb,var(--warning) 12%,var(--desk-paper)); }
#page-new-ticket .ntx-prio .prio-pill[data-prio="2"].selected { color:var(--danger); background:color-mix(in srgb,var(--danger) 12%,var(--desk-paper)); }
#page-new-ticket .ntx-act .ticket-submit-btn { flex:none; display:inline-flex; align-items:center; gap:10px; height:38px; padding:0 18px; border-radius:11px; }
#page-new-ticket .ntx-kbd { font:inherit; font-size:11px; font-weight:550; opacity:.75; }

/* Sağ sütun */
#page-new-ticket .ntx-side { min-height:0; display:flex; flex-direction:column; }
#page-new-ticket .ntx-side > .tk-dock { position:static; flex:1; min-height:0; display:flex; flex-direction:column; gap:12px; width:auto; max-height:none; }
#page-new-ticket .ntx-side > .tk-dock[hidden] { display:none; }
#page-new-ticket .ntx-side > .tk-dock > .tk-mine-card { flex:1; min-height:0; overflow:hidden; display:flex; flex-direction:column; }
#page-new-ticket .ntx-side > .tk-dock .tk-mine-list { flex:1; min-height:0; overflow:auto; align-content:start; grid-auto-rows:max-content; }
#page-new-ticket .ntx-ctx {
  flex:1; min-height:0; display:flex; flex-direction:column; overflow:hidden;
  background:var(--desk-paper); border:1px solid var(--desk-line); border-radius:18px;
}
#page-new-ticket .ntx-ctx[hidden] { display:none; }
#page-new-ticket .ntx-eyb { display:flex; justify-content:space-between; gap:8px; font-size:11px; letter-spacing:.07em; text-transform:uppercase; font-weight:650; color:var(--ntx-faint); }
#page-new-ticket .ntx-eyb em { font-style:normal; letter-spacing:0; text-transform:none; font-weight:450; }
#page-new-ticket .ntx-ctx-h { padding:15px 18px 12px; border-bottom:1px solid var(--desk-line); }
#page-new-ticket .ntx-ctx-h h3 { display:flex; align-items:baseline; gap:8px; margin:4px 0 3px; min-width:0; font-size:16px; letter-spacing:-.01em; color:var(--desk-ink); }
#page-new-ticket .ntx-ctx-h h3 span { white-space:nowrap; }
#page-new-ticket .ntx-ctx-h h3 small { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:12.5px; font-weight:500; color:var(--desk-muted); }
#page-new-ticket .ntx-ctx-meta { display:flex; align-items:center; gap:10px; margin:0; font-size:12.5px; color:var(--desk-muted); }
#page-new-ticket .ntx-ctx-meta .is-warn { color:var(--warning); font-weight:620; }
#page-new-ticket .ntx-ctx-meta button { all:unset; cursor:pointer; margin-left:auto; color:var(--accent); font-weight:600; white-space:nowrap; }
#page-new-ticket .ntx-ctx-tabs { display:flex; gap:4px; margin-top:10px; overflow:hidden; }
#page-new-ticket .ntx-ctx-tabs button { all:unset; cursor:pointer; flex:none; padding:3px 9px; border:1px solid var(--desk-line); border-radius:999px; font-size:12px; color:var(--desk-muted); }
#page-new-ticket .ntx-ctx-tabs button.is-on { color:var(--accent); border-color:color-mix(in srgb,var(--accent) 45%,var(--desk-line)); }
#page-new-ticket .ntx-dup {
  display:flex; align-items:center; gap:10px; margin:10px 12px 0; padding:9px 12px; border-radius:12px;
  background:color-mix(in srgb,var(--warning) 9%,transparent);
}
#page-new-ticket .ntx-dup.is-same { background:color-mix(in srgb,var(--warning) 16%,transparent); }
#page-new-ticket .ntx-dup-copy { flex:1; min-width:0; display:grid; gap:1px; }
#page-new-ticket .ntx-dup-copy b { font-size:12.5px; color:var(--warning); }
#page-new-ticket .ntx-dup-copy span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:12.5px; color:var(--desk-ink); }
#page-new-ticket .ntx-dup button { all:unset; cursor:pointer; flex:none; font-size:12.5px; font-weight:650; color:var(--accent); }
#page-new-ticket .ntx-dup-more { margin:4px 16px 0; font-size:12px; color:var(--desk-muted); }
#page-new-ticket .ntx-ctx-body { flex:1; min-height:0; overflow:auto; padding-bottom:10px; }
#page-new-ticket .ntx-blk { padding:12px 18px 2px; }
#page-new-ticket .ntx-blk .ntx-eyb { margin-bottom:6px; }
#page-new-ticket .ntx-pipe { display:flex; gap:2px; height:7px; margin:2px 0 8px; border-radius:999px; overflow:hidden; }
#page-new-ticket .ntx-pipe i { display:block; background:var(--desk-line); }
#page-new-ticket .ntx-pipe i.is-knit { background:color-mix(in srgb,var(--success) 55%,var(--desk-line)); }
#page-new-ticket .ntx-pipe i.is-dye { background:var(--accent); }
#page-new-ticket .ntx-pipe i.is-raw { background:color-mix(in srgb,var(--desk-muted) 55%,var(--desk-line)); }
#page-new-ticket .ntx-pipe i.is-ready { background:color-mix(in srgb,var(--success) 80%,var(--desk-line)); }
#page-new-ticket .ntx-pipe i.is-shipped { background:var(--success); }
#page-new-ticket .ntx-fact {
  all:unset; box-sizing:border-box; cursor:pointer; display:grid; grid-template-columns:minmax(0,1fr) auto 20px; gap:10px; align-items:center;
  width:calc(100% + 16px); margin:0 -8px; padding:5px 8px; border-radius:8px; font-size:13px;
}
#page-new-ticket .ntx-fact-t { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:var(--desk-muted); }
#page-new-ticket .ntx-fact-t b { color:var(--desk-ink); font-weight:560; }
#page-new-ticket .ntx-fact-v { white-space:nowrap; font-weight:620; color:var(--desk-ink); }
#page-new-ticket .ntx-fact-v.is-warn { color:var(--warning); }
#page-new-ticket .ntx-fact i { display:grid; place-items:center; color:var(--accent); opacity:0; }
#page-new-ticket .ntx-fact i svg { width:14px; height:14px; }
#page-new-ticket .ntx-fact:hover, #page-new-ticket .ntx-fact:focus-visible { background:var(--desk-soft); }
#page-new-ticket .ntx-fact:hover i, #page-new-ticket .ntx-fact:focus-visible i { opacity:1; }
#page-new-ticket .ntx-fact.is-added { animation:ntxAdded .6s ease; }
@keyframes ntxAdded { 0% { background:var(--accent-soft); } 100% { background:transparent; } }
#page-new-ticket .ntx-ctx-more { margin:4px 0 0; font-size:12px; color:var(--desk-muted); }

@media (max-width:1100px) {
  #page-new-ticket .ntx { grid-template-columns:minmax(0,1fr) 300px; }
  #page-new-ticket .ntx-hint { display:none; }
}
/* Dar ekran: tek sütun, sayfa kayar; bağlam formun altına iner. */
@media (max-width:860px) {
  #page-new-ticket .ntx { grid-template-columns:minmax(0,1fr); height:auto; }
  #page-new-ticket .ntx-compose { grid-template-rows:auto auto auto auto; }
  #page-new-ticket .ntx-msg-wrap textarea#ticketMsg { min-height:150px; }
  #page-new-ticket .ntx-side > .tk-dock, #page-new-ticket .ntx-ctx { flex:none; }
  #page-new-ticket .ntx-ctx-body { overflow:visible; }
}
@media (max-width:560px) {
  #page-new-ticket .ntx-sec { padding:12px 14px; }
  #page-new-ticket .ntx input.ntx-subject { font-size:17px; }
  #page-new-ticket .ntx-act { flex-wrap:wrap; padding:10px 12px; }
  #page-new-ticket .ntx-prio { margin-left:0; }
  #page-new-ticket .ntx-act .ticket-submit-btn { flex:1 1 100%; justify-content:center; }
  #page-new-ticket .ntx-kbd { display:none; }
  #page-new-ticket .ntx-photo-pop { width:min(320px,calc(100vw - 40px)); }
}

/* ── Araç çubuğu liste sütununda (2026-11-03, kullanıcı isteği) ─────────
   Arama · Filtreler · ? ayrı bir satır olarak ticket alanının üstünde ~90 px
   yiyordu. Çubuk artık liste başlığının hemen altında, liste genişliğinde
   tek satırdır (tickets.js mountTicketWorkspaceControls taşır). Filtreler
   yalnız simgedir, rafı aynı sütunda açılır. Eski grid yerleşimi (sütun/satır
   atamaları) burada geçersizdir: flex sarar. Kazanılan yükseklik pencereye
   eklenir. Seçici tasarim-v2'nin "kutusuz şerit" kuralından (1,3,2) güçlü
   olmalı, yoksa iç boşluk sıfırlanır. */
#page-tickets .ticket-workspace .ticket-workspace-body .ticket-list-pane > .ticket-workspace-controls {
  position:static; z-index:auto; margin:0; padding:10px 18px 8px;
  border:0; border-radius:0; background:transparent; box-shadow:none;
}
#page-tickets .ticket-list-pane .ticket-workspace-toolbar {
  display:flex; flex-wrap:wrap; align-items:center; gap:8px;
}
#page-tickets .ticket-list-pane .ticket-workspace-controls .ticket-tabs { order:-1; flex:1 1 100%; justify-self:auto; }
#page-tickets .ticket-list-pane .ticket-workspace-search { flex:1 1 160px; min-width:0; }
#page-tickets .ticket-list-pane .ticket-workspace-search .search-input { min-height:36px; border-radius:10px; }
#page-tickets .ticket-list-pane .ticket-workspace-filter-toggle {
  position:relative; flex:0 0 auto; width:36px; min-height:36px; height:36px;
  justify-content:center; gap:0; padding:0; border-radius:10px;
}
#page-tickets .ticket-list-pane .ticket-workspace-filter-toggle b {
  position:absolute; top:-5px; right:-5px;
}
#page-tickets .ticket-list-pane .ticket-workspace-toolbar > .page-help-btn { flex:0 0 auto; width:36px; height:36px; }
#page-tickets .ticket-list-pane .ticket-workspace-filter-shelf { margin:8px 0 2px; }
#page-tickets .ticket-list-pane .ticket-workspace-filter-shelf select { flex:1 1 140px; min-width:0; }
#page-tickets .ticket-workspace { height:clamp(500px,calc(100dvh - 142px),1100px); }
@media(max-width:720px) {
  #page-tickets .ticket-workspace .ticket-workspace-body .ticket-list-pane > .ticket-workspace-controls { padding:10px 12px 8px; }
  #page-tickets .ticket-workspace { height:calc(100dvh - 150px); }
}

/* ── Siparişe bağla penceresi (2026-11-04, §3.23b, kullanıcı seçimi A) ──
   Tek sütun; dolgulu arama + hap şeridi + bölümlü kompakt liste + tek birincil.
   Eski kutulu kart satırları, turkuaz "Seç" ve ayrı "Onayla" kalktı. */
#sipAssignModal .modal.sap { width:min(560px, calc(100vw - 32px)); max-height:min(640px, calc(100dvh - 48px)); padding:0; display:flex; flex-direction:column; overflow:hidden; border:1px solid var(--desk-line); border-radius:16px; background:var(--desk-paper); box-shadow:var(--v2-pop, 0 24px 60px rgba(15,23,42,.22)); }
.sap-h { flex:none; display:flex; align-items:center; gap:8px; padding:14px 12px 10px 16px; min-width:0; }
.sap-h h2 { margin:0; font-size:15px; font-weight:700; color:var(--text); white-space:nowrap; }
.sap-h > span { flex:1; min-width:0; color:var(--desk-muted); font-size:var(--type-control, 13px); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.sap-x { all:unset; box-sizing:border-box; flex:none; width:30px; height:30px; display:grid; place-items:center; border-radius:8px; color:var(--desk-muted); cursor:pointer; }
.sap-x:hover { background:var(--desk-soft); color:var(--text); }
.sap-x:focus-visible { outline:2px solid var(--accent); outline-offset:1px; }
.sap-x svg { width:16px; height:16px; }
.sap-q { flex:none; margin:0 16px; display:flex; align-items:center; gap:8px; height:38px; padding:0 12px; border-radius:10px; background:var(--desk-soft); color:var(--desk-muted); text-transform:none; letter-spacing:normal; font-weight:400; cursor:text; }
.sap-q:focus-within { box-shadow:0 0 0 2px color-mix(in srgb, var(--accent) 55%, transparent); }
.sap-q svg { flex:none; width:16px; height:16px; }
.sap-q input { all:unset; flex:1; min-width:0; color:var(--text); font-size:var(--type-control, 13px); }
.sap-q input::placeholder { color:var(--desk-muted); }
.sap-q small { flex:none; font-size:var(--type-meta, 12px); color:var(--desk-muted); font-variant-numeric:tabular-nums; }
.sap-chips { flex:none; display:flex; flex-wrap:wrap; gap:6px; padding:10px 16px 0; }
.sap-chips[hidden] { display:none; }
.sap-chip { display:inline-flex; align-items:center; gap:2px; height:26px; padding:0 3px 0 10px; border-radius:999px; background:color-mix(in srgb, var(--accent) 16%, transparent); color:var(--text); font-size:var(--type-meta, 12px); font-weight:650; font-variant-numeric:tabular-nums; }
.sap-chip button { all:unset; width:20px; height:20px; display:grid; place-items:center; border-radius:999px; color:var(--desk-muted); cursor:pointer; }
.sap-chip button:hover { color:var(--text); background:color-mix(in srgb, var(--accent) 20%, transparent); }
.sap-chip svg { width:12px; height:12px; }
.sap-list { flex:1; min-height:120px; overflow:auto; overscroll-behavior:contain; padding:4px 8px 8px; }
.sap-sec { padding:12px 8px 4px; font-size:var(--type-caption, 11px); font-weight:700; letter-spacing:.05em; text-transform:uppercase; color:var(--desk-muted); }
.sap-sec em { font-style:normal; font-weight:500; letter-spacing:0; text-transform:none; }
.sap-row { all:unset; box-sizing:border-box; width:100%; display:grid; grid-template-columns:auto auto 64px minmax(0,1fr) auto; align-items:center; gap:10px; height:40px; padding:0 8px; border-radius:8px; cursor:pointer; font-size:var(--type-control, 13px); color:var(--text); }
.sap-row.is-key { background:var(--desk-soft); box-shadow:inset 2px 0 0 var(--accent); }
.sap-row b { font-weight:650; font-variant-numeric:tabular-nums; white-space:nowrap; }
.sap-row b i { font-style:normal; font-weight:500; font-size:var(--type-caption, 11px); color:var(--desk-muted); }
.sap-who { min-width:0; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.sap-who small { margin-left:8px; font-size:var(--type-meta, 12px); color:var(--desk-muted); }
.sap-val { font-size:var(--type-meta, 12px); color:var(--desk-muted); white-space:nowrap; font-variant-numeric:tabular-nums; }
.sap-val.is-late { color:var(--danger); }
/* Tek seçimde onay kutusu yok: ilk sütun nokta olur. */
.sap-row.is-one { grid-template-columns:auto 64px minmax(0,1fr) auto; }
.sap-ck { width:16px; height:16px; box-sizing:border-box; border:1.5px solid var(--desk-muted); border-radius:5px; display:grid; place-items:center; }
/* Onay işareti sohbet komut penceresindekiyle aynı çizim (.ct-cw-check). */
.sap-row.is-on .sap-ck { border-color:var(--accent); background:var(--accent) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12 5 5 9-10'/%3E%3C/svg%3E") center / 12px no-repeat; }
.sap-empty { padding:24px 8px; text-align:center; color:var(--desk-muted); font-size:var(--type-control, 13px); }
.sap-foot { flex:none; display:flex; align-items:center; gap:8px; padding:10px 16px; border-top:1px solid var(--desk-line); }
.sap-keys { flex:1; min-width:0; font-size:var(--type-meta, 12px); color:var(--desk-muted); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.sap-foot .btn[hidden] { display:none; }
.sap-foot .btn.is-busy { cursor:wait; opacity:.7; }
@media (max-width:520px) {
  #sipAssignModal { align-items:flex-end; }
  #sipAssignModal .modal.sap { width:100%; max-height:calc(100dvh - 24px); border-radius:16px 16px 0 0; }
  .sap-keys { display:none; }
  .sap-row { grid-template-columns:auto auto 56px minmax(0,1fr); }
  .sap-row.is-one { grid-template-columns:auto 56px minmax(0,1fr); }
  .sap-val { display:none; }
}
/* Genel `input` / koyu tema `input:focus` kuralları (dolgu, zemin, halka) arama
   alanına binmesin: halka şeridin kendisindedir (§3.7 ile aynı ilke). */
#sipAssignModal .sap-q input, #sipAssignModal .sap-q input:focus { flex:1; width:auto; height:100%; min-height:0; margin:0; padding:0; border:0; border-radius:0; background:transparent; box-shadow:none; outline:none; color:var(--text); font:inherit; font-size:var(--type-control, 13px); }
.sap-foot .btn-outline { margin-left:auto; }

/* ── assets/styles/notes-refined.css ── */
/* Compact notes workspace aligned with the dashboard palette. */
#page-notes.notes-page {
  max-width:1440px;
  padding:24px 18px;
}

#page-notes .workspace-notes-app {
  --notes-yellow:var(--accent);
  --notes-ink:var(--desk-ink);
  --notes-muted:var(--desk-muted);
  grid-template-columns:188px 306px minmax(0,1fr);
  height:calc(100dvh - var(--shell-top) - 48px);
  max-height:none;
  color:var(--desk-ink);
  background:var(--desk-paper);
  border-color:var(--desk-line);
  border-radius:18px;
  box-shadow:var(--shadow);
}

#page-notes .notes-sidebar {
  padding:16px 9px 12px;
  background:var(--desk-soft);
  border-color:var(--desk-line);
}

#page-notes .notes-sidebar nav { gap:2px; }
#page-notes .notes-side-item {
  grid-template-columns:20px minmax(0,1fr) auto;
  min-height:36px;
  padding:6px 8px;
  border-radius:8px;
  color:var(--desk-muted);
}
#page-notes .notes-side-item>span { font-size:13px; }
#page-notes .notes-side-item strong { font-size:12px; font-weight:550; }
#page-notes .notes-side-item b { min-width:18px; font-size:11px; font-weight:550; }
#page-notes .notes-side-item:hover { background:var(--desk-paper); }
#page-notes .notes-side-item.active {
  color:var(--desk-ink);
  background:var(--desk-paper);
  box-shadow:inset 2px 0 var(--accent);
}
#page-notes .notes-sidebar-foot {
  gap:6px;
  margin-top:auto;
  padding:10px 8px 0;
  border-color:var(--desk-line);
  color:var(--desk-muted);
  font-size:11px;
}
#page-notes .notes-sync-dot { width:6px; height:6px; box-shadow:none; }

#page-notes .notes-list-pane {
  background:color-mix(in srgb,var(--desk-soft) 58%,var(--desk-paper));
  border-color:var(--desk-line);
}
#page-notes .notes-list-head { gap:8px; padding:17px 13px 10px; }
#page-notes .notes-list-head h2 { font-size:16px; font-weight:650; letter-spacing:-.025em; }
#page-notes .notes-list-head>div>span { margin-top:2px; font-size:11px; }
#page-notes .notes-list-head-actions { gap:5px; }
#page-notes .notes-select-btn {
  min-height:28px;
  padding:5px 8px;
  color:var(--desk-muted);
  background:var(--desk-paper);
  border-color:var(--desk-line);
  border-radius:7px;
  font-size:11px;
}
#page-notes .notes-new-btn {
  width:30px;
  height:30px;
  color:#fff;
  background:var(--accent);
  border-radius:8px;
  box-shadow:none;
  font-size:18px;
}
#page-notes .notes-search {
  
  min-height:34px;
  margin:0 10px 9px;
  padding:6px 9px;
  color:var(--desk-muted);
  background:var(--desk-paper);
  border-color:var(--desk-line);
  border-radius:8px;
}
#page-notes .notes-search>span { font-size:14px; }
#page-notes .notes-search input { min-height:0; padding:0; font-size:12px; color:var(--desk-ink); }
#page-notes .notes-list { padding:0 7px 10px; }
#page-notes .notes-list-item {

  border-color:transparent;
  border-radius:9px;
  background:transparent;
}
#page-notes .notes-list-item+.notes-list-item { border-top:1px solid var(--desk-line); border-radius:0; }
#page-notes .notes-list-item:hover { background:var(--desk-paper); }
#page-notes .notes-list-item.active {
  background:var(--desk-paper);
  border-color:var(--desk-line);
  
}
#page-notes .notes-list-accent { inset:13px auto 13px 0; width:2px; }
#page-notes .notes-list-copy>strong { font-size:12px; font-weight:620; }
#page-notes .notes-list-copy small { margin-top:5px; font-size:11px; line-height:1.45; color:var(--desk-muted); }
#page-notes .notes-list-copy time { margin-right:6px;  font-weight:500; }
#page-notes .notes-list-copy em { margin-top:5px; font-size:11px; color:var(--desk-muted); font-weight:500; }

#page-notes .notes-editor-pane,
#page-notes .notes-editor-shell { background:var(--desk-paper); }
#page-notes .notes-editor-shell::before { height:2px; }
#page-notes .notes-editor-topbar {
  min-height:48px;
  padding:8px 14px;
  background:var(--desk-paper);
  border-color:var(--desk-line);
}
#page-notes .notes-editor-status { gap:6px; font-size:11px; color:var(--desk-muted); }
#page-notes .notes-top-actions button,
#page-notes .notes-mobile-back {
  min-width:30px;
  height:30px;
  padding:5px 8px;
  border-color:var(--desk-line);
  border-radius:7px;
  background:var(--desk-paper);
  color:var(--desk-muted);
  font-size:11px;
}

#page-notes .notes-formatbar {
  min-height:40px;
  
  padding:5px 14px;
  background:var(--desk-soft);
  border-color:var(--desk-line);
}
#page-notes .notes-formatbar button,
#page-notes .notes-formatbar select {
  min-height:28px;
  padding:4px 7px;
  border-color:transparent;
  border-radius:6px;
  background:transparent;
  color:var(--desk-muted);
  font-size:11px;
}
#page-notes .notes-paper {
  width:min(760px,100%);
  padding:26px 38px 18px;
}
#page-notes .notes-paper-date { font-size:11px; color:var(--desk-muted); }

#page-notes .notes-body-input {
  margin-top:12px;
  font-size:14px;
  line-height:1.7;
  background-image:none;
}
#page-notes .notes-body-input div,
#page-notes .notes-body-input p,
#page-notes .notes-body-input li { min-height:1.7em; }
#page-notes .notes-smart-row { min-height:26px; padding-top:9px; }
#page-notes .notes-smart-chip { min-height:22px; padding:3px 7px; font-size:11px; }
#page-notes .notes-reference-chips { min-height:26px; margin-top:10px; }
#page-notes .notes-editor-footer {
  
  padding:6px 14px;
  background:var(--desk-soft);
  border-color:var(--desk-line);
  font-size:11px;
}
#page-notes .notes-collab-avatars>span,
#page-notes .notes-collab-avatars>b { width:23px; height:23px; }
#page-notes .notes-editor-empty>span,
#page-notes .notes-bulk-editor>span { width:52px; height:52px; border-radius:14px; font-size:25px; box-shadow:none; }
#page-notes .notes-editor-empty h2,
#page-notes .notes-bulk-editor h2 { margin-top:14px; font-size:16px; }
#page-notes .notes-editor-empty p,
#page-notes .notes-bulk-editor p { font-size:12px; }

html[data-theme="dark"] #page-notes .workspace-notes-app,
html[data-theme="dark"] #page-notes .notes-editor-pane,
html[data-theme="dark"] #page-notes .notes-editor-shell,
html[data-theme="dark"] #page-notes .notes-editor-topbar { background:var(--desk-paper); color:var(--desk-ink); }
html[data-theme="dark"] #page-notes .notes-sidebar,
html[data-theme="dark"] #page-notes .notes-formatbar,
html[data-theme="dark"] #page-notes .notes-editor-footer { background:var(--desk-soft); }
html[data-theme="dark"] #page-notes .notes-list-pane { background:color-mix(in srgb,var(--desk-soft) 58%,var(--desk-paper)); }
html[data-theme="dark"] #page-notes .notes-side-item.active,
html[data-theme="dark"] #page-notes .notes-side-item:hover,
html[data-theme="dark"] #page-notes .notes-list-item.active,
html[data-theme="dark"] #page-notes .notes-list-item:hover,
html[data-theme="dark"] #page-notes .notes-search { background:var(--desk-paper); }
html[data-theme="dark"] #page-notes .notes-body-input { color:var(--desk-ink); }
html[data-theme="dark"] #page-notes .notes-body-input { background-image:none; }

@media(max-width:1100px) {
  #page-notes .workspace-notes-app { grid-template-columns:170px 270px minmax(0,1fr); }
  #page-notes .notes-paper { padding-inline:28px; }
}
@media(max-width:820px) {
  #page-notes.notes-page { padding:6px; }
  #page-notes .workspace-notes-app { grid-template-columns:1fr; height:calc(100dvh - 98px); border-radius:13px; }
  #page-notes .notes-list-head { padding:14px 13px 9px; }
  #page-notes .notes-list-item { min-height:62px; }
  #page-notes .notes-paper { padding:22px 18px 14px; }
  
  #page-notes .notes-body-input { font-size:14px; }
}

/* Notlar tamamen boşken iki panel tek bir sakin sahne oluşturur. */
#page-notes .notes-list-empty.is-illustrated {
  min-height:100%;
  align-content:center;
  gap:6px;
  padding:24px 12px;
}
#page-notes .notes-list-empty.is-illustrated>img {
  display:block;
  width:min(240px,100%);
  height:auto;
  margin-bottom:10px;
  object-fit:contain;
}
#page-notes .notes-list-empty.is-illustrated strong { color:var(--desk-ink); font-size:15px; }
#page-notes .notes-list-empty.is-illustrated small { margin-top:0; color:var(--desk-muted); font-size:11px; }
#page-notes .notes-editor-empty.is-illustrated {
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:28px;
  background:var(--desk-paper);
}
#page-notes .notes-editor-empty.is-illustrated>img {
  display:block;
  width:min(560px,76%);
  max-height:36vh;
  height:auto;
  margin-bottom:8px;
  object-fit:contain;
}
#page-notes .notes-editor-empty.is-trash>img { width:min(560px,76%); }
#page-notes .notes-editor-empty.is-illustrated h2 { margin:0; color:var(--desk-ink); font-size:22px; font-weight:700; }
#page-notes .notes-editor-empty.is-illustrated p { max-width:500px; margin:0; color:var(--desk-muted); font-size:13px; line-height:1.55; }
#page-notes .notes-editor-empty.is-illustrated button { min-height:42px; margin-top:12px; padding:9px 18px; font-size:13px; }
/* ── Bir ekranda tek çizim, tek başlık (TASARIM-DILI.md §3.6) ──────────
   Masaüstünde boş Notlar sayfasında iki çizim + iki başlık vardı: dar liste
   sütununda ve geniş panelde aynı not çizimi; davet başlığı iki
   kez yazıyordu. Çizim ve davet, yeri olan GENİŞ panelde kalır; dar sütun
   tek sakin cümle söyler. Ticketlar'daki düzeltmenin aynısı. */
@media (min-width:821px) {
  #page-notes .notes-list-empty.is-illustrated > img { display:none; }
  #page-notes .notes-list-empty.is-illustrated > strong { display:none; }
  #page-notes .notes-list-empty.is-illustrated > small { max-width:240px; font-size:12px; line-height:1.55; }
}
/* Mobilde sağ panel yok: başlık ve çizim burada durur, davet metnindeki
   İKİNCİ başlık düşer. */
@media (max-width:820px) {
  #page-notes .notes-empty-mobile-cta b { display:none; }
}
#page-notes .notes-empty-mobile-cta { display:none; }
@media(max-width:820px) {
  #page-notes .notes-empty-mobile-cta { display:block; max-width:300px; margin-top:22px; }
  #page-notes .notes-empty-mobile-cta p { margin:0; color:var(--desk-muted); font-size:12px; line-height:1.55; }
  #page-notes .notes-empty-mobile-cta b { color:var(--desk-ink); font-size:15px; }
  #page-notes .notes-empty-mobile-cta button { min-height:40px; margin-top:16px; padding:9px 16px; border:0; border-radius:10px; color:#614800; background:#ffd860; font-family:inherit; font-size:12px; font-weight:700; cursor:pointer; }
}

/* ── Notlar yükseltmesi (2026-09-27) ───────────────────────────────────
   Tek çizgi simge dili, sayfa adı bir kez, arama kutusunda kutu içinde kutu
   yok, zaman bölümlü liste, üst şeritte yazılı düğme dizisi yerine ipuçlu
   simgeler (§3.1, §3.2), renk seçimi tek tıkla. */
#page-notes .notes-ico { width:16px; height:16px; flex:0 0 auto; }

/* Kenar çubuğu: marka bloğu ve alt durum satırı kalktı (sayfa adı üst
   çubukta, kayıt durumu düzenleyicide zaten yazıyor). */
#page-notes .notes-sidebar { padding-top:12px; }
#page-notes .notes-side-item>span { display:inline-flex; align-items:center; justify-content:center; color:var(--desk-muted); }
#page-notes .notes-side-item.active>span { color:var(--accent); }
#page-notes .notes-side-item b { font-variant-numeric:tabular-nums; }
#page-notes .notes-side-item b.is-zero { opacity:.45; }
#page-notes .notes-side-item:focus-visible { outline:2px solid var(--accent); outline-offset:-2px; }
#page-notes .notes-side-label {
  margin:20px 8px 6px;
  color:var(--desk-muted);
  font-size:var(--type-caption);
  font-weight:600;
  letter-spacing:.08em;
  text-transform:uppercase;
}

/* Liste başı */
#page-notes .notes-new-btn { display:inline-grid; place-items:center; padding:0; }
#page-notes .notes-new-btn .notes-ico { width:16px; height:16px; stroke-width:2.2; }
#page-notes .notes-search { gap:8px; }
#page-notes .notes-search>.notes-ico { width:14px; height:14px; }
#page-notes .notes-search:focus-within { border-color:color-mix(in srgb,var(--accent) 55%,transparent); box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 14%,transparent); }
#page-notes .notes-search input,
html[data-theme="dark"] #page-notes .notes-search input {
  height:auto;
  min-height:0;
  padding:0;
  color:var(--desk-ink);
  background:transparent;
  border:0;
  border-radius:0;
  box-shadow:none;
  outline:0;
}
#page-notes .notes-search input::-webkit-search-cancel-button { cursor:pointer; }

/* Zaman bölümleri (Bugün · Dün · Önceki 7 gün …) */
#page-notes .notes-list-section {
  margin:12px 6px 4px;
  color:var(--desk-muted);
  font-size:var(--type-caption);
  font-weight:600;
  letter-spacing:.08em;
  text-transform:uppercase;
}
#page-notes .notes-list-section:first-child { margin-top:4px; }
#page-notes .notes-list-section+.notes-list-item { border-top:0; }
#page-notes .notes-list-item { min-height:0; padding:10px 10px 10px 12px; }
#page-notes .notes-list-item:focus-visible { outline:2px solid var(--accent); outline-offset:-2px; }
#page-notes .notes-list-item.active { box-shadow:none; }
#page-notes .notes-list-item.active+.notes-list-item,
#page-notes .notes-list-item:hover+.notes-list-item { border-top-color:transparent; }
#page-notes .notes-list-copy>strong { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
#page-notes .notes-list-copy small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
#page-notes .notes-list-copy time { color:var(--desk-ink); opacity:.7; font-variant-numeric:tabular-nums; }
#page-notes .notes-list-copy em { font-style:normal; }

/* Dar ekranda görünüm şeridi (kenar çubuğunun yerine) */
#page-notes .notes-view-strip { display:none; }
@media (max-width:820px) {
  #page-notes .notes-view-strip {
    display:flex;
    gap:6px;
    margin:0 10px 8px;
    overflow-x:auto;
    scrollbar-width:none;
  }
  #page-notes .notes-view-strip::-webkit-scrollbar { display:none; }
  #page-notes .notes-view-strip button {
    flex:0 0 auto;
    min-height:32px;
    padding:6px 12px;
    color:var(--desk-muted);
    background:transparent;
    border:1px solid var(--desk-line);
    border-radius:999px;
    font:500 var(--type-meta)/1 var(--font);
    cursor:pointer;
  }
  #page-notes .notes-view-strip button.active { color:var(--desk-ink); background:var(--desk-paper); border-color:color-mix(in srgb,var(--accent) 45%,var(--desk-line)); }
}

/* Düzenleyici üst şeridi: ipuçlu simge düğmeler */
#page-notes .notes-top-actions { gap:2px; }
#page-notes .notes-top-actions .notes-icon-btn {
  position:relative;
  display:inline-grid;
  place-items:center;
  width:32px;
  min-width:32px;
  height:32px;
  padding:0;
  color:var(--desk-muted);
  background:transparent;
  border:0;
  border-radius:8px;
}
#page-notes .notes-top-actions .notes-icon-btn .notes-ico { width:17px; height:17px; }
#page-notes .notes-top-actions .notes-icon-btn:hover { color:var(--desk-ink); background:var(--desk-soft); }
#page-notes .notes-top-actions .notes-icon-btn.is-on { color:var(--accent); }
#page-notes .notes-top-actions .notes-icon-btn.is-on .notes-ico { fill:color-mix(in srgb,var(--accent) 22%,transparent); }
#page-notes .notes-top-actions .notes-icon-btn:focus-visible { outline:2px solid var(--accent); outline-offset:0; }
#page-notes .notes-top-actions .notes-delete-action:hover { color:var(--danger); background:var(--danger-soft); }
#page-notes .notes-share-btn>i {
  position:absolute;
  top:3px;
  right:2px;
  min-width:14px;
  height:14px;
  padding:0 3px;
  color:var(--desk-paper);
  background:var(--accent);
  border-radius:999px;
  font:700 9px/14px var(--font);
  font-style:normal;
}
#page-notes .notes-top-sep { width:1px; height:18px; margin:0 6px; background:var(--desk-line); }
#page-notes .notes-top-actions button:not(.notes-icon-btn) { display:inline-flex; align-items:center; gap:6px; }
#page-notes .notes-top-actions button:not(.notes-icon-btn) .notes-ico { width:14px; height:14px; }
#page-notes .notes-top-actions .notes-permanent-action { color:var(--danger); }
#page-notes .notes-mobile-back { display:none; align-items:center; gap:2px; padding-left:2px; color:var(--accent); background:transparent; border:0; font-weight:600; }
@media (max-width:820px) { #page-notes .notes-mobile-back { display:inline-flex; } }

/* Biçim şeridi: simge grupları · klasör · renk */
#page-notes .notes-formatbar { gap:2px; }
#page-notes .notes-format-group { display:flex; align-items:center; gap:2px; }
#page-notes .notes-formatbar .notes-format-group button {
  display:inline-grid;
  place-items:center;
  width:30px;
  min-width:30px;
  height:30px;
  padding:0;
  font-size:var(--type-control);
}
#page-notes .notes-formatbar .notes-format-group button:hover:not(:disabled) { color:var(--desk-ink); background:var(--desk-paper); border-color:transparent; }
#page-notes .notes-format-sep { flex:0 0 auto; width:1px; height:16px; margin:0 6px; background:var(--desk-line); }
#page-notes .notes-folder-select {
  display:inline-flex;
  align-items:center;
  gap:4px;
  margin-left:auto;
  padding-left:8px;
  color:var(--desk-muted);
  border-radius:6px;
}
#page-notes .notes-folder-select:hover { background:var(--desk-paper); }
#page-notes .notes-folder-select .notes-ico { width:14px; height:14px; }
#page-notes .notes-formatbar .notes-folder-select select { margin-left:0; padding-left:2px; background-color:transparent; }
#page-notes .notes-formatbar .notes-folder-select select:hover { background-color:transparent; border-color:transparent; }
#page-notes .notes-swatches { display:flex; align-items:center; gap:2px; margin-left:8px; }
#page-notes .notes-formatbar .notes-swatch {
  position:relative;
  display:inline-grid;
  place-items:center;
  width:24px;
  min-width:24px;
  height:24px;
  min-height:24px;
  padding:0;
  border-radius:50%;
}
#page-notes .notes-swatch .notes-list-accent { position:static; inset:auto; width:12px; height:12px; border-radius:50%; transition:transform .15s ease; }
#page-notes .notes-swatch:hover:not(:disabled) .notes-list-accent { transform:scale(1.15); }
#page-notes .notes-swatch.active { box-shadow:inset 0 0 0 1.5px var(--desk-ink); }
#page-notes .notes-swatch:focus-visible { outline:2px solid var(--accent); outline-offset:1px; }

/* Kâğıt: ilk satır başlık gibi okunur (listedeki başlık da oradan gelir) */
#page-notes .notes-paper { padding-top:20px; }
#page-notes .notes-paper-date { font-variant-numeric:tabular-nums; }
#page-notes .notes-body-input { outline:0; }
#page-notes .notes-body-input>div:first-child { font-size:26px; font-weight:700; letter-spacing:-.015em; line-height:1.5; }
/* İlk satır değerleri değişkenden okunur: boş notta değişkenler geçersiz
   (initial) olur ve özellikler kalıtılır (= inherit). ::first-line'a :has()
   yazılmaz — Chrome'da sayfanın HER stil yazımında bütün belgeyi yeniden
   hesaplatıyordu (2026-10-16, ~12 ms/yazım). */
#page-notes .notes-body-input { --nb-first-fs:26px; --nb-first-fw:700; --nb-first-ls:-.015em; }
#page-notes .notes-body-input::first-line { font-size:var(--nb-first-fs); font-weight:var(--nb-first-fw); letter-spacing:var(--nb-first-ls); line-height:1.5; }
#page-notes .notes-body-input h1,
#page-notes .notes-body-input h2,
#page-notes .notes-body-input h3 { margin:14px 0 4px; font-size:17px; font-weight:680; letter-spacing:-.01em; line-height:1.45; }
#page-notes .notes-body-input hr { height:0; margin:14px 0; border:0; border-top:1px solid var(--desk-line); }
#page-notes .notes-body-input ul { margin:2px 0; padding-left:22px; }
#page-notes .notes-body-input[contenteditable="true"] { cursor:text; }
#page-notes .notes-smart-row:empty { display:none; }
#page-notes .notes-editor-footer { min-height:34px; }

@media (max-width:1180px) {
  #page-notes .notes-swatches { display:none; }
}
@media (max-width:820px) {
  #page-notes .notes-formatbar { overflow-x:auto; }
  #page-notes .notes-swatches { display:flex; }
  #page-notes .notes-body-input>div:first-child { font-size:22px; }
  #page-notes .notes-body-input { --nb-first-fs:22px; }
}
@media (prefers-reduced-motion: reduce) {
  #page-notes .notes-swatch .notes-list-accent { transition:none; }
}
#page-notes .notes-side-item.active b,
html[data-theme="dark"] #page-notes .notes-side-item.active b { color:var(--desk-ink); }

/* ── Sürükle-bırak ve şablonlar (2026-09-27) ─────────────────────────── */
#page-notes .notes-list-item[draggable="true"] { -webkit-user-drag:element; }
#page-notes .notes-list-item.is-dragging { opacity:.45; }
#page-notes .is-drag-only { display:none; }
#page-notes .workspace-notes-app.is-dragging-note .notes-side-label.is-drag-only { display:block; }
#page-notes .workspace-notes-app.is-dragging-note .notes-side-item.is-drag-only { display:grid; }
#page-notes .workspace-notes-app.is-dragging-note .notes-side-item[data-note-drop] { box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 30%,transparent); }
#page-notes .workspace-notes-app.is-dragging-note .notes-side-item[data-note-drop="trash"] { box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--danger) 30%,transparent); }
#page-notes .notes-side-item.is-drop-over,
html[data-theme="dark"] #page-notes .notes-side-item.is-drop-over { color:var(--desk-ink); background:var(--accent-soft); box-shadow:inset 0 0 0 1.5px var(--accent); }
#page-notes .notes-side-item[data-note-drop="trash"].is-drop-over,
html[data-theme="dark"] #page-notes .notes-side-item[data-note-drop="trash"].is-drop-over { background:var(--danger-soft); box-shadow:inset 0 0 0 1.5px var(--danger); }
#page-notes .notes-side-item.is-drop-over>span { color:var(--accent); }

#page-notes .notes-templates { margin-top:24px; padding-top:16px; border-top:1px solid var(--desk-line); }
#page-notes .notes-templates[hidden] { display:none; }
#page-notes .notes-templates>span {
  display:block;
  margin-bottom:8px;
  color:var(--desk-muted);
  font-size:var(--type-caption);
  font-weight:600;
  letter-spacing:.08em;
  text-transform:uppercase;
}
#page-notes .notes-templates>div { display:flex; flex-wrap:wrap; gap:8px; }
#page-notes .notes-templates button {
  display:inline-flex;
  align-items:center;
  gap:6px;
  min-height:32px;
  padding:6px 12px;
  color:var(--desk-ink);
  background:transparent;
  border:1px solid var(--desk-line);
  border-radius:999px;
  font:500 var(--type-meta)/1 var(--font);
  cursor:pointer;
  transition:background .15s ease, border-color .15s ease;
}
#page-notes .notes-templates button .notes-ico { width:14px; height:14px; color:var(--desk-muted); }
#page-notes .notes-templates button:hover { background:var(--desk-soft); border-color:color-mix(in srgb,var(--accent) 40%,var(--desk-line)); }
#page-notes .notes-templates button:focus-visible { outline:2px solid var(--accent); outline-offset:1px; }
@media (prefers-reduced-motion: reduce) { #page-notes .notes-templates button { transition:none; } }
/* Boş notta yer tutucu gövde puntosunda kalır (başlık boyu yalnız yazılan
   metne uygulanır) ve şablonlar yer tutucunun hemen altında durur. */
#page-notes .notes-body-input:empty,
#page-notes .notes-body-input:has(> br:only-child) { --nb-first-fs:initial; --nb-first-fw:initial; --nb-first-ls:initial; }
#page-notes .notes-paper:has(.notes-templates:not([hidden])) .notes-body-input { flex:0 0 auto; min-height:96px; }
/* Ortak şablon hapı: ad + (ekleyene/yöneticiye) kaldırma × — tek hap. */
#page-notes .notes-template-chip { display:inline-flex; align-items:stretch; border:1px solid var(--desk-line); border-radius:999px; }
#page-notes .notes-template-chip:hover { border-color:color-mix(in srgb,var(--accent) 40%,var(--desk-line)); }
#page-notes .notes-templates .notes-template-chip>.notes-template-btn { border:0; }
#page-notes .notes-templates .notes-template-chip>.notes-template-btn:hover { border-color:transparent; }
#page-notes .notes-templates .notes-template-chip.is-shared>.notes-template-btn .notes-ico { color:var(--accent); }
#page-notes .notes-templates .notes-template-chip:has(.notes-template-remove)>.notes-template-btn { padding-right:4px; border-radius:999px 0 0 999px; }
#page-notes .notes-templates .notes-template-remove {
  min-height:0;
  width:26px;
  padding:0 8px 0 2px;
  color:var(--desk-muted);
  border:0;
  border-radius:0 999px 999px 0;
  font-size:15px;
  line-height:1;
}
#page-notes .notes-templates .notes-template-remove:hover { color:var(--danger); background:var(--danger-soft); border-color:transparent; }
#page-notes .notes-templates .notes-template-retry { color:var(--desk-muted); border-style:dashed; }

/* ── Notlar: @ önerileri, bağlantı hapları, kişi pencereleri (2026-10-16) ──
   @ menüsü imlecin altında yüzer: metni itmez, satırlar yerinden oynamaz. */
#page-notes .notes-paper { position:relative; }
#page-notes .notes-mention-menu {
  position:absolute;
  z-index:30;
  top:0; left:0;
  width:340px;
  max-height:none;
  margin:0;
  padding:0;
  overflow:hidden;
  background:var(--desk-paper,#fff);
  border:1px solid var(--desk-line);
  border-radius:12px;
  box-shadow:0 14px 38px rgba(20,28,40,.16), 0 2px 6px rgba(20,28,40,.06);
  animation:notes-mention-in .12s ease-out;
}
@keyframes notes-mention-in { from { opacity:0; transform:translateY(-3px); } }
#page-notes .notes-mention-menu[hidden] { display:none; }
#page-notes .notes-mention-list { max-height:264px; overflow-y:auto; padding:4px; overscroll-behavior:contain; }
#page-notes .notes-mention-group { padding:8px 9px 3px; color:var(--desk-muted); font-size:10px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; }
#page-notes .notes-mention-group:first-child { padding-top:5px; }
#page-notes .notes-mention-menu button {
  display:grid; width:100%; grid-template-columns:28px minmax(0,1fr); align-items:center; gap:10px;
  min-height:40px; padding:5px 8px;
  color:var(--desk-ink); background:transparent; border:0; border-radius:8px;
  font:inherit; text-align:left; cursor:pointer;
}
#page-notes .notes-mention-menu button.active { background:var(--desk-soft); box-shadow:inset 2px 0 0 var(--accent); }
#page-notes .notes-mention-menu button > span {
  display:grid; width:28px; height:28px; place-items:center;
  color:#fff; background:#1785d1; border-radius:8px; font-size:10px; font-weight:750; letter-spacing:-.01em;
}
#page-notes .notes-mention-menu button > span.user { border-radius:50%; }
#page-notes .notes-mention-menu button > span.customer { background:#7b61c8; }
#page-notes .notes-mention-menu button > span.order { background:#268d68; }
#page-notes .notes-mention-menu button div { min-width:0; }
#page-notes .notes-mention-menu button strong,
#page-notes .notes-mention-menu button small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
#page-notes .notes-mention-menu button strong { font-size:12.5px; font-weight:650; }
#page-notes .notes-mention-menu button small { margin-top:1px; color:var(--desk-muted); font-size:10.5px; }
#page-notes .notes-mention-empty { padding:14px 12px; color:var(--desk-muted); font-size:12px; }
#page-notes .notes-mention-hint { display:flex; gap:12px; padding:6px 10px; color:var(--desk-muted); background:var(--desk-soft); border-top:1px solid var(--desk-line); font-size:10.5px; }
#page-notes .notes-mention-hint kbd { display:inline-grid; min-width:16px; height:16px; place-items:center; margin-right:2px; padding:0 3px; color:var(--desk-ink); background:var(--desk-paper,#fff); border:1px solid var(--desk-line); border-radius:4px; font:600 9.5px/1 inherit; }
@media (prefers-reduced-motion: reduce) { #page-notes .notes-mention-menu { animation:none; } }

/* Tarih satırı + bağlantı hapları tek satır: hap eklenince metin kaymaz. */
#page-notes .notes-paper-meta { display:flex; min-height:26px; flex-wrap:wrap; align-items:center; justify-content:center; gap:6px 10px; }
#page-notes .notes-paper-meta > .notes-reference-chips > .notes-ref-chip { height:24px; }
#page-notes .notes-paper-meta > .notes-reference-chips { min-height:0; margin:0; justify-content:flex-start; gap:6px; }
.notes-reference-chips > .notes-ref-chip {
  display:inline-flex; min-width:0; max-width:100%; align-items:stretch; padding:0; gap:0;
  border:1px solid transparent; border-radius:999px; overflow:hidden;
}
.notes-ref-chip > .notes-ref-chip-main {
  display:inline-flex; min-width:0; align-items:center; gap:6px; padding:3px 10px;
  color:inherit; background:transparent; border:0; font:inherit; cursor:pointer;
}
.notes-ref-chip > span.notes-ref-chip-main { cursor:default; }
.notes-ref-chip-main > span { font-size:10px; font-weight:650; opacity:.7; }
.notes-ref-chip-main > b { overflow:hidden; max-width:240px; font-size:12px; font-weight:650; text-overflow:ellipsis; white-space:nowrap; }
.notes-ref-chip > .notes-ref-chip-x {
  display:grid; width:24px; place-items:center; padding:0 4px 0 0;
  color:inherit; background:transparent; border:0; opacity:.55; cursor:pointer;
}
.notes-ref-chip-x svg { width:12px; height:12px; fill:none; stroke:currentColor; stroke-width:2.2; stroke-linecap:round; }
.notes-ref-chip-x:hover { opacity:1; }
.notes-ref-chip-main:hover { text-decoration:underline; text-underline-offset:2px; }
.notes-ref-chip-main:focus-visible, .notes-ref-chip-x:focus-visible { outline:2px solid var(--accent); outline-offset:-2px; border-radius:999px; }

/* Kişi pencereleri (Ortak Çalışma / Sohbette Gönder) */
.notes-dialog > header > div > span .notes-ico { width:19px; height:19px; }
.notes-people-search { display:flex; align-items:center; gap:8px; margin:12px 18px 2px; padding:0 11px; height:36px; color:#8a8a8f; background:#f4f4f2; border:1px solid transparent; border-radius:10px; }
.notes-people-search:focus-within { background:#fff; border-color:#e8b92c; box-shadow:0 0 0 3px rgba(255,193,38,.15); }
.notes-people-search .notes-ico { width:15px; height:15px; flex:0 0 auto; }
.notes-people-search input { flex:1; min-width:0; height:100%; padding:0; color:inherit; background:transparent; border:0; box-shadow:none; outline:0; font:500 12.5px inherit; }
.notes-people-search input { color:#2a2a2d; }
.notes-person-row[hidden] { display:none; }
.notes-person-row { border-radius:10px; border-bottom-color:transparent; }
.notes-person-row + .notes-person-row { margin-top:1px; }
.notes-person-row:hover { background:#f7f7f5; }
.notes-person-row.is-shared { background:#fffae8; }
.notes-person-row select { border-radius:8px; }
.notes-person-row.is-shared select { color:#5d4500; background-color:#fff3c4; border-color:#efcf6a; font-weight:650; }
.notes-person-row.selectable > i svg { width:13px; height:13px; fill:none; stroke:currentColor; stroke-width:2.6; stroke-linecap:round; stroke-linejoin:round; }
.notes-dialog-primary:disabled { opacity:.45; cursor:default; box-shadow:none; }
html[data-theme="dark"] .notes-people-search { color:#a1a1a6; background:rgba(255,255,255,.06); }
html[data-theme="dark"] .notes-people-search:focus-within { background:rgba(255,255,255,.09); }
html[data-theme="dark"] .notes-people-search input { color:#f5f5f7; }
html[data-theme="dark"] .notes-person-row:hover { background:rgba(255,255,255,.05); }
html[data-theme="dark"] .notes-person-row.is-shared { background:rgba(255,193,38,.1); }
html[data-theme="dark"] .notes-person-row.is-shared select { color:#ffd35a; background-color:rgba(255,193,38,.14); border-color:rgba(255,210,88,.3); }
/* Satır <label>'dır: genel form etiketi stili (büyük harf, gri) sızmasın. */
.notes-person-row { margin:0; color:#2a2a2d; font-size:inherit; font-weight:inherit; letter-spacing:normal; text-transform:none; }
.notes-person-row strong { color:#232326; font-weight:650; letter-spacing:-.005em; text-transform:none; }
.notes-person-row small { letter-spacing:normal; text-transform:none; }
html[data-theme="dark"] .notes-person-row, html[data-theme="dark"] .notes-person-row strong { color:#f5f5f7; }

/* Sipariş Notları (2026-10-28): sağda sipariş detayının not paneli, bölmeyi
   doldurur; akış kendi içinde kayar, yazma alanı altta kalır. */
#page-notes .notes-order-paper { display:flex; flex:1 1 auto; min-height:0; flex-direction:column; gap:var(--space-3, 12px); padding:18px 22px 20px; overflow:hidden; }
#page-notes .notes-order-head { display:grid; gap:4px; min-width:0; }
#page-notes .notes-order-head h1 { margin:0; overflow:hidden; color:var(--desk-ink); font-size:20px; font-weight:680; line-height:1.25; letter-spacing:-.02em; text-overflow:ellipsis; white-space:nowrap; }
#page-notes .notes-order-head small { overflow:hidden; color:var(--desk-muted); font-size:12px; font-weight:500; text-overflow:ellipsis; white-space:nowrap; }
#page-notes .notes-order-paper .order-notes-panel-unified { display:flex; flex:1 1 auto; min-height:0; flex-direction:column; margin:0; overflow:hidden; }
#page-notes .notes-order-paper .watch-note-chat.is-order-surface { display:flex; flex:1 1 auto; min-height:0; flex-direction:column; }
#page-notes .notes-order-paper .watch-note-chat-body,
#page-notes .notes-order-paper .watch-note-chat-body-inner { display:flex; flex:1 1 auto; min-height:0; flex-direction:column; }
#page-notes .notes-order-paper .watch-note-chat.is-order-surface .watch-note-thread,
#page-notes .notes-order-paper .watch-note-chat.is-order-surface:not(.is-empty) .watch-note-thread { flex:1 1 auto; min-height:0; max-height:none; }
@media (max-width:760px) {
  #page-notes .notes-order-paper { padding:14px 14px 16px; }
  #page-notes .notes-order-head h1 { font-size:17px; }
}

/* ═══ Notlar v3 (2026-10-30, TASARIM-DILI §3.19) ═══════════════════════════
   Kenar çubuğu kâğıtsız, sayfa zemininde (v2 kabuğu); liste + kâğıt tek kart.
   Liste başı tek satır (arama · ? · Seç · Yeni), satır başlığı notun kendisi,
   bağlantılar künyede hap. Düzenleyicide TEK araç şeridi; renk/klasör künyedeki
   düğmede, şablon/sil ••• menüsünde. Sarı üst çizgi ve alt sayaç şeridi yok.
   Seçimde eylemler listenin altında yüzen çubuk, sağda seçilenlerin yığını.
   #workspaceNotesApp kimliği tasarim-v2.css'in panel yüzeyini (:is ile 1 kimlik)
   önemlilik bayrağı kullanmadan ezmek içindir. */
#page-notes #workspaceNotesApp {
  grid-template-columns:200px minmax(260px,330px) minmax(0,1fr);
  overflow:visible;
  background:transparent;
  border:0;
  border-radius:0;
  box-shadow:none;
}
#page-notes #workspaceNotesApp .notes-sidebar {
  padding:2px 14px 6px 0;
  background:transparent;
  border:0;
}
#page-notes #workspaceNotesApp .notes-side-item { min-height:34px; border-radius:9px; box-shadow:none; }
#page-notes #workspaceNotesApp .notes-side-item strong { font-size:13px; font-weight:550; }
#page-notes #workspaceNotesApp .notes-side-item b { font-size:11.5px; font-weight:550; }
#page-notes #workspaceNotesApp .notes-side-item:hover { background:color-mix(in srgb,var(--desk-paper) 60%,transparent); }
#page-notes #workspaceNotesApp .notes-side-item.active {
  color:var(--desk-ink);
  background:var(--desk-paper);
  box-shadow:var(--v2-lift,0 0 0 1px var(--desk-line));
}
#page-notes #workspaceNotesApp .notes-side-foot { margin-top:auto; padding-top:12px; }

#page-notes #workspaceNotesApp .notes-list-pane {
  position:relative;
  background:color-mix(in srgb,var(--desk-paper) 55%,var(--bg));
  border:1px solid var(--desk-line);
  border-right:0;
  border-radius:16px 0 0 16px;
}
#page-notes #workspaceNotesApp .notes-editor-pane {
  background:var(--desk-paper);
  border:1px solid var(--desk-line);
  border-radius:0 16px 16px 0;
}
#page-notes #workspaceNotesApp .notes-editor-shell { background:var(--desk-paper); }
#page-notes #workspaceNotesApp .notes-editor-shell::before { display:none; }

/* Liste başı */
#page-notes #workspaceNotesApp .notes-list-head.is-v3 { gap:6px; min-height:58px; padding:12px 10px 8px 12px; }
#page-notes #workspaceNotesApp .notes-list-head.is-v3 .notes-search { flex:1 1 auto; min-width:0; height:34px; margin:0; border-radius:9px; }
#page-notes #workspaceNotesApp .notes-list-head.is-v3 .notes-list-head-actions { flex:none; gap:4px; }
#page-notes #workspaceNotesApp .notes-list-head.is-bulk { padding-left:16px; }
#page-notes #workspaceNotesApp .notes-list-head.is-bulk>strong { font-size:13.5px; font-weight:620; color:var(--desk-ink); }
#page-notes #workspaceNotesApp .notes-select-btn {
  display:inline-grid; width:32px; height:32px; place-items:center; padding:0;
  color:var(--desk-muted); background:transparent; border:0; border-radius:8px;
}
#page-notes #workspaceNotesApp .notes-select-btn:hover { color:var(--desk-ink); background:var(--desk-soft); }
#page-notes #workspaceNotesApp .notes-new-btn {
  width:32px; height:32px; color:var(--on-accent); background:var(--accent); border:0; border-radius:9px; box-shadow:none;
}
#page-notes #workspaceNotesApp .notes-new-btn:hover { filter:brightness(1.06); }
#page-notes .notes-text-btn {
  display:inline-flex; height:30px; align-items:center; gap:6px; padding:0 10px;
  color:var(--desk-muted); background:transparent; border:0; border-radius:8px;
  font-family:inherit; font-size:12.5px; font-weight:600; line-height:1; cursor:pointer;
}
#page-notes .notes-text-btn:hover:not(:disabled) { color:var(--desk-ink); background:var(--desk-soft); }
#page-notes .notes-text-btn:disabled { opacity:.4; cursor:default; }
#page-notes .notes-text-btn.is-quiet-solid { color:var(--desk-ink); background:var(--desk-paper); box-shadow:0 0 0 1px var(--desk-line); }

/* Takvim: iki yüz tek bölümlü denetim */
#page-notes .notes-calendar-switch {
  display:grid; grid-template-columns:1fr 1fr; gap:2px; margin:0 12px 6px; padding:3px;
  background:var(--desk-soft); border-radius:10px;
}
#page-notes .notes-calendar-switch button {
  height:28px; padding:0 8px; color:var(--desk-muted); background:transparent; border:0; border-radius:7px;
  font-family:inherit; font-size:12px; font-weight:600; line-height:1; cursor:pointer; white-space:nowrap;
}
#page-notes .notes-calendar-switch button.active { color:var(--desk-ink); background:var(--desk-paper); box-shadow:var(--v2-lift,0 0 0 1px var(--desk-line)); }
#page-notes .notes-calendar-switch b { margin-left:6px; font-weight:550; opacity:.6; }

/* Liste satırı */
#page-notes #workspaceNotesApp .notes-list-item.is-v3 {
  gap:10px; align-items:flex-start; min-height:0; margin:1px 0; padding:10px 12px;
  border:0; border-radius:10px;
}
#page-notes #workspaceNotesApp .notes-list-item.is-v3+.notes-list-item { border-top:0; border-radius:10px; }
#page-notes #workspaceNotesApp .notes-list-item.is-v3:hover { background:color-mix(in srgb,var(--desk-paper) 70%,transparent); }
#page-notes #workspaceNotesApp .notes-list-item.is-v3.active { background:var(--desk-paper); box-shadow:var(--v2-lift,0 0 0 1px var(--desk-line)); }
#page-notes #workspaceNotesApp .notes-list-item.is-v3 .notes-list-copy { margin-left:0; }
#page-notes #workspaceNotesApp .notes-list-item.is-v3 .notes-list-copy>strong { font-size:13.5px; font-weight:620; color:var(--desk-ink); }
#page-notes #workspaceNotesApp .notes-list-item.is-v3 .notes-list-copy small {
  display:-webkit-box; margin-top:3px; font-size:12.5px; line-height:1.45; color:var(--desk-muted);
  white-space:normal; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
}
#page-notes #workspaceNotesApp .notes-list-item.is-v3 .notes-list-copy em {
  display:flex; align-items:center; gap:6px; margin-top:6px; overflow:hidden;
  font-size:11.5px; font-weight:500; color:var(--desk-muted); white-space:nowrap;
}
#page-notes #workspaceNotesApp .notes-list-item.is-v3 em>.notes-list-accent { position:static; flex:none; width:8px; height:8px; border-radius:50%; }
#page-notes #workspaceNotesApp .notes-list-item.is-v3 em time { margin:0; color:inherit; font-weight:500; opacity:1; }
#page-notes #workspaceNotesApp .notes-list-item.is-v3 em>span { overflow:hidden; text-overflow:ellipsis; }
#page-notes .notes-list-ref {
  display:inline-block; max-width:150px; flex:0 1 auto; height:18px; padding:0 7px; overflow:hidden;
  color:var(--desk-ink); background:var(--desk-soft); border-radius:999px;
  font-style:normal; font-weight:550; line-height:18px; text-overflow:ellipsis; opacity:.85;
}
#page-notes .notes-list-item mark { padding:0 1px; color:inherit; background:color-mix(in srgb,var(--warning-fill) 45%,transparent); border-radius:3px; }

/* Seçim kutucuğu: yuvarlatılmış kare, seçilince vurgu dolgu + çizgi tik */
#page-notes #workspaceNotesApp .notes-bulk-check {
  width:20px; height:20px; color:var(--on-accent); background:transparent;
  border:1.5px solid color-mix(in srgb,var(--desk-muted) 70%,transparent); border-radius:6px; box-shadow:none;
}
#page-notes #workspaceNotesApp .notes-list-item.is-v3 .notes-bulk-check { position:static; flex:none; margin-top:1px; transform:none; }
#page-notes #workspaceNotesApp .notes-bulk-check svg { width:13px; height:13px; }
#page-notes #workspaceNotesApp .notes-bulk-check.is-on { background:var(--accent); border-color:var(--accent); box-shadow:none; }
#page-notes #workspaceNotesApp .notes-calendar-item.is-shared-note .notes-bulk-check.is-on { background:var(--danger); border-color:var(--danger); }
#page-notes #workspaceNotesApp .notes-bulk-check.is-off { opacity:.35; }
#page-notes #workspaceNotesApp .notes-list-item.bulk-selected { background:color-mix(in srgb,var(--accent) 12%,transparent); box-shadow:none; }

/* Seçim çubuğu: listenin altında yüzer */
#page-notes #workspaceNotesApp.is-bulk .notes-list { padding-bottom:72px; }
#page-notes .notes-bulk-dock {
  position:absolute; left:10px; right:10px; bottom:10px; z-index:4;
  display:flex; align-items:center; gap:2px; padding:4px;
  background:var(--desk-paper); border:1px solid var(--desk-line); border-radius:12px;
  box-shadow:0 18px 44px rgba(15,23,42,.18);
}
#page-notes .notes-dock-btn {
  display:inline-flex; height:34px; align-items:center; gap:6px; padding:0 11px;
  color:var(--desk-ink); background:transparent; border:0; border-radius:8px;
  font-family:inherit; font-size:12.5px; font-weight:600; line-height:1; cursor:pointer;
}
#page-notes .notes-dock-btn:hover:not(:disabled) { background:var(--desk-soft); }
#page-notes .notes-dock-btn:disabled { opacity:.4; cursor:default; }
#page-notes .notes-dock-btn.is-danger { margin-left:auto; color:var(--danger); }
#page-notes .notes-dock-btn .notes-ico { width:16px; height:16px; }

/* Düzenleyici: tek araç şeridi */
#page-notes #workspaceNotesApp .notes-editor-topbar.is-v3 {
  justify-content:flex-start; gap:2px; min-height:52px; padding:0 10px 0 12px;
  background:var(--desk-paper); border-bottom:1px solid var(--desk-line); backdrop-filter:none;
}
#page-notes .notes-editor-topbar.is-v3 .notes-format-group { display:flex; gap:2px; }
#page-notes .notes-editor-topbar.is-v3 .notes-format-group button {
  display:inline-grid; width:32px; height:32px; place-items:center; padding:0;
  color:var(--desk-muted); background:transparent; border:0; border-radius:8px; cursor:pointer;
}
#page-notes .notes-editor-topbar.is-v3 .notes-format-group button b { font-size:14px; font-weight:800; }
#page-notes .notes-editor-topbar.is-v3 .notes-format-group button:hover:not(:disabled) { color:var(--desk-ink); background:var(--desk-soft); }
#page-notes .notes-editor-topbar.is-v3 .notes-format-group button:disabled { opacity:.4; cursor:default; }
#page-notes .notes-editor-topbar.is-v3 .notes-format-sep { width:1px; height:18px; margin:0 6px; background:var(--desk-line); }
#page-notes .notes-editor-topbar.is-v3 .notes-editor-status { margin:0 8px 0 auto; gap:6px; font-size:12px; color:var(--desk-muted); }
#page-notes .notes-editor-topbar.is-v3 .notes-editor-status>.notes-ico { width:14px; height:14px; color:var(--success); stroke-width:2.2; }
#page-notes .notes-editor-topbar.is-v3 .notes-top-actions { flex:none; gap:2px; }
#page-notes #workspaceNotesApp .notes-editor-topbar.is-v3 .notes-top-actions .notes-icon-btn {
  display:inline-grid; width:32px; min-width:32px; height:32px; place-items:center; padding:0;
  color:var(--desk-muted); background:transparent; border:0; border-radius:8px;
}
#page-notes #workspaceNotesApp .notes-editor-topbar.is-v3 .notes-top-actions .notes-icon-btn:hover,
#page-notes #workspaceNotesApp .notes-editor-topbar.is-v3 .notes-top-actions .notes-icon-btn[aria-expanded="true"] { color:var(--desk-ink); background:var(--desk-soft); }
#page-notes #workspaceNotesApp .notes-editor-topbar.is-v3 .notes-top-actions .notes-icon-btn.is-on { color:var(--accent); }
#page-notes #workspaceNotesApp .notes-editor-topbar.is-v3 .notes-send-btn {
  height:32px; margin-left:4px; padding:0 12px 0 10px; color:var(--desk-ink);
  background:transparent; border:1px solid var(--desk-line); border-radius:8px;
}
#page-notes #workspaceNotesApp .notes-editor-topbar.is-v3 .notes-send-btn:hover { background:var(--desk-soft); }
#page-notes #workspaceNotesApp .notes-editor-topbar.is-v3 .notes-text-btn { height:32px; border:0; }

/* Kâğıt: tarih · klasör/renk · bağlantılar · ortaklar, başlık ve gövdeyle aynı sol hiza */
#page-notes #workspaceNotesApp .notes-editor-shell.is-v3 .notes-paper { width:100%; margin:0; padding:36px 48px 28px; }
#page-notes #workspaceNotesApp .notes-editor-shell.is-v3 .notes-paper>* { width:100%; max-width:720px; }
#page-notes #workspaceNotesApp .notes-editor-shell.is-v3 .notes-paper-meta { justify-content:flex-start; gap:6px 8px; font-size:12.5px; color:var(--desk-muted); }
#page-notes #workspaceNotesApp .notes-editor-shell.is-v3 .notes-paper-date { font-size:12.5px; }
#page-notes #workspaceNotesApp .notes-editor-shell.is-v3 .notes-body-input { margin-top:18px; font-size:15px; }
#page-notes .notes-meta-folder {
  display:inline-flex; height:24px; align-items:center; gap:6px; padding:0 6px 0 8px;
  color:var(--desk-muted); background:transparent; border:0; border-radius:6px;
  font-family:inherit; font-size:12.5px; font-weight:500; line-height:1; cursor:pointer;
}
#page-notes .notes-meta-folder:hover:not(:disabled),
#page-notes .notes-meta-folder[aria-expanded="true"] { color:var(--desk-ink); background:var(--desk-soft); }
#page-notes .notes-meta-folder:disabled { cursor:default; }
#page-notes .notes-meta-folder>.notes-list-accent { position:static; width:8px; height:8px; border-radius:50%; }
#page-notes .notes-meta-folder>.notes-ico { width:12px; height:12px; }
#page-notes .notes-paper-meta>.notes-collab-avatars { display:inline-flex; }
#page-notes #workspaceNotesApp .notes-editor-shell.is-v3 .notes-paper-meta>.notes-reference-chips { flex:0 1 auto; width:auto; min-width:0; }

/* Seçilenler yığını */
#page-notes .notes-bulk-stack { display:flex; height:100%; flex-direction:column; align-items:center; justify-content:center; gap:16px; padding:32px; box-sizing:border-box; }
#page-notes .notes-bulk-stack.is-empty p { margin:0; color:var(--desk-muted); font-size:13px; }
#page-notes .notes-bulk-cards { position:relative; width:min(380px,82%); height:220px; }
#page-notes .notes-bulk-card {
  position:absolute; inset:0; padding:18px 20px; overflow:hidden; box-sizing:border-box;
  background:var(--desk-soft); border:1px solid var(--desk-line); border-radius:14px;
  box-shadow:var(--shadow);
  transform:rotate(calc(var(--i) * -3deg)) translate(calc(var(--i) * -12px), calc(var(--i) * 8px));
  opacity:calc(1 - var(--i) * .22);
  transition:transform .18s cubic-bezier(.2,.75,.25,1), opacity .18s ease;
}
#page-notes .notes-bulk-card strong { display:flex; align-items:center; gap:8px; overflow:hidden; color:var(--desk-ink); font-size:15px; font-weight:650; white-space:nowrap; text-overflow:ellipsis; }
#page-notes .notes-bulk-card strong>.notes-list-accent { position:static; flex:none; width:8px; height:8px; border-radius:50%; }
#page-notes .notes-bulk-card p { display:-webkit-box; margin:8px 0 0; overflow:hidden; color:var(--desk-muted); font-size:13px; line-height:1.55; -webkit-line-clamp:6; -webkit-box-orient:vertical; }
#page-notes .notes-bulk-stack>small { color:var(--desk-muted); font-size:12px; }
#page-notes .notes-bulk-note { max-width:380px; margin:0; color:var(--desk-muted); font-size:12.5px; line-height:1.5; text-align:center; }

/* Açılır menü (••• · klasör/renk · toplu taşı) — sayfanın dışında, body'de */
.notes-pop {
  position:fixed; z-index:1200; min-width:224px; max-width:292px; padding:6px; box-sizing:border-box;
  color:var(--desk-ink); background:var(--desk-paper); border:1px solid var(--desk-line); border-radius:14px;
  box-shadow:0 18px 44px rgba(15,23,42,.18);
  animation:notesPopIn .15s cubic-bezier(.2,.75,.25,1);
}
@keyframes notesPopIn { from { opacity:0; transform:translateY(-4px) scale(.98); } }
.notes-pop .notes-ico { width:16px; height:16px; flex:0 0 auto; }
.notes-pop-item {
  display:flex; width:100%; min-height:44px; align-items:center; gap:10px; padding:6px 8px;
  color:inherit; background:transparent; border:0; border-radius:9px; text-align:left; font:inherit; cursor:pointer;
}
.notes-pop-item.is-compact { min-height:34px; }
.notes-pop-item:hover, .notes-pop-item:focus-visible { background:var(--desk-soft); outline:0; }
.notes-pop-icon { display:inline-grid; width:29px; height:29px; flex:none; place-items:center; color:var(--desk-muted); background:var(--desk-soft); border-radius:9px; }
.notes-pop-item.is-compact .notes-pop-icon { width:22px; height:22px; background:transparent; }
.notes-pop-copy { display:flex; min-width:0; flex:1; flex-direction:column; gap:2px; }
.notes-pop-copy b { font-size:12.5px; font-weight:600; }
.notes-pop-copy small { overflow:hidden; color:var(--desk-muted); font-size:11px; text-overflow:ellipsis; white-space:nowrap; }
.notes-pop-item.is-current>.notes-ico { color:var(--accent); stroke-width:2.2; }
.notes-pop-item.is-danger { color:var(--danger); }
.notes-pop-item.is-danger .notes-pop-icon { color:var(--danger); background:color-mix(in srgb,var(--danger) 12%,transparent); }
.notes-pop-sep { display:block; height:1px; margin:6px 4px; background:var(--desk-line); }
.notes-pop-label { padding:6px 8px 4px; color:var(--desk-muted); font-size:11px; font-weight:600; }
.notes-pop .notes-swatches { display:flex; gap:4px; padding:2px 6px 4px; }
.notes-pop .notes-swatch { display:inline-grid; width:28px; height:28px; place-items:center; padding:0; background:transparent; border:0; border-radius:50%; cursor:pointer; }
.notes-pop .notes-swatch:hover { background:var(--desk-soft); }
.notes-pop .notes-swatch.active { box-shadow:inset 0 0 0 2px var(--accent); }
.notes-pop .notes-swatch .notes-list-accent { position:static; width:14px; height:14px; border-radius:50%; }

/* Notlar sayfasında "Hızlı not" hapı yok: sayfa zaten not yazma yeri. */
body.is-notes-page #floatingQuickNoteBtn { display:none; }

@media (max-width:1100px) {
  #page-notes #workspaceNotesApp { grid-template-columns:172px 270px minmax(0,1fr); }
  #page-notes #workspaceNotesApp .notes-editor-shell.is-v3 .notes-paper { padding-inline:32px; }
}
@media (max-width:1180px) {
  #page-notes #workspaceNotesApp .notes-send-btn>span { display:none; }
  #page-notes #workspaceNotesApp .notes-editor-topbar.is-v3 .notes-send-btn { width:32px; padding:0; justify-content:center; border-color:transparent; }
}
@media (max-width:820px) {
  #page-notes #workspaceNotesApp { grid-template-columns:1fr; }
  #page-notes #workspaceNotesApp .notes-list-pane,
  #page-notes #workspaceNotesApp .notes-editor-pane { border:1px solid var(--desk-line); border-radius:14px; }
  /* Dar ekranda şerit iki satır: geri · durum · eylemler / biçim düğmeleri. */
  #page-notes #workspaceNotesApp .notes-editor-topbar.is-v3 { flex-wrap:wrap; row-gap:2px; padding:6px 8px; }
  #page-notes #workspaceNotesApp .notes-editor-topbar.is-v3::after { content:''; order:3; flex-basis:100%; height:0; }
  #page-notes #workspaceNotesApp .notes-editor-topbar.is-v3 .notes-mobile-back { flex:none; order:0; gap:2px; padding:0 8px 0 2px; color:var(--accent); background:transparent; border:0; font-size:13px; font-weight:600; }
  #page-notes #workspaceNotesApp .notes-editor-topbar.is-v3 .notes-editor-status { order:1; }
  #page-notes #workspaceNotesApp .notes-editor-topbar.is-v3 .notes-top-actions { order:2; }
  #page-notes #workspaceNotesApp .notes-editor-topbar.is-v3 .notes-format-group { order:4; }
  #page-notes #workspaceNotesApp .notes-editor-topbar.is-v3 .notes-format-sep { order:5; }
  #page-notes #workspaceNotesApp .notes-editor-topbar.is-v3 .notes-format-sep+.notes-format-group { order:6; }
  #page-notes #workspaceNotesApp .notes-editor-topbar.is-v3 .notes-editor-status>span:not(.notes-sync-dot) { display:none; }
  #page-notes #workspaceNotesApp .notes-editor-shell.is-v3 .notes-paper { padding:24px 18px 18px; }
  #page-notes #workspaceNotesApp .notes-list-item.is-v3 { padding:12px; }
}
@media (prefers-reduced-motion: reduce) {
  .notes-pop { animation:none; }
  #page-notes .notes-bulk-card { transition:none; }
}

/* ── assets/styles/admin-refined.css ── */
/* Admin paneli + Tedarik doluluk panosu (2026-09-25).
   Admin: kişiler, hesap istekleri, değişiklik kaydı, silinen siparişler ve
   hatalar tek sekmeli pencerede; ticket dağıtımı kategori × görev tablosu.
   Tedarik: "Boyahanede bekleyen" bölümü (§3.6 liste yüzeyi).
   Yalnız jeton kullanılır; ham renk yok. */

/* ── Sekmeli pencere (sipariş detayındaki alt çizgili sekmelerle aynı dil) ── */
#page-admin .admin-hub-tabs {
  display:flex; width:auto; gap:var(--space-5); padding:0; margin:0 0 var(--space-4);
  border:0; border-radius:0; background:none; box-shadow:inset 0 -1px 0 var(--desk-line);
  overflow-x:auto; scrollbar-width:none;
}
#page-admin .admin-hub-tabs::-webkit-scrollbar { display:none; }
#page-admin .admin-hub-tabs .sc-tab {
  position:relative; flex:none; display:inline-flex; align-items:center; gap:6px;
  min-height:36px; padding:8px 0 10px; border:0; border-radius:0; background:none; box-shadow:none;
  color:var(--desk-muted); font-size:var(--type-control); font-weight:550; white-space:nowrap; cursor:pointer;
  transition:color .12s;
}
#page-admin .admin-hub-tabs .sc-tab:hover { color:var(--desk-ink); }
#page-admin .admin-hub-tabs .sc-tab::after {
  content:''; position:absolute; left:0; right:0; bottom:0; height:2px; border-radius:2px; background:transparent; transition:background .12s;
}
#page-admin .admin-hub-tabs .sc-tab.active { color:var(--desk-ink); font-weight:650; }
#page-admin .admin-hub-tabs .sc-tab.active::after { background:var(--accent); }
#page-admin .admin-hub-tabs .sc-tab:focus-visible { outline:2px solid var(--accent); outline-offset:2px; border-radius:4px; }
.admin-tab-count:empty { display:none; }
.admin-tab-count {
  padding:0 6px; border-radius:999px; background:var(--desk-soft); color:var(--desk-muted);
  font-size:var(--type-caption); font-weight:650; font-variant-numeric:tabular-nums; line-height:18px;
}
.admin-tab-count.is-alert { background:var(--accent); color:var(--desk-paper); }

.admin-hub-toolbar { display:flex; align-items:center; justify-content:flex-end; gap:var(--space-2); margin-bottom:var(--space-3); }
/* Sekme içindeki ikinci liste başlığı (Raporlanan siparişler › Açık siparişlerden kaldırılanlar). */
.admin-hub-subhead { display:flex; align-items:center; gap:var(--space-2); margin:var(--space-6) 0 var(--space-3); color:var(--desk-ink); font-size:var(--type-section); font-weight:650; }
.admin-hub-note { margin-right:auto; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:var(--desk-muted); font-size:var(--type-meta); }

/* ── Kişiler listesi ── */
.admin-user-list { display:grid; }
.admin-user-row {
  /* Rozet ve eylem sütunları sabit: özet sütunu her satırda aynı yerden başlar. */
  display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1.4fr) 76px 104px; align-items:center; gap:var(--space-3);
  min-height:48px; padding:var(--space-2) 0; border-top:1px solid var(--desk-line);
}
.admin-user-list .admin-user-row:first-child { border-top:0; }
.admin-user-id { display:flex; align-items:baseline; gap:var(--space-2); min-width:0; }
.admin-user-id strong { flex:none; max-width:60%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:var(--desk-ink); font-size:var(--type-control); font-weight:650; }
.admin-user-id span,
.admin-user-summary { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:var(--desk-muted); font-size:var(--type-meta); }
.admin-user-row.is-closed .admin-user-id strong { color:var(--desk-muted); font-weight:550; }
.admin-user-row > .termin-badge,
.admin-office-tag { justify-self:end; }
.admin-user-row > .btn { justify-self:end; }
.admin-office-tag { font-size:var(--type-caption); font-weight:650; white-space:nowrap; }
.admin-office-tag.is-istanbul { color:var(--istanbul); }
.admin-office-tag.is-bursa { color:var(--bursa); }
.admin-closed-head { margin:var(--space-5) 0 var(--space-1); }

/* ── Kişi formu (liste üstünde açılır; kutu değil, ince ayraçlı şerit) ── */
.admin-user-editor {
  display:grid; gap:var(--space-4); margin-bottom:var(--space-4); padding:var(--space-4);
  border-radius:14px; background:var(--desk-soft);
}
.admin-user-editor[hidden] { display:none; }
.admin-user-editor-head { display:flex; align-items:center; justify-content:space-between; gap:var(--space-3); }
.admin-user-editor-head strong { font-size:var(--type-section); font-weight:650; color:var(--desk-ink); }
.admin-user-editor-grid { display:grid; grid-template-columns:minmax(0,1.6fr) minmax(0,1fr) minmax(0,.8fr); gap:var(--space-3); }
.admin-field { display:grid; gap:6px; min-width:0; }
.admin-field > span { color:var(--desk-muted); font-size:var(--type-caption); font-weight:650; letter-spacing:.06em; text-transform:uppercase; }
.admin-field input,
.admin-field select { width:100%; min-height:36px; }
.admin-field input[readonly] { color:var(--desk-muted); background:transparent; }
.admin-perm-list { display:flex; flex-wrap:wrap; gap:var(--space-2) var(--space-4); }
.admin-perm-list label {
  display:inline-flex; align-items:center; gap:6px; margin:0; color:var(--desk-ink);
  font-size:var(--type-control); font-weight:500; letter-spacing:0; text-transform:none; cursor:pointer;
}
.admin-perm-list input { width:auto; margin:0; }
.admin-perm-list label:has(input:disabled) { opacity:.6; cursor:not-allowed; }
.admin-user-editor-foot { display:flex; align-items:center; gap:var(--space-2); }
/* .btn display kuralı hidden niteliğini ezer; gizli düğme gerçekten gizlenmeli. */
#page-admin .btn[hidden] { display:none; }
.admin-user-editor-spacer { flex:1; }
.admin-icon-btn {
  display:inline-grid; place-items:center; width:32px; height:32px; padding:0; border:0; border-radius:9px;
  background:transparent; color:var(--desk-muted); cursor:pointer;
}
.admin-icon-btn:hover { background:var(--desk-paper); color:var(--desk-ink); }
.admin-icon-btn:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
.admin-icon-btn svg { width:16px; height:16px; stroke-width:1.8; }

/* WhatsApp sekmesinde form eylemleri */

@media (max-width:760px) {
  .admin-user-row { grid-template-columns:minmax(0,1fr) auto auto; }
  .admin-user-summary { grid-column:1 / -1; grid-row:2; }
  .admin-user-editor-grid { grid-template-columns:1fr; }
  .admin-user-editor-foot { flex-wrap:wrap; }
}

/* ── Admin: sayfa erişimi (§3.6 ayraçlı satır) ──
   Satır: sayfa adı · kişi hapları (× ile çıkar) · yuvarlak + ; + altta arama
   listesini açar. Menü sırası ve ofis görünürlüğü burada YOK (kişinin kendisi). */
.admin-access-list { display:grid; }
.admin-access-row {
  display:grid; grid-template-columns:140px minmax(0,1fr); align-items:center; gap:var(--space-2) var(--space-4);
  padding:var(--space-3) var(--space-2); border-top:1px solid var(--desk-line);
}
.admin-access-list > .admin-access-row:first-child { border-top:0; }
.admin-access-name { font-size:var(--type-control); font-weight:650; color:var(--desk-ink); }
.admin-access-people { display:flex; flex-wrap:wrap; align-items:center; gap:6px; min-width:0; }
.admin-access-chip {
  display:inline-flex; align-items:center; gap:2px; min-height:28px; padding:0 4px 0 10px; border-radius:999px;
  background:var(--desk-soft); color:var(--desk-ink); font-size:var(--type-meta); font-weight:600;
}
.admin-access-chip button,
.admin-access-add {
  display:inline-grid; place-items:center; padding:0; border:0; border-radius:50%; background:none; color:var(--desk-muted); cursor:pointer;
}
.admin-access-chip button { width:22px; height:22px; }
.admin-access-chip button:hover { background:var(--danger-soft, rgba(220,38,38,.12)); color:var(--danger); }
.admin-access-chip svg { width:12px; height:12px; stroke-width:2; }
.admin-access-add { width:28px; height:28px; border:1px dashed var(--desk-line); }
.admin-access-add:hover, .admin-access-add[aria-expanded="true"] { border-style:solid; border-color:var(--accent); color:var(--accent); background:var(--accent-soft); }
.admin-access-add svg { width:14px; height:14px; stroke-width:2; }
.admin-access-chip button:focus-visible, .admin-access-add:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
.admin-access-chip.is-self { background:var(--accent-soft); color:var(--accent); }
.admin-access-chip.is-self button:hover { background:var(--desk-soft); color:var(--desk-ink); }
.admin-access-chip.is-self.is-off { background:none; border:1px dashed var(--desk-line); color:var(--desk-muted); }
.admin-access-chip.is-self.is-off button:hover { background:var(--accent-soft); color:var(--accent); }
.admin-access-none { color:var(--desk-muted); font-size:var(--type-meta); }
.admin-access-picker { grid-column:2; display:grid; gap:var(--space-2); max-width:420px; padding:var(--space-2); border-radius:12px; background:var(--desk-soft); }
.admin-access-picker input { min-height:34px; }
.admin-access-options { display:grid; max-height:240px; overflow:auto; }
.admin-access-option {
  display:grid; grid-template-columns:auto minmax(0,1fr); align-items:baseline; gap:var(--space-2); padding:6px var(--space-2); border:0; border-radius:8px;
  background:none; color:var(--desk-ink); font:inherit; text-align:left; cursor:pointer;
}
.admin-access-option:hover, .admin-access-option:focus-visible { background:var(--accent-soft); outline:none; }
.admin-access-option strong { font-size:var(--type-control); font-weight:600; }
.admin-access-option span { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:var(--desk-muted); font-size:var(--type-meta); }
.admin-access-empty { padding:6px var(--space-2); color:var(--desk-muted); font-size:var(--type-meta); }
@media (max-width:760px) {
  .admin-access-row { grid-template-columns:minmax(0,1fr); }
  .admin-access-picker { grid-column:1; max-width:none; }
}

/* ── Tedarik: boyahanede bekleyen (§3.6 liste yüzeyi) ── */
.tedarik-stock { margin:0 0 var(--space-5); }
.tedarik-stock-list { display:grid; }
.tedarik-stock-row {
  display:grid; grid-template-columns:18px minmax(0,.7fr) minmax(0,1.8fr) 132px; align-items:center; gap:var(--space-3);
  width:100%; min-height:44px; padding:var(--space-2) var(--space-2); border:0; border-top:1px solid var(--desk-line);
  background:none; color:var(--desk-ink); font:inherit; text-align:left; cursor:pointer; border-radius:0;
}
.tedarik-stock-list > .tedarik-stock-item:first-child > .tedarik-stock-row { border-top:0; }
.tedarik-stock-row:hover { background:var(--desk-soft); }

.tedarik-stock-row:focus-visible { outline:2px solid var(--accent); outline-offset:-2px; }
.tedarik-stock-chevron { display:inline-grid; place-items:center; color:var(--desk-muted); transition:transform .15s; }
.tedarik-stock-chevron svg { width:14px; height:14px; stroke-width:2; }
.tedarik-stock-row[aria-expanded="true"] .tedarik-stock-chevron { transform:rotate(90deg); }
.tedarik-stock-firm { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:var(--type-control); font-weight:650; }
.tedarik-stock-meta { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:var(--desk-muted); font-size:var(--type-meta); font-variant-numeric:tabular-nums; }
.tedarik-stock-meta b { color:var(--desk-ink); font-weight:650; }
.tedarik-stock-meta i { font-style:normal; color:var(--desk-ink); }
.tedarik-stock-detail { padding:var(--space-1) 0 var(--space-4) 30px; }
.tedarik-stock-detail[hidden] { display:none; }
.tedarik-stock-orders { display:grid; }
.tedarik-stock-order {
  display:grid; grid-template-columns:auto minmax(0,1fr) auto auto; align-items:center; gap:var(--space-3);
  min-height:36px; padding:4px 0; border-top:1px solid var(--desk-line); font-size:var(--type-meta);
}
.tedarik-stock-order:first-child { border-top:0; }
.tedarik-stock-order .t-sip { cursor:pointer; font-weight:650; color:var(--desk-ink); }
.tedarik-stock-order .t-sip:hover { color:var(--accent); }
.tedarik-stock-order .t-firma { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:var(--desk-muted); }
.tedarik-stock-order .t-kg { color:var(--desk-ink); font-variant-numeric:tabular-nums; }
.tedarik-stock-note { display:grid; gap:var(--space-2); margin-top:var(--space-3); }
.tedarik-stock-note-form { display:flex; gap:var(--space-2); }
.tedarik-stock-note-form input { flex:1; min-width:0; min-height:34px; }
.tedarik-stock-note-history { display:grid; gap:2px; color:var(--desk-muted); font-size:var(--type-caption); }
.tedarik-stock-note-history span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.tedarik-stock-empty { padding:var(--space-2) 0; color:var(--desk-muted); font-size:var(--type-meta); }

@media (max-width:760px) {
  .tedarik-stock-row { grid-template-columns:18px minmax(0,1fr) auto; }
  .tedarik-stock-meta { grid-column:2 / -1; grid-row:2; }
  .tedarik-stock-detail { padding-left:0; }
  .tedarik-stock-order { grid-template-columns:auto minmax(0,1fr) auto; }
  .tedarik-stock-order .t-kg { display:none; }
}

/* ── Tedarik · Erken Uyarı (2026-09-25 yeniden tasarım) ──
   Aşama sekmeleri (§3.14 alt çizgili) → tek araç şeridi → aşama bağlamı
   (§3.6 bölüm başlığı + ayraçlı satır) → sinyal listesi. Satır: önem noktası ·
   kimlik + tek satır olay · kg · tek rozet (§3.9) · hover'da kapat simgesi. */
#page-tedarik .tedarik-tabs {
  display:flex; width:auto; gap:var(--space-5); padding:0; margin:0 0 var(--space-4);
  border:0; border-radius:0; background:none; box-shadow:inset 0 -1px 0 var(--desk-line);
  overflow-x:auto; scrollbar-width:none;
}
#page-tedarik .tedarik-tabs::-webkit-scrollbar { display:none; }
#page-tedarik .tedarik-tabs .sc-tab {
  position:relative; flex:none; display:inline-flex; align-items:center; gap:6px;
  min-height:36px; padding:8px 0 10px; border:0; border-radius:0; background:none; box-shadow:none;
  color:var(--desk-muted); font-size:var(--type-control); font-weight:550; white-space:nowrap; cursor:pointer;
  transition:color .12s;
}
#page-tedarik .tedarik-tabs .sc-tab:hover { color:var(--desk-ink); }
#page-tedarik .tedarik-tabs .sc-tab::after {
  content:''; position:absolute; left:0; right:0; bottom:0; height:2px; border-radius:2px; background:transparent; transition:background .12s;
}
#page-tedarik .tedarik-tabs .sc-tab.active { color:var(--desk-ink); font-weight:650; }
#page-tedarik .tedarik-tabs .sc-tab.active::after { background:var(--accent); }
#page-tedarik .tedarik-tabs .sc-tab:focus-visible { outline:2px solid var(--accent); outline-offset:2px; border-radius:4px; }
#page-tedarik .tedarik-tabs .tedarik-tab-end { margin-left:auto; }
#page-tedarik .tedarik-tabs .admin-tab-count.is-alert { background:var(--danger); }

.tedarik-toolbar { display:flex; flex-wrap:wrap; align-items:center; gap:var(--space-2); margin:0 0 var(--space-4); }
.tedarik-search {
  flex:1 1 260px; max-width:420px; display:flex; align-items:center; gap:var(--space-2);
  min-height:36px; margin:0; padding:0 var(--space-3); border:1px solid var(--desk-line); border-radius:10px;
  background:var(--desk-paper); color:var(--desk-muted);
  font-size:var(--type-control); font-weight:500; letter-spacing:0; text-transform:none;
}
.tedarik-search:focus-within { border-color:var(--accent); }
.tedarik-search svg { flex:none; width:16px; height:16px; stroke-width:1.8; }
#page-tedarik .tedarik-search input {
  flex:1; min-width:0; min-height:34px; margin:0; padding:0; border:0; border-radius:0; background:none; box-shadow:none;
  color:var(--desk-ink); font-size:var(--type-control);
}
#page-tedarik .tedarik-search input:focus { outline:none; box-shadow:none; background:none; }
#page-tedarik .tedarik-toolbar select,
#page-tedarik .tedarik-range input {
  width:auto; min-height:36px; margin:0; padding:0 var(--space-3); border:1px solid var(--desk-line); border-radius:10px;
  background:var(--desk-paper); color:var(--desk-ink); font-size:var(--type-control); font-weight:600; cursor:pointer;
}
.tedarik-toolbar select:focus-visible,
.tedarik-range input:focus-visible { outline:2px solid var(--accent); outline-offset:1px; }
.tedarik-range { display:inline-flex; align-items:center; gap:6px; color:var(--desk-muted); }
.tedarik-range[hidden] { display:none; }
.tedarik-chip {
  min-height:36px; padding:0 var(--space-3); border:1px solid var(--desk-line); border-radius:999px;
  background:var(--desk-paper); color:var(--desk-muted); font-size:var(--type-control); font-weight:600; white-space:nowrap; cursor:pointer;
  transition:color .13s, border-color .13s, background .13s;
}
.tedarik-chip:hover { color:var(--desk-ink); }
.tedarik-chip[aria-pressed="true"] { border-color:var(--danger); background:var(--danger-soft); color:var(--danger); }
.tedarik-chip:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
.tedarik-updated { margin-left:auto; color:var(--desk-muted); font-size:var(--type-meta); white-space:nowrap; }
.tedarik-icon-btn {
  flex:none; display:inline-grid; place-items:center; width:32px; height:32px; padding:0; border:0; border-radius:9px;
  background:transparent; color:var(--desk-muted); cursor:pointer; transition:background .13s, color .13s, opacity .13s;
}
.tedarik-icon-btn:hover { background:var(--desk-soft); color:var(--desk-ink); }
.tedarik-icon-btn:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
.tedarik-icon-btn svg { width:16px; height:16px; stroke-width:1.8; }
.tedarik-icon-btn.is-busy svg { animation:ticketSubmitSpin .8s linear infinite; }

/* Üstteki iki pano yan yana: solda Alınacak iplik, sağda Boyahanede bekleyen.
   Yarım genişlikte boyahane satırı iki satırdır (firma + rozet / künye). */
.tedarik-overview {
  display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:start; gap:var(--space-6);
  margin:0 0 var(--space-5); padding-bottom:var(--space-4); border-bottom:1px solid var(--desk-line);
}
.tedarik-overview > .tedarik-context,
#page-tedarik .tedarik-overview > .tedarik-stock { min-width:0; margin:0; }
#page-tedarik .tedarik-overview .tedarik-stock-row { grid-template-columns:18px minmax(0,1fr) auto; row-gap:2px; }
#page-tedarik .tedarik-overview .tedarik-stock-meta { grid-column:2 / -1; grid-row:2; }
#page-tedarik .tedarik-overview .tedarik-stock-detail { padding-left:30px; }
@media (max-width:1100px) {
  .tedarik-overview { grid-template-columns:minmax(0,1fr); gap:var(--space-5); }
}
.tedarik-yarn-list { display:grid; }
.tedarik-yarn-row {
  display:grid; grid-template-columns:minmax(0,1fr) auto 96px; align-items:center; gap:var(--space-3);
  width:100%; min-height:40px; margin:0; padding:var(--space-2); border:0; border-top:1px solid var(--desk-line); border-radius:0;
  background:none; color:var(--desk-ink); font:inherit; text-align:left; cursor:pointer;
}
.tedarik-yarn-list > .tedarik-yarn-row:first-child { border-top:0; }
.tedarik-yarn-row:hover { background:var(--desk-soft); }
.tedarik-yarn-row.is-active { background:var(--accent-soft); }
.tedarik-yarn-row.is-static { cursor:default; color:var(--desk-muted); }
.tedarik-yarn-row.is-static:hover { background:none; }
.tedarik-yarn-row:focus-visible { outline:2px solid var(--accent); outline-offset:-2px; }
.tedarik-yarn-name { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:var(--type-control); font-weight:650; }
.tedarik-yarn-meta { color:var(--desk-muted); font-size:var(--type-meta); white-space:nowrap; }
.tedarik-yarn-kg { text-align:right; font-size:var(--type-control); font-weight:650; font-variant-numeric:tabular-nums; white-space:nowrap; }

.tedarik-list { display:grid; }
.tedarik-row {
  display:grid; grid-template-columns:8px minmax(0,1fr) 84px 112px 32px; align-items:center; gap:var(--space-3);
  min-height:56px; padding:var(--space-2) var(--space-2) var(--space-2) var(--space-3);
  border-top:1px solid var(--desk-line); cursor:pointer; transition:background .13s;
}
.tedarik-list > .tedarik-row:first-child,
.tedarik-group .termin-section-head + .tedarik-row { border-top:0; }
.tedarik-row:hover { background:var(--desk-soft); }
.tedarik-row:focus-visible { outline:2px solid var(--accent); outline-offset:-2px; background:var(--desk-soft); }
.tedarik-row-dot { width:8px; height:8px; border-radius:50%; background:var(--warning-fill); }
.tedarik-row.sev-high .tedarik-row-dot { background:var(--danger); }
.tedarik-row-main { display:grid; gap:2px; min-width:0; }
.tedarik-row-id { display:flex; align-items:baseline; gap:var(--space-2); min-width:0; }
.tedarik-row-id .t-sip { flex:none; color:var(--desk-ink); font-size:var(--type-control); font-weight:650; letter-spacing:.015em; font-variant-numeric:tabular-nums; }
.tedarik-row-id .t-cust { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:var(--desk-muted); font-size:var(--type-meta); }
.tedarik-row-line { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:var(--desk-muted); font-size:var(--type-meta); line-height:1.3; }
.tedarik-row-line b { color:var(--desk-ink); font-weight:600; }
.tedarik-new { margin-right:6px; color:var(--accent); font-style:normal; font-weight:650; }
.tedarik-row-kg { text-align:right; color:var(--desk-ink); font-size:var(--type-control); font-weight:650; font-variant-numeric:tabular-nums; white-space:nowrap; }
.tedarik-row-badge { justify-self:end; }
.tedarik-row-close { opacity:0; }
.tedarik-row:hover .tedarik-row-close,
.tedarik-row:focus-within .tedarik-row-close { opacity:1; }
.tedarik-row-close:hover { color:var(--success); }
.tedarik-row.is-undo { grid-template-columns:8px minmax(0,1fr) auto; min-height:44px; cursor:default; background:var(--desk-soft); }
.tedarik-row.is-undo .tedarik-row-dot { background:transparent; }
.tedarik-text-btn {
  min-height:32px; padding:0 var(--space-2); border:0; border-radius:8px; background:none;
  color:var(--accent); font-size:var(--type-control); font-weight:600; white-space:nowrap; cursor:pointer;
}
.tedarik-text-btn:hover { background:var(--accent-soft); }
.tedarik-text-btn.is-quiet { color:var(--desk-muted); }
.tedarik-text-btn.is-quiet:hover { background:var(--desk-soft); color:var(--desk-ink); }
.tedarik-text-btn:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
.tedarik-list-foot {
  display:flex; align-items:center; justify-content:space-between; gap:var(--space-3);
  margin-top:var(--space-2); padding-top:var(--space-3); border-top:1px solid var(--desk-line);
  color:var(--desk-muted); font-size:var(--type-meta);
}
.tedarik-pager { display:flex; align-items:center; gap:2px; }
.tedarik-page-btn {
  display:inline-grid; place-items:center; min-width:32px; height:32px; padding:0 var(--space-2); border:0; border-radius:8px;
  background:none; color:var(--desk-muted); font:inherit; font-size:var(--type-control); font-variant-numeric:tabular-nums; cursor:pointer;
}
.tedarik-page-btn:hover:not(:disabled) { background:var(--desk-soft); color:var(--desk-ink); }
.tedarik-page-btn.is-active { background:var(--accent-soft); color:var(--accent); font-weight:650; }
.tedarik-page-btn:disabled { opacity:.35; cursor:default; }
.tedarik-page-btn:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
.tedarik-page-btn svg { width:16px; height:16px; stroke-width:1.9; }
.tedarik-page-gap { padding:0 4px; color:var(--desk-muted); }
.tedarik-group + .tedarik-group { margin-top:var(--space-5); }
.tedarik-group .termin-section-head { margin-bottom:var(--space-1); }
.tedarik-empty { padding:var(--space-6) 0; text-align:center; color:var(--desk-muted); font-size:var(--type-control); }

@media (hover:none) { .tedarik-row-close { opacity:1; } }
@media (prefers-reduced-motion: reduce) {
  .tedarik-icon-btn.is-busy svg { animation:none; }
  .tedarik-row, .tedarik-chip, .tedarik-icon-btn { transition:none; }
}
@media (max-width:760px) {
  .tedarik-search { flex-basis:100%; max-width:none; }
  #page-tedarik .tedarik-search input { font-size:16px; }
  .tedarik-updated { display:none; }
  .tedarik-row { grid-template-columns:8px minmax(0,1fr) auto 32px; gap:var(--space-2); }
  .tedarik-row-kg { display:none; }
  .tedarik-yarn-row { grid-template-columns:minmax(0,1fr) auto; }
  .tedarik-yarn-meta { display:none; }
  .tedarik-list-foot { flex-wrap:wrap; }
  .tedarik-pager { order:-1; flex-basis:100%; justify-content:center; }
  #page-tedarik .tedarik-overview .tedarik-stock-detail { padding-left:0; }
}

/* ── Admin › Kullanım (2026-09-28) ──
   §3.6 liste yüzeyi: bölüm başlığı + ince ayraçlı satırlar. KPI kutusu yok;
   dönem özeti araç şeridindeki sessiz nottadır. Çubuk süs değil, oranı
   gösteren 4px veri izidir. */
#page-admin .admin-usage-select {
  flex:none; width:auto; max-width:180px; min-height:32px; margin:0; padding:0 var(--space-2); border:1px solid var(--desk-line); border-radius:8px;
  background:var(--desk-paper); color:var(--desk-ink); font-size:var(--type-meta); font-weight:600; cursor:pointer;
}
#page-admin .admin-usage-select:focus-visible { outline:2px solid var(--accent); outline-offset:1px; }
.admin-usage { display:grid; gap:var(--space-5); }
.admin-usage-cols { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:var(--space-5); align-items:start; }
.admin-usage-list { display:grid; }
.admin-usage-row {
  display:grid; align-items:center; gap:var(--space-3); width:100%; min-height:40px; margin:0; padding:var(--space-2) var(--space-2);
  border:0; border-top:1px solid var(--desk-line); border-radius:0; background:none; box-shadow:none;
  color:var(--desk-ink); font:inherit; font-size:var(--type-meta); text-align:left;
}
.admin-usage-list > .admin-usage-row:first-child { border-top:0; }
.admin-usage-row.is-person { grid-template-columns:minmax(0,1.2fr) minmax(0,1.4fr) 64px 92px minmax(0,.9fr); cursor:pointer; border-radius:8px; }
.admin-usage-row.is-person + .admin-usage-row { border-top-color:var(--desk-line); }
.admin-usage-row.is-person:hover { background:var(--desk-soft); }
.admin-usage-row.is-person:focus-visible { outline:2px solid var(--accent); outline-offset:-2px; }
.admin-usage-row.is-selected { background:color-mix(in srgb, var(--accent) 10%, transparent); }
.admin-usage-row.is-absent .admin-usage-name strong { color:var(--desk-muted); font-weight:550; }
.admin-usage-row.is-page { grid-template-columns:minmax(0,.9fr) minmax(0,1.3fr) 72px; }
.admin-usage-row.is-feature { grid-template-columns:minmax(0,1fr) 64px 56px; }
.admin-usage-name { display:flex; align-items:baseline; gap:var(--space-2); min-width:0; }
.admin-usage-name strong { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:var(--type-control); font-weight:600; }
.admin-usage-name > span:not(.admin-office-tag) { flex:none; max-width:45%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:var(--desk-muted); }
.admin-usage-measure { display:flex; align-items:center; gap:var(--space-2); min-width:0; }
.admin-usage-bar { flex:1 1 auto; min-width:24px; height:4px; border-radius:2px; background:var(--desk-soft); overflow:hidden; }
.admin-usage-bar i { display:block; height:100%; border-radius:2px; background:color-mix(in srgb, var(--accent) 70%, transparent); }
.admin-usage-num { flex:none; min-width:64px; text-align:right; color:var(--desk-ink); font-weight:600; font-variant-numeric:tabular-nums; white-space:nowrap; }
.admin-usage-meta { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:var(--desk-muted); font-variant-numeric:tabular-nums; text-align:right; }
.admin-usage-top { text-align:left; }
.admin-usage-more {
  justify-self:start; margin-top:var(--space-2); padding:var(--space-1) var(--space-2); border:0; border-radius:8px; background:none;
  color:var(--accent); font:inherit; font-size:var(--type-meta); font-weight:600; cursor:pointer;
}
.admin-usage-more:hover { background:var(--desk-soft); }
.admin-usage-more:focus-visible { outline:2px solid var(--accent); outline-offset:1px; }
@media (max-width:1100px) {
  .admin-usage-cols { grid-template-columns:minmax(0,1fr); }
}
@media (max-width:760px) {
  .admin-hub-toolbar:has(.admin-usage-select) { flex-wrap:wrap; }
  .admin-hub-toolbar:has(.admin-usage-select) .admin-hub-note { flex-basis:100%; }
  .admin-usage-row.is-person { grid-template-columns:minmax(0,1fr) minmax(0,1fr) 84px; }
  .admin-usage-row.is-person .admin-office-tag,
  .admin-usage-row.is-person > span:nth-of-type(3),
  .admin-usage-row.is-person .admin-usage-top { display:none; }
}

/* ── Admin › Raporlanan siparişler (2026-10-20, TASARIM-DILI.md §3.36a) ──
   Hatalar/Değişiklik kaydı tablosunun aynısı. Sipariş no sessiz bağlantıdır;
   geri alınmış satır soluk durur (kayıt silinmez). */
#page-admin .admin-report-sip {
  padding:0; border:0; background:none; color:var(--desk-ink); font:inherit; font-weight:650; cursor:pointer;
  text-decoration:underline; text-decoration-color:var(--desk-line); text-underline-offset:3px;
}
#page-admin .admin-report-sip:hover { color:var(--accent); text-decoration-color:currentColor; }
#page-admin .admin-report-sip:focus-visible { outline:2px solid var(--accent); outline-offset:2px; border-radius:4px; }
#page-admin tr.is-withdrawn > td { color:var(--muted); }

/* Kişi formu: birden çok WhatsApp numarası */
.admin-wa-list { display:grid; gap:6px; }
.admin-wa-row { display:flex; gap:6px; align-items:center; }
.admin-wa-row input { flex:1; min-width:0; }
.admin-wa-add { justify-self:start; background:none; border:0; padding:2px 0; color:var(--desk-accent, #4c8dff); font:inherit; font-size:var(--type-caption); font-weight:600; cursor:pointer; }
.admin-wa-add:hover { text-decoration:underline; }

/* ── assets/styles/density-refined.css ── */
/* Shared compact density. Keeps the existing visual language, reduces scale. */
@media(min-width:821px) {
  body .main { padding:18px 22px 30px; }
  body .page { max-width:1440px; }

  body .card { padding:18px; border-radius:17px; }
  body .card-head-row { gap:12px; }
  body .card-title { font-size:14px; }
  body input[type=text],
  body input[type=email],
  body input[type=number],
  body input[type=password],
  body input[type=date],
  body input[type=time],
  body input[type=search],
  body select,
  body textarea { min-height:38px; padding:8px 11px; border-radius:9px; }
  body .btn { min-height:36px; padding:8px 12px; border-radius:9px; }
  body .table-wrap { border-radius:16px; }
}

@media(max-width:820px) {
  body .main { padding:10px 10px calc(98px + env(safe-area-inset-bottom)); }
  body .card { padding:15px; border-radius:15px; }

  body input[type=text],
  body input[type=email],
  body input[type=number],
  body input[type=password],
  body input[type=date],
  body input[type=time],
  body input[type=search],
  body select,
  body textarea { min-height:40px; border-radius:9px; }
}

/* ── assets/styles/order-entry-refined.css ── */
/* Bursa order preparation: essentials first, secondary specifications on demand. */
#page-order-entry { max-width:1320px; margin-inline:auto; padding-bottom:100px; }
#page-order-entry .quick-order-layout { grid-template-columns:minmax(0,1fr) 310px; gap:24px; }
#page-order-entry .card { padding:28px; border-radius:16px; box-shadow:0 3px 16px rgba(24,39,60,.035); }
#page-order-entry .card-title { margin-bottom:24px; font-size:17px; font-weight:600; }
#page-order-entry .form-row { gap:20px; }
#page-order-entry .form-group { margin-bottom:20px; min-width:0; }
#page-order-entry .form-group > label { display:flex; align-items:center; gap:6px; font-size:12px; font-weight:550; text-transform:none; letter-spacing:0; margin-bottom:8px; }

#page-order-entry :is(input:not([type=checkbox]),select,textarea) { background:var(--desk-paper)!important; border-radius:9px; }

#page-order-entry button[hidden] { display:none; }

#page-order-entry .quick-order-options { display:flex; flex-wrap:wrap; gap:6px; min-height:44px; }
#page-order-entry .quick-check { flex:1; justify-content:center; min-height:44px; padding:8px; border-radius:9px; white-space:nowrap; }
#page-order-entry .quick-check input { width:13px; height:13px; }

#page-order-entry .quick-order-actions { margin-top:0; padding-top:16px; justify-content:flex-end; }
#page-order-entry #quickOrderSubmitBtn { min-width:136px; background:var(--desk-ink); color:var(--desk-paper); }
#page-order-entry .quick-cart-heading svg { color:var(--desk-muted); width:17px; }
#page-order-entry .quick-lines-head { margin-bottom:20px; }
#page-order-entry #quickOrderQueueMeta { margin-top:6px; font-size:12px; color:var(--desk-muted); }
#page-order-entry .quick-order-empty { border:0; background:transparent; padding:22px 2px 30px; font-size:12px; line-height:1.7; color:var(--desk-muted); }
#page-order-entry .quick-send-all { margin-top:16px; width:100%; min-height:44px; }
/* Sepet: müşteri grubu → sipariş (MA5) → kumaş satırları (MA5-1). Dar
   sütunda da sığar; liste içerikle genişlemez. Kumaş satırı ve sipariş başlığı
   sürüklenir (orders.js "Sürükle-bırak düzenleme"). */
#page-order-entry .quick-order-queue { grid-template-columns:minmax(0,1fr); }
#page-order-entry .quick-queue-group { display:grid; gap:8px; min-width:0; }
#page-order-entry .qo-cart-order { min-width:0; border:1px solid var(--desk-line); border-radius:10px; background:var(--desk-soft); cursor:pointer; transition:border-color .13s ease, background .13s ease; }
#page-order-entry .qo-cart-order:hover { border-color:color-mix(in srgb, var(--accent) 40%, var(--desk-line)); }
#page-order-entry .qo-cart-order.is-editing { border-color:var(--success); background:var(--success-soft, var(--desk-soft)); }
#page-order-entry .qo-cart-head { display:grid; grid-template-columns:minmax(0,1fr) auto auto auto; align-items:center; gap:4px 8px; padding:8px 8px 6px 12px; cursor:grab; touch-action:pan-y; user-select:none; -webkit-user-select:none; }
#page-order-entry .qo-cart-head strong { display:flex; align-items:baseline; gap:6px; min-width:0; overflow:hidden; font-size:12px; font-weight:600; color:var(--desk-ink); white-space:nowrap; }
#page-order-entry .qo-cart-head strong b { flex:0 0 auto; font-weight:700; font-variant-numeric:tabular-nums; }
#page-order-entry .qo-cart-head strong span { min-width:0; overflow:hidden; text-overflow:ellipsis; color:var(--desk-muted); font-weight:600; }
#page-order-entry .qo-cart-meta { color:var(--desk-muted); font-size:11px; white-space:nowrap; }
#page-order-entry .qo-cart-lines { display:grid; padding:0 6px 6px; }
#page-order-entry .qo-cart-line { display:grid; grid-template-columns:auto minmax(0,1fr) auto 20px; align-items:center; gap:8px; min-height:34px; padding:4px 6px; border-radius:8px; font-size:12px; cursor:grab; touch-action:pan-y; user-select:none; -webkit-user-select:none; }
#page-order-entry .qo-cart-line:hover { background:color-mix(in srgb, var(--accent) 7%, transparent); }
#page-order-entry .qo-cart-code { color:var(--desk-muted); font-size:11px; font-weight:700; font-variant-numeric:tabular-nums; }
#page-order-entry .qo-cart-fabric { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:var(--desk-ink); }
#page-order-entry .qo-cart-fabric i { font-style:normal; color:var(--desk-muted); }
/* Çok renkli kumaş: renkler kumaşın altında, kiloları KG sütununda. */
#page-order-entry .qo-cart-colors { grid-column:2 / 4; display:grid; gap:1px; margin:-2px 0 2px; }
#page-order-entry .qo-cart-colors > span { display:flex; justify-content:space-between; gap:10px; color:var(--desk-muted); font-size:11px; line-height:1.55; }
#page-order-entry .qo-cart-colors > span > span { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
#page-order-entry .qo-cart-colors b { font-weight:550; font-variant-numeric:tabular-nums; white-space:nowrap; }
#page-order-entry .qo-cart-kg { color:var(--desk-ink); font-weight:650; white-space:nowrap; font-variant-numeric:tabular-nums; }
#page-order-entry .qo-cart-line:not(:has(.quick-queue-remove)) { grid-template-columns:auto minmax(0,1fr) auto; padding-right:34px; }
#page-order-entry .qo-cart-order .quick-queue-remove { width:20px; height:20px; }
#page-order-entry .qo-cart-order.is-drop-target { border-color:var(--accent); background:var(--accent-soft); }
@media (prefers-reduced-motion: reduce) { #page-order-entry .qo-cart-order { transition:none; } }

@media(max-width:1050px) {
  #page-order-entry .quick-order-layout { grid-template-columns:minmax(0,1fr); }
  #page-order-entry .quick-order-layout > .card:last-child { position:static; }
}
@media(max-width:600px) {
  #page-order-entry .card { padding:20px 16px; }
  #page-order-entry .form-row { grid-template-columns:minmax(0,1fr); gap:0; }
  
  #page-order-entry :is(input:not([type=checkbox]),select,textarea) { font-size:16px; }
  
  #page-order-entry .quick-order-actions .btn { flex:1; }
}
/* Customer-first sample workflow */
#page-order-entry .bursa-step{display:flex;align-items:flex-start;gap:12px;margin-bottom:22px}
#page-order-entry .bursa-step>span{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:var(--desk-soft);color:var(--desk-muted);font-size:11px;flex-shrink:0}
#page-order-entry .bursa-step h3{font-size:16px;margin:0 0 5px;font-weight:600}
#page-order-entry .bursa-step p{font-size:12px;line-height:1.6;color:var(--desk-muted);margin:0}
#page-order-entry .bursa-customer{padding-bottom:24px;border-bottom:1px solid var(--desk-line);margin-bottom:24px}
#page-order-entry .bursa-fabric-card{border:1px solid var(--desk-line);border-radius:12px;margin-bottom:14px;background:var(--desk-paper)}
#page-order-entry .bursa-fabric-head{display:flex;align-items:center;gap:10px;}
#page-order-entry .bursa-fabric-no{font-size:10px;font-weight:500;color:var(--desk-muted);background:var(--desk-soft);padding:5px 7px;border-radius:5px;flex-shrink:0}
#page-order-entry .bursa-title{display:flex;align-items:center;gap:6px;flex:1;min-width:0}
#page-order-entry .bursa-fabric-head .bursa-title input[type=text]{background:transparent!important;border:1px solid transparent;border-radius:7px;padding:5px 8px;margin-left:-8px;font-size:15px;font-weight:600;color:var(--desk-ink);height:auto;min-width:120px;max-width:100%;width:auto;field-sizing:content;box-shadow:none}
#page-order-entry .bursa-fabric-head .bursa-title input[type=text]::placeholder{color:var(--desk-muted);opacity:1}
#page-order-entry .bursa-fabric-head .bursa-title input[type=text]:hover{background:var(--desk-soft)}
#page-order-entry .bursa-fabric-head .bursa-title input[type=text]:focus{background:var(--desk-paper);border-color:var(--desk-line);outline:2px solid var(--accent);outline-offset:1px}
#page-order-entry .bursa-fabric-head .bursa-title input[type=text]:focus::placeholder{color:var(--desk-muted)}
#page-order-entry .bursa-title svg{width:14px;height:14px;color:var(--desk-muted);opacity:.45;flex-shrink:0;pointer-events:none}
#page-order-entry .bursa-title:hover svg{opacity:.9}
#page-order-entry .bursa-title:focus-within svg{opacity:0}
#page-order-entry .bursa-remove{border:0;background:transparent;color:var(--desk-muted);font:inherit;font-size:11px;cursor:pointer;flex-shrink:0}
#page-order-entry .bursa-remove:hover{color:var(--danger)}
#page-order-entry .bursa-add-fabric{width:100%;padding:14px;border:1px dashed var(--desk-line);border-radius:10px;background:transparent;color:var(--desk-ink);font:inherit;font-size:13px;cursor:pointer;margin-bottom:8px}
#page-order-entry .bursa-add-fabric:hover{background:var(--desk-soft);border-color:var(--desk-muted)}
#page-order-entry .bursa-print-note{font-size:11px;line-height:1.6;color:var(--desk-muted);padding-top:16px;border-top:1px solid var(--desk-line)}
#page-order-entry .bursa-search{position:relative}
#page-order-entry .bursa-suggestions{position:absolute;z-index:50;left:0;right:0;top:100%;margin-top:4px;max-height:260px;overflow:auto;background:var(--desk-paper);border:1px solid var(--desk-line);box-shadow:0 10px 28px #14223820;border-radius:10px;padding:5px}
#page-order-entry .bursa-title .bursa-suggestions{left:-8px;right:auto;min-width:min(360px,80vw)}
#page-order-entry .bursa-suggestions[hidden]{display:none}
#page-order-entry .bursa-suggestions button{width:100%;text-align:left;display:flex;align-items:baseline;gap:10px;border:0;background:transparent;border-radius:6px;padding:9px 10px;color:var(--desk-ink);cursor:pointer;font:inherit;min-width:0}
#page-order-entry .bursa-suggestions button:hover,#page-order-entry .bursa-suggestions [aria-selected=true]{background:var(--desk-soft)}
#page-order-entry .bursa-suggestions strong{font-size:12px;font-weight:600;flex-shrink:0;max-width:60%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#page-order-entry .bursa-suggestions span,#page-order-entry .bursa-search-empty{font-size:11px;color:var(--desk-muted)}
#page-order-entry .bursa-suggestions span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#page-order-entry .bursa-suggestions .is-all{border-top:1px dashed var(--desk-line);border-radius:0 0 6px 6px;margin-bottom:3px}
#page-order-entry .bursa-suggestions .is-all strong{color:var(--accent)}
#page-order-entry .bursa-search-empty{padding:12px;line-height:1.5}
#page-order-entry .bursa-source-field{position:relative}
/* The dropdown belongs to a lower paint layer than the cards that follow it, so the whole entry block is lifted. */
#page-order-entry .quick-order-layout{position:relative;z-index:5}
#page-order-entry .bursa-field{position:relative;display:block}
#page-order-entry .bursa-field :is(input,textarea){padding-right:36px}
#page-order-entry .bursa-clear{position:absolute;right:8px;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:24px;height:24px;padding:0;border:0;border-radius:7px;background:transparent;color:var(--desk-muted);cursor:pointer;opacity:0;pointer-events:none;transition:opacity .12s,background .12s}
#page-order-entry .bursa-field.is-area .bursa-clear{top:9px;transform:none}
#page-order-entry .bursa-clear svg{width:13px;height:13px;fill:none}
#page-order-entry .bursa-field :is(input,textarea):not(:placeholder-shown) ~ .bursa-clear{opacity:.42;pointer-events:auto}
#page-order-entry .bursa-clear:hover{opacity:.95;background:var(--desk-soft)}
#page-order-entry .bursa-clear:focus-visible{opacity:.95;outline:2px solid var(--accent);outline-offset:1px}
#page-order-entry .bursa-foreign-note{margin:7px 2px 0;font-size:11px;line-height:1.45;color:var(--danger)}
#page-order-entry .bursa-foreign-note[hidden]{display:none}
#page-order-entry .bursa-suggestions .is-foreign span{color:var(--danger)}
.bursa-print-dialog{width:min(1100px,96vw);max-width:96vw;height:94vh;max-height:94vh;border:1px solid #dae1e9;border-radius:14px;padding:0;color:#203047;background:#fff}
.bursa-print-dialog::backdrop{background:#15223980}
.bursa-print-toolbar{display:flex;align-items:center;gap:12px;padding:18px 22px;border-bottom:1px solid #e0e5ec}
.bursa-print-toolbar>div{flex:1}.bursa-print-toolbar strong{font-size:17px}.bursa-print-toolbar p{font-size:12px;color:#687789;margin:5px 0 0}
.bursa-print-settings{display:flex;align-items:center;gap:18px;padding:12px 22px;font-size:12px;flex-wrap:wrap}.bursa-print-settings label{display:flex;align-items:center;gap:10px}.bursa-print-settings label[hidden]{display:none}.bursa-print-settings select{padding:8px;border:1px solid #ccd6e1;border-radius:6px;background:white;color:#203047}.bursa-print-settings>span{font-size:11px;color:#687789}
#bursaPrintFrame{width:100%;height:calc(100% - 156px);border:0;background:#e8edf1}
@media(max-width:600px){#page-order-entry .bursa-fabric-head .bursa-title input[type=text]{font-size:14px}.bursa-print-toolbar{flex-wrap:wrap;padding:14px}.bursa-print-toolbar>div{flex-basis:100%}.bursa-print-settings{padding:10px}#bursaPrintFrame{height:calc(100% - 220px)}}

.no-spec.bursa-delivery-note{white-space:normal;overflow-wrap:anywhere;flex-basis:100%;line-height:1.5}

/* ─── Kumaş kartı v2 (2026-10-11): renkler alt alta, özellikler ortak ───
   Kart = bir kumaş. Üstte ad + RPT, ortada renk satırları (renk · kg · ×),
   altta bütün renklere ortak özellikler. Tek ritim: 18px iç hiza, 1px çizgi. */
#page-order-entry .bursa-fabric-card{overflow:visible}
#page-order-entry .bursa-card-body{display:grid;gap:18px;padding:8px 18px 18px}
#page-order-entry .bursa-card-body .form-group{margin:0}
#page-order-entry .bursa-source-field .bursa-search input{height:44px}
#page-order-entry .bursa-colors{display:grid;gap:0}
#page-order-entry .bursa-colors-head,#page-order-entry .bursa-color-row{display:grid;grid-template-columns:minmax(0,1fr) 168px 32px;align-items:center;gap:10px}
#page-order-entry .bursa-colors-head{padding:0 0 8px;font-size:12px;font-weight:550;color:var(--desk-ink)}
#page-order-entry .bursa-colors-head span:last-child{grid-column:2 / 4}
#page-order-entry .bursa-color-rows{display:grid;gap:8px}
#page-order-entry .bursa-color-name input{height:48px;font-size:15px;font-weight:550}
#page-order-entry .bursa-kg{position:relative}
#page-order-entry .bursa-kg input{width:100%;height:48px;padding:10px 44px 10px 14px;font-size:20px;font-weight:600;text-align:right;font-variant-numeric:tabular-nums}
#page-order-entry .bursa-kg>span{position:absolute;right:14px;top:50%;transform:translateY(-50%);font-size:11px;font-weight:600;color:var(--desk-muted);pointer-events:none}
#page-order-entry .bursa-kg input[aria-invalid=true],#page-order-entry .bursa-color-name input[aria-invalid=true]{border-color:var(--danger);box-shadow:0 0 0 3px color-mix(in srgb,var(--danger) 14%,transparent)}
#page-order-entry .bursa-color-remove{display:grid;place-items:center;width:32px;height:32px;padding:0;border:0;border-radius:8px;background:transparent;color:var(--desk-muted);cursor:pointer;transition:background .12s,color .12s}
#page-order-entry .bursa-color-remove svg{width:14px;height:14px;fill:none}
#page-order-entry .bursa-color-remove:hover{background:var(--desk-soft);color:var(--danger)}
#page-order-entry .bursa-color-remove:focus-visible{outline:2px solid var(--accent);outline-offset:1px}
#page-order-entry .bursa-color-remove.is-placeholder{pointer-events:none}
#page-order-entry .bursa-colors-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:40px;padding-right:42px}
#page-order-entry .bursa-add-color{padding:8px 0;border:0;background:transparent;color:var(--accent);font:inherit;font-size:13px;font-weight:550;cursor:pointer}
#page-order-entry .bursa-add-color:hover{text-decoration:underline;text-underline-offset:3px}
#page-order-entry .bursa-add-color:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:5px}
#page-order-entry .bursa-colors-total{font-size:12px;color:var(--desk-muted);font-variant-numeric:tabular-nums;white-space:nowrap}
#page-order-entry .bursa-colors-total b{font-size:15px;font-weight:650;color:var(--desk-ink)}
#page-order-entry .bursa-colors .field-error:empty{display:none}
#page-order-entry .bursa-spec{display:grid;gap:16px;padding-top:16px;border-top:1px solid var(--desk-line)}
#page-order-entry .bursa-spec-title{margin:0;font-size:12px;font-weight:550;color:var(--desk-muted)}
#page-order-entry .bursa-spec-row{display:flex;flex-wrap:wrap;align-items:flex-end;gap:20px}
#page-order-entry .bursa-spec .form-row{margin:0}
#page-order-entry .bursa-seg{display:inline-flex;padding:3px;gap:2px;border:1px solid var(--desk-line);border-radius:10px;background:var(--desk-soft)}
#page-order-entry .bursa-seg button{min-height:36px;padding:6px 14px;border:0;border-radius:7px;background:transparent;color:var(--desk-muted);font:inherit;font-size:13px;font-weight:550;cursor:pointer;white-space:nowrap;transition:background .12s,color .12s,box-shadow .12s}
#page-order-entry .bursa-seg button:hover{color:var(--desk-ink)}
#page-order-entry .bursa-seg button[aria-pressed=true]{background:var(--desk-paper);color:var(--desk-ink);box-shadow:0 1px 2px rgba(20,34,56,.12),0 0 0 1px var(--desk-line)}
#page-order-entry .bursa-seg button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}
#page-order-entry .bursa-field.has-unit :is(input){padding-right:64px}
#page-order-entry .bursa-unit{position:absolute;right:36px;top:50%;transform:translateY(-50%);font-size:11px;color:var(--desk-muted);pointer-events:none}
#page-order-entry .bursa-card-foot{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:10px 18px;border-top:1px solid var(--desk-line);font-size:11px;color:var(--desk-muted)}
#page-order-entry .bursa-card-foot label{font-size:11px;font-weight:500;text-transform:none;letter-spacing:0;margin:0;color:var(--desk-muted)}
#page-order-entry .bursa-fabric-card .bursa-card-foot select[id]{width:auto;height:34px;min-height:34px;padding:4px 28px 4px 10px;font-size:12px}
#page-order-entry .bursa-fabric-head{padding:16px 18px 4px}
@media(max-width:600px){
  #page-order-entry .bursa-card-body{padding:6px 14px 16px}
  #page-order-entry .bursa-colors-head,#page-order-entry .bursa-color-row{grid-template-columns:minmax(0,1fr) 120px 28px;gap:8px}
  #page-order-entry .bursa-kg input{font-size:17px;padding-right:38px}
  #page-order-entry .bursa-colors-foot{padding-right:36px}
  #page-order-entry .bursa-seg{display:flex}
  #page-order-entry .bursa-seg button{flex:1;padding:6px 8px}
  #page-order-entry .bursa-card-foot{padding:10px 14px}
}
@media (prefers-reduced-motion: reduce){#page-order-entry :is(.bursa-seg button,.bursa-color-remove){transition:none}}
#page-order-entry .bursa-color-name .bursa-field input{padding-right:14px}

/* Bursa giden kutusu: onaylanmış ama henüz gönderilmemiş siparişler (2026-10-25, BURSA-GIDEN-KUTUSU.md). */
#page-order-entry .bursa-outbox{margin:0 0 12px;padding:10px 12px;border:1px solid var(--desk-line);border-radius:10px;background:var(--desk-paper)}
#page-order-entry .bursa-outbox[hidden]{display:none}
#page-order-entry .bo-head{display:flex;align-items:center;gap:8px;min-width:0}
#page-order-entry .bo-head strong{font-size:13px;font-weight:650;color:var(--desk-ink)}
#page-order-entry .bo-count{color:var(--desk-muted);font-size:12px;font-variant-numeric:tabular-nums}
#page-order-entry .bo-head .bo-link{margin-left:auto}
.bursa-outbox .bo-dot,.bursa-outbox-pill .bo-dot{flex:0 0 8px;width:8px;height:8px;border-radius:50%;background:var(--warning-fill)}
.bursa-outbox .is-sending .bo-dot{background:var(--accent);animation:boPulse 1.1s ease-in-out infinite}
.bursa-outbox .is-failed .bo-dot,.bursa-outbox-pill.is-failed .bo-dot{background:var(--danger)}
@keyframes boPulse{50%{opacity:.35}}
#page-order-entry .bo-status{margin:4px 0 8px 16px;color:var(--desk-muted);font-size:12px;line-height:1.35}
#page-order-entry .bo-status.is-failed{color:var(--danger)}
#page-order-entry .bo-list{display:grid;gap:0}
#page-order-entry .bo-row{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:baseline;gap:2px 8px;padding:8px 0 8px 16px;box-shadow:inset 0 1px 0 var(--desk-line)}
#page-order-entry .bo-row b{white-space:nowrap;font-size:12.5px;font-weight:650;color:var(--desk-ink);font-variant-numeric:tabular-nums}
#page-order-entry .bo-row b.is-pending-code{color:var(--desk-muted);font-weight:550}
#page-order-entry .bo-customer{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;color:var(--desk-ink)}
#page-order-entry .bo-meta{grid-column:1/-1;color:var(--desk-muted);font-size:11px;font-variant-numeric:tabular-nums}
#page-order-entry .bo-error{grid-column:1/-1;color:var(--danger);font-size:11px;line-height:1.35}
#page-order-entry .bo-actions{grid-column:1/-1;display:flex;gap:14px;margin-top:2px}
#page-order-entry .bo-link{padding:2px 0;border:0;background:none;color:var(--accent);font:600 12px/1.3 var(--font);cursor:pointer;white-space:nowrap}
#page-order-entry .bo-link.is-quiet{color:var(--desk-muted);font-weight:500}
#page-order-entry .bo-link:hover{text-decoration:underline}
#page-order-entry .bo-link:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}
@media (prefers-reduced-motion: reduce){.bursa-outbox .is-sending .bo-dot{animation:none}}

/* ─── Tek ekran sipariş açma — C düzeni (2026-11-05, TASARIM-DILI §3.31a) ─
   Solda müşteri + siparişin kumaş listesi, ortada YALNIZ seçili kumaş büyük,
   sağda sepet. Masaüstünde üçü ekranın yüksekliğine sabit; sipariş açarken
   sayfa kaymaz. Gönderilen siparişler (.bx-list) altta, kaydırarak inilir. */
#page-order-entry .bx-entry{margin-bottom:var(--space-5)}
#page-order-entry .quick-order-layout.bx-c{grid-template-columns:232px minmax(0,1fr) 290px;gap:var(--space-4);align-items:stretch}
#page-order-entry .bx-c>.card{display:flex;flex-direction:column;min-width:0;min-height:0}
#page-order-entry .quick-order-layout>.card.bx-cart{position:static}
#page-order-entry .bx-list{margin-top:0}
#page-order-entry .bx-list .card-head-row{flex-wrap:wrap;gap:var(--space-2)}
#page-order-entry .bx-list .of-head-tools{flex-wrap:wrap}

/* Sol: müşteri + kumaş listesi + toplam */
#page-order-entry .bx-rail{padding:var(--space-4) var(--space-3)}
#page-order-entry .bx-rail .bursa-customer{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:var(--space-1) var(--space-2);margin:0 0 var(--space-3);padding:0 var(--space-1) var(--space-3);border-bottom:1px solid var(--desk-line)}
#page-order-entry .bx-rail .bursa-customer>label{grid-column:1;grid-row:1;margin:0}
#page-order-entry .bx-rail .bursa-customer>.page-help-btn{grid-column:2;grid-row:1;width:26px;height:26px;min-height:26px;font-size:12px}
#page-order-entry .bx-rail .bursa-customer>.bursa-search{grid-column:1/-1;grid-row:2}
#page-order-entry .bx-rail .bursa-customer>.field-error{grid-column:1/-1;grid-row:3}
#page-order-entry .bx-rail .bursa-customer>.field-error:empty{display:none}
#page-order-entry .bx-rail #orderEntryCustomer{height:40px;min-height:40px;font-size:14px;font-weight:600}
#page-order-entry .bx-rail .bursa-customer.is-locked #orderEntryCustomer{color:var(--desk-muted);cursor:default}
#page-order-entry .bx-rail .bursa-customer.is-locked .bursa-clear{display:none}
#page-order-entry .bx-rail .bursa-suggestions{min-width:300px}
#page-order-entry .bx-rail-list{display:grid;align-content:start;gap:2px;min-height:0}
#page-order-entry .bx-rail-item{display:grid;grid-template-columns:18px minmax(0,1fr) auto;align-items:baseline;gap:2px var(--space-2);width:100%;padding:var(--space-2) var(--space-2) var(--space-2) 6px;border:0;border-radius:10px;background:transparent;color:var(--desk-ink);font:inherit;text-align:left;cursor:pointer;transition:background .13s ease}
#page-order-entry .bx-rail-item:hover{background:var(--desk-soft)}
#page-order-entry .bx-rail-item.is-active{background:var(--accent-soft);box-shadow:inset 3px 0 0 var(--accent)}
#page-order-entry .bx-rail-item:focus-visible{outline:2px solid var(--accent);outline-offset:1px}
#page-order-entry .bx-rail-no{color:var(--desk-muted);font-size:11px;font-weight:600;text-align:center;font-variant-numeric:tabular-nums}
#page-order-entry .bx-rail-item b{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:650}
#page-order-entry .bx-rail-item em{font-style:normal;font-size:13px;font-weight:650;font-variant-numeric:tabular-nums}
#page-order-entry .bx-rail-item small{grid-column:2/-1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11.5px;color:var(--desk-muted)}
#page-order-entry .bx-rail-item.has-error small{color:var(--danger)}
#page-order-entry .bx-rail-item.has-error .bx-rail-no{color:var(--danger)}
#page-order-entry .bx-rail .bursa-add-fabric{width:100%;margin:var(--space-2) 0 0;padding:9px 12px;border:1px dashed var(--desk-line);border-radius:10px;background:transparent;color:var(--accent);font:inherit;font-size:13px;font-weight:600;text-align:left;cursor:pointer}
#page-order-entry .bx-rail .bursa-add-fabric:hover{background:var(--desk-soft)}
/* Kumaşı kaldır · Siparişi temizle: "+ Kumaş ekle"nin altında sessiz satırlar; kırmızı yalnız üstüne gelince. */
#page-order-entry .bx-rail-tools{display:grid;gap:1px;margin-top:var(--space-1)}
#page-order-entry .bx-rail-tools[hidden]{display:none}
#page-order-entry .bx-rail-tool{display:flex;align-items:center;gap:8px;width:100%;height:32px;padding:0 12px;border:0;border-radius:8px;background:transparent;color:var(--desk-muted);font:inherit;font-size:12.5px;font-weight:550;text-align:left;cursor:pointer;transition:background .12s,color .12s}
#page-order-entry .bx-rail-tool svg{width:15px;height:15px;flex-shrink:0}
#page-order-entry .bx-rail-tool:hover{background:color-mix(in srgb,var(--danger) 10%,transparent);color:var(--danger)}
#page-order-entry .bx-rail-tool:focus-visible{outline:2px solid var(--accent);outline-offset:1px}
#page-order-entry .bx-rail-sum{display:grid;gap:2px;margin-top:auto;padding:var(--space-3) var(--space-1) 0;border-top:1px solid var(--desk-line);font-variant-numeric:tabular-nums}
#page-order-entry .bx-rail-sum small{font-size:12px;color:var(--desk-muted)}
#page-order-entry .bx-rail-sum b{font-size:20px;font-weight:700;color:var(--desk-ink);letter-spacing:-.01em}
#page-order-entry .bx-rail-sum b i{font-style:normal;font-size:12px;font-weight:600;color:var(--desk-muted)}
#page-order-entry .bx-rail-sum span{font-size:12px;color:var(--desk-muted)}

/* Orta: seçili kumaş */
#page-order-entry .bx-form{padding:20px 24px;container-type:inline-size}
#page-order-entry .bx-c .bursa-fabric-card:not(.is-active){display:none}
#page-order-entry .bx-c #bursaFabricScroll .bursa-fabric-card{margin:0;border:0;border-radius:0;background:transparent}
#page-order-entry .bx-c #bursaFabricScroll .bursa-fabric-head{display:flex;align-items:center;gap:var(--space-3);padding:0 0 var(--space-3)}
#page-order-entry .bx-c #bursaFabricScroll .bursa-fabric-no{display:none}
#page-order-entry .bx-c #bursaFabricScroll .bursa-title{flex:1 1 auto}
#page-order-entry .bx-c #bursaFabricScroll .bursa-fabric-head .bursa-title input[type=text]{font-size:20px;font-weight:700;letter-spacing:-.02em;padding:4px 8px}
#page-order-entry .bx-c #bursaFabricScroll .bursa-source-field{flex:0 1 230px;min-width:150px}
#page-order-entry .bx-c #bursaFabricScroll .bursa-source-field .form-group{display:flex;align-items:center;gap:var(--space-2);margin:0}
#page-order-entry .bx-c #bursaFabricScroll .bursa-source-field .form-group>label{margin:0;font-size:12px;color:var(--desk-muted)}
#page-order-entry .bx-c #bursaFabricScroll .bursa-source-field .form-group>.bursa-field{flex:1;min-width:0}
#page-order-entry .bx-c #bursaFabricScroll .bursa-source-field input{height:34px;min-height:34px;font-size:13px}
#page-order-entry .bx-c #bursaFabricScroll .bursa-source-field .bursa-suggestions{left:auto;right:0;min-width:min(380px,80vw)}
#page-order-entry .bx-c #bursaFabricScroll .bursa-foreign-note{margin:-6px 0 var(--space-2);text-align:right}
#page-order-entry .bx-c #bursaFabricScroll .bursa-card-body{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-4);padding:0}
#page-order-entry .bx-c #bursaFabricScroll .bursa-colors{align-content:start}
#page-order-entry .bx-c #bursaFabricScroll .bursa-colors-head,#page-order-entry .bx-c #bursaFabricScroll .bursa-color-row{grid-template-columns:minmax(0,1fr) 150px 28px;gap:var(--space-2)}
#page-order-entry .bx-c #bursaFabricScroll .bursa-colors-head{padding-bottom:6px;font-size:12px}
#page-order-entry .bx-c #bursaFabricScroll .bursa-color-rows{gap:var(--space-2)}
#page-order-entry .bx-c #bursaFabricScroll .bursa-color-name input{height:42px;min-height:42px;font-size:15px}
#page-order-entry .bx-c #bursaFabricScroll .bursa-kg input{height:42px;min-height:42px;font-size:18px;padding:6px 42px 6px 10px}
#page-order-entry .bx-c #bursaFabricScroll .bursa-color-remove{width:28px;height:28px}
#page-order-entry .bx-c #bursaFabricScroll .bursa-colors-foot{min-height:34px;padding-right:36px}
#page-order-entry .bx-c #bursaFabricScroll .bursa-add-color{padding:6px 0}
#page-order-entry .bx-c #bursaFabricScroll .bursa-spec{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-3);align-content:start;padding:var(--space-4) 0 0;border:0;border-top:1px solid var(--desk-line)}
#page-order-entry .bx-c #bursaFabricScroll .bursa-spec-title{display:none}
#page-order-entry .bx-c #bursaFabricScroll .bursa-spec-row{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:var(--space-2)}
#page-order-entry .bx-c #bursaFabricScroll .bursa-seg button{min-height:32px;padding:4px 12px;font-size:12.5px}
#page-order-entry .bx-c #bursaFabricScroll .bursa-spec .form-row{display:contents}
#page-order-entry .bx-c #bursaFabricScroll .bursa-spec .form-group{margin:0;min-width:0}
#page-order-entry .bx-c #bursaFabricScroll .bursa-spec .form-group>label{margin-bottom:4px;font-size:12px}
#page-order-entry .bx-c #bursaFabricScroll .bursa-spec .form-group:has(textarea){grid-column:span 2}
#page-order-entry .bx-c #bursaFabricScroll .bursa-spec .bursa-field input{height:38px;min-height:38px}
#page-order-entry .bx-c #bursaFabricScroll .bursa-spec textarea{min-height:38px;height:auto;max-height:110px;padding-top:9px;padding-bottom:9px;resize:none;field-sizing:content;line-height:1.45}
#page-order-entry .bx-c #bursaFabricScroll .bursa-card-foot{grid-column:1/-1;justify-content:flex-start;padding:0;border:0}
#page-order-entry .bx-c #bursaFabricScroll .bursa-card-foot label{white-space:nowrap}
#page-order-entry .bx-c #bursaFabricScroll .bursa-card-foot select[id]{height:32px;min-height:32px}
@container (max-width:620px){
  #page-order-entry .bx-c #bursaFabricScroll .bursa-spec{grid-template-columns:repeat(2,minmax(0,1fr))}
  #page-order-entry .bx-c #bursaFabricScroll .bursa-spec .form-group:has(textarea){grid-column:1/-1}
}
#page-order-entry .bursa-suggestions.is-up{top:auto;bottom:100%;margin:0 0 4px}
/* Düzenleme şeridi */
#page-order-entry .bx-edit-banner{display:flex;align-items:center;gap:var(--space-3);margin:0 0 var(--space-4);padding:var(--space-2) var(--space-3);border-radius:10px;background:var(--accent-soft)}
#page-order-entry .bx-edit-banner[hidden]{display:none}
#page-order-entry .bx-edit-banner>div{flex:1;min-width:0;display:grid;gap:2px}
#page-order-entry .bx-edit-banner strong{font-size:13px;font-weight:600;color:var(--desk-ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#page-order-entry .bx-edit-banner strong b{font-weight:700;font-variant-numeric:tabular-nums}
#page-order-entry .bx-edit-banner small{font-size:12px;color:var(--desk-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#page-order-entry .bx-edit-dot{flex:0 0 8px;width:8px;height:8px;border-radius:50%;background:var(--accent)}
/* Alt eylem çubuğu */
#page-order-entry .bx-foot{display:flex;align-items:center;gap:var(--space-3);margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--desk-line)}
#page-order-entry .bx-next{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;color:var(--desk-muted)}
#page-order-entry .bx-next b{color:var(--desk-ink);font-weight:600}
#page-order-entry .bx-next kbd{margin-left:4px;padding:1px 5px;border:1px solid var(--desk-line);border-bottom-width:2px;border-radius:5px;background:var(--desk-paper);font:600 11px var(--font,inherit);color:var(--desk-muted)}
#page-order-entry .bx-foot .btn{min-height:40px}
#page-order-entry .bx-foot #quickOrderSubmitBtn{min-width:160px}
/* Sağ: sepet */
#page-order-entry .bx-cart{padding:var(--space-4) 18px}
#page-order-entry .bx-cart .quick-lines-head{margin-bottom:var(--space-3)}
#page-order-entry .bx-cart-scroll{min-height:0}
#page-order-entry .bx-cart-foot{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:var(--space-2);margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--desk-line)}
#page-order-entry .bx-cart-foot .quick-send-all{margin:0;min-height:40px}
#page-order-entry .bx-cart .quick-order-empty{padding:var(--space-4) 2px}

/* Masaüstü: üç sütun ekrana sabit (üst çubuk 56 + sayfa üst boşluğu 24 + alt pay 16). */
/* Kaydırma sayfaya geçer (overscroll contain YOK, 2026-11-05 kullanıcı: "kart içinde kaydırıyor, aşağı inemiyorum"):
   iç alan sonuna gelince tekerlek sayfayı, yani gönderilen siparişleri kaydırır. */
@media (min-width:1051px) and (min-height:600px){
  #page-order-entry .bx-entry{height:calc(100vh - 96px);height:calc(100dvh - 96px);min-height:500px}
  #page-order-entry .quick-order-layout.bx-c{height:100%}
  #page-order-entry .bx-rail-list{flex:0 1 auto;overflow:auto}
  #page-order-entry .bx-fabrics{flex:1 1 auto;overflow:auto;margin:0 -6px;padding:0 6px}
  #page-order-entry .bx-cart-scroll{flex:1 1 auto;overflow:auto}
}
@media (max-width:1050px){
  #page-order-entry .quick-order-layout.bx-c{grid-template-columns:minmax(0,1fr)}
  #page-order-entry .bx-rail-sum{margin-top:var(--space-3)}
}
@media (max-width:760px){
  #page-order-entry .bx-form{padding:var(--space-4) 14px}
  #page-order-entry .bx-c #bursaFabricScroll .bursa-fabric-head{flex-wrap:wrap}
  #page-order-entry .bx-c #bursaFabricScroll .bursa-title{flex-basis:100%}
  #page-order-entry .bx-c #bursaFabricScroll .bursa-source-field{flex:1 1 100%;max-width:none}
  #page-order-entry .bx-c #bursaFabricScroll .bursa-colors-head,#page-order-entry .bx-c #bursaFabricScroll .bursa-color-row{grid-template-columns:minmax(0,1fr) 120px 28px}
  #page-order-entry .bx-next{display:none}
  #page-order-entry .bx-foot .btn{flex:1}
}
@media(max-width:600px){
  #page-order-entry .bx-c #bursaFabricScroll .bursa-color-name input,#page-order-entry .bx-c #bursaFabricScroll .bursa-kg input,#page-order-entry .bx-c #bursaFabricScroll .bursa-spec .bursa-field input,#page-order-entry .bx-rail #orderEntryCustomer{height:44px;min-height:44px;font-size:16px}
}
@media (prefers-reduced-motion: reduce){#page-order-entry .bx-rail-item{transition:none}}

/* Sepet üstü: İstanbul onayı bekleyen düzenlemeler (2026-11-05, §3.31a) */
#page-order-entry .bx-wait{margin:0 0 var(--space-3);padding:var(--space-2) var(--space-3);border-radius:10px;background:var(--desk-soft)}
#page-order-entry .bx-wait[hidden]{display:none}
#page-order-entry .bx-wait-head{display:flex;align-items:center;gap:var(--space-2);font-size:12px;color:var(--desk-ink);min-width:0}
#page-order-entry .bx-wait-head>span{flex:1;min-width:0;line-height:1.4}
#page-order-entry .bx-wait-head b{font-weight:650}
#page-order-entry .bx-wait-head b.is-rejected{color:var(--danger)}
#page-order-entry .bx-wait-head>i{flex:0 0 8px;width:8px;height:8px;border-radius:50%;background:var(--warning-fill)}
#page-order-entry .bx-wait.is-rejected-only .bx-wait-head>i{background:var(--danger)}
#page-order-entry .bx-wait-list{display:grid;margin-top:6px}
#page-order-entry .bx-wait-row{display:grid;grid-template-columns:auto minmax(0,1fr);gap:0 8px;align-items:baseline;width:100%;padding:6px 0 6px 16px;border:0;background:none;box-shadow:inset 0 1px 0 var(--desk-line);text-align:left;font:inherit;color:var(--desk-ink);cursor:pointer}
#page-order-entry .bx-wait-row:hover b{color:var(--accent)}
#page-order-entry .bx-wait-row:focus-visible{outline:2px solid var(--accent);outline-offset:1px;border-radius:6px}
#page-order-entry .bx-wait-row b{font-size:12px;font-weight:700;font-variant-numeric:tabular-nums}
#page-order-entry .bx-wait-row span{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#page-order-entry .bx-wait-row small{grid-column:1/-1;font-size:11px;color:var(--desk-muted)}
#page-order-entry .bx-wait-row.is-rejected small{color:var(--danger)}
/* C düzeni: kumaş adı tam satır, RPT altında sola yaslı (ad kesilmez). */
#page-order-entry .bx-c #bursaFabricScroll .bursa-fabric-head{flex-wrap:wrap;row-gap:var(--space-2)}
#page-order-entry .bx-c #bursaFabricScroll .bursa-title{flex:1 1 60%;min-width:0}
#page-order-entry .bx-c #bursaFabricScroll .bursa-source-field{order:3;flex:0 1 300px}
#page-order-entry .bx-c #bursaFabricScroll .bursa-source-field .bursa-suggestions{left:0;right:auto}
/* Alçak ekran (≤820px yükseklik, ör. 1280×720 dizüstü): 4 renkli kumaş da kaymadan sığsın. */
@media (min-width:1051px) and (max-height:820px){
  #page-order-entry .bx-form{padding:var(--space-4) 20px}
  #page-order-entry .bx-c #bursaFabricScroll .bursa-fabric-head{padding-bottom:var(--space-2)}
  #page-order-entry .bx-c #bursaFabricScroll .bursa-fabric-head .bursa-title input[type=text]{font-size:18px;padding:2px 8px}
  #page-order-entry .bx-c #bursaFabricScroll .bursa-color-rows{gap:6px}
  #page-order-entry .bx-c #bursaFabricScroll .bursa-color-name input,#page-order-entry .bx-c #bursaFabricScroll .bursa-kg input{height:36px;min-height:36px}
  #page-order-entry .bx-c #bursaFabricScroll .bursa-kg input{font-size:16px}
  #page-order-entry .bx-c #bursaFabricScroll .bursa-colors-foot{min-height:30px}
  #page-order-entry .bx-c #bursaFabricScroll .bursa-card-body{gap:var(--space-3)}
  #page-order-entry .bx-c #bursaFabricScroll .bursa-spec{gap:var(--space-2) var(--space-3);padding-top:var(--space-3)}
  #page-order-entry .bx-c #bursaFabricScroll .bursa-spec-row{grid-column:1/span 2}
  #page-order-entry .bx-c #bursaFabricScroll .bursa-card-foot{grid-column:3/-1;grid-row:1;justify-content:flex-end}
  #page-order-entry .bx-c #bursaFabricScroll .bursa-spec .bursa-field input,#page-order-entry .bx-c #bursaFabricScroll .bursa-spec textarea{height:34px;min-height:34px}
  #page-order-entry .bx-c #bursaFabricScroll .bursa-spec textarea{padding-top:7px;padding-bottom:7px}
  #page-order-entry .bx-foot{margin-top:var(--space-2);padding-top:var(--space-2)}
}
@container (max-width:620px){
  #page-order-entry .bx-c #bursaFabricScroll .bursa-spec-row,#page-order-entry .bx-c #bursaFabricScroll .bursa-card-foot{grid-column:1/-1;grid-row:auto;justify-content:flex-start}
}
@media (min-width:1051px) and (max-height:820px){
  #page-order-entry .bx-c #bursaFabricScroll .bursa-colors-head{display:none}
}

/* ─── 2026-11-05 kullanıcı seçimi: B adım çizgisi + C kutuları (TASARIM-DILI §3.31b) ───
   Adım çizgisi "ilk neyi doldurayım?" sorusunu cevaplar. Kutular tek ölçüdedir:
   renk+kg tek kutu, gramaj+en tek ölçü kutusu, elastan anahtar, numune kutusuz yazı. */
#page-order-entry .bx-steps{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-1) 0;margin:0 0 var(--space-4);padding:0;list-style:none}
#page-order-entry .bx-steps li{display:flex;align-items:center}
#page-order-entry .bx-steps li+li::before{content:"";width:24px;height:1px;margin:0 8px;background:var(--desk-line)}
#page-order-entry .bx-steps li.is-done+li::before{background:var(--success)}
#page-order-entry .bx-steps button{display:inline-flex;align-items:center;gap:8px;min-height:30px;padding:2px 6px 2px 2px;border:0;border-radius:999px;background:none;color:var(--desk-muted);font:inherit;font-size:13px;font-weight:550;cursor:pointer;white-space:nowrap}
#page-order-entry .bx-steps button:hover{color:var(--desk-ink)}
#page-order-entry .bx-steps button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}
#page-order-entry .bx-steps i{display:grid;place-items:center;width:22px;height:22px;border:1.5px solid var(--desk-line);border-radius:50%;font-style:normal;font-size:11px;font-weight:700;font-variant-numeric:tabular-nums}
#page-order-entry .bx-steps i svg{width:13px;height:13px}
#page-order-entry .bx-steps .is-done button{color:var(--desk-ink)}
#page-order-entry .bx-steps .is-done i{border-color:var(--success);background:var(--success);color:var(--on-accent)}
#page-order-entry .bx-steps .is-current button{color:var(--desk-ink);font-weight:650}
#page-order-entry .bx-steps .is-current i{border-color:var(--accent);color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 16%,transparent)}
#page-order-entry .bx-steps .sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* Kumaş adı boşken başlık değil, yazılacak kutu gibi görünür. */
/* :has() YOK — sayfadaki her stil yazımını pahalılaştırıyordu (takip-masonry bekçisi); sınıf JS'ten. */
#page-order-entry .bx-c #bursaFabricScroll .bursa-title.is-empty:not(:focus-within){margin-left:-8px;border:1px solid var(--desk-line);border-radius:10px;background:var(--desk-soft)}
#page-order-entry .bx-c #bursaFabricScroll .bursa-title.is-empty:not(:focus-within) input[type=text]{margin-left:0}
#page-order-entry .bx-c #bursaFabricScroll .bursa-title.is-empty svg{display:none}

/* Ortak kutu dili: 44px, 12px köşe, aynı zemin; odak = vurgu çizgisi + halka. */
#page-order-entry .bx-c #bursaFabricScroll :is(.bursa-pair,.bursa-measure,.bursa-source-field .form-group,.bursa-notes .bursa-field){border:1px solid var(--desk-line);border-radius:12px;background:var(--desk-soft);transition:border-color .12s,box-shadow .12s}
#page-order-entry .bx-c #bursaFabricScroll :is(.bursa-pair,.bursa-measure,.bursa-source-field .form-group,.bursa-notes .bursa-field):focus-within{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 16%,transparent)}
#page-order-entry .bx-c #bursaFabricScroll :is(.bursa-pair,.bursa-measure,.bursa-source-field .form-group,.bursa-notes) :is(input,textarea){border:0;background:transparent;box-shadow:none;outline:0}

/* RPT: etiket kutunun içinde. */
#page-order-entry .bx-c #bursaFabricScroll .bursa-source-field .form-group{height:36px;gap:0;overflow:visible}
#page-order-entry .bx-c #bursaFabricScroll .bursa-source-field .form-group>label{display:flex;align-items:center;align-self:stretch;padding:0 10px;border-right:1px solid var(--desk-line);font-size:11px;font-weight:650;letter-spacing:.04em;color:var(--desk-muted)}
#page-order-entry .bx-c #bursaFabricScroll .bursa-source-field input{height:34px;min-height:34px;padding:0 32px 0 10px}

/* Renk + kg tek kutu. */
#page-order-entry .bx-c #bursaFabricScroll .bursa-color-row{grid-template-columns:minmax(0,1fr) 28px;gap:var(--space-2)}
#page-order-entry .bx-c #bursaFabricScroll .bursa-pair{display:grid;grid-template-columns:minmax(0,1fr) 140px;min-width:0}
#page-order-entry .bx-c #bursaFabricScroll .bursa-pair>.bursa-kg{border-left:1px solid var(--desk-line)}
#page-order-entry .bx-c #bursaFabricScroll .bursa-color-name input{height:42px;min-height:42px;padding:0 14px;font-size:15px;font-weight:550}
#page-order-entry .bx-c #bursaFabricScroll .bursa-kg input{height:42px;min-height:42px;padding:0 38px 0 10px;font-size:16px;font-weight:650}
#page-order-entry .bx-c #bursaFabricScroll .bursa-kg>span{right:14px;font-size:12px;font-weight:500;text-transform:none}
#page-order-entry .bx-c #bursaFabricScroll .bursa-pair input[aria-invalid=true]{box-shadow:inset 0 0 0 2px var(--danger)}
#page-order-entry .bx-c #bursaFabricScroll .bursa-colors-foot{padding-right:36px}

/* Ayrıntılar: isteğe bağlı olduğu başlıkta yazar. */
#page-order-entry .bx-c #bursaFabricScroll .bursa-spec{grid-template-columns:minmax(0,1fr);gap:var(--space-3)}
#page-order-entry .bx-c #bursaFabricScroll .bursa-spec-title{display:block;grid-column:1/-1;margin:0;font-size:12px;font-weight:650;color:var(--desk-ink)}
#page-order-entry .bx-c #bursaFabricScroll .bursa-spec-title span{font-weight:500;color:var(--desk-muted)}
#page-order-entry .bx-c #bursaFabricScroll .bursa-spec-row{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3)}
#page-order-entry .bx-c #bursaFabricScroll .bursa-seg{height:40px;border-radius:12px;align-items:stretch}
#page-order-entry .bx-c #bursaFabricScroll .bursa-seg button{min-height:0;border-radius:9px}

/* Elastan: açık/kapalı anahtar (seçici değil). */
#page-order-entry .bursa-switch{display:inline-flex;align-items:center;gap:8px;min-height:36px;padding:0 4px;border:0;background:none;color:var(--desk-ink);font:inherit;font-size:13px;font-weight:550;cursor:pointer;white-space:nowrap}
#page-order-entry .bursa-switch-track{position:relative;width:32px;height:18px;border-radius:999px;background:var(--desk-line);transition:background .15s}
#page-order-entry .bursa-switch-track::after{content:"";position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;background:var(--on-accent);box-shadow:0 1px 2px rgba(0,0,0,.3);transition:transform .15s}
#page-order-entry .bursa-switch[aria-pressed=true] .bursa-switch-track{background:var(--accent)}
#page-order-entry .bursa-switch[aria-pressed=true] .bursa-switch-track::after{transform:translateX(14px)}
#page-order-entry .bursa-switch:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:8px}

/* Gramaj + En tek ölçü kutusu, etiketler içeride. */
#page-order-entry .bx-c #bursaFabricScroll .bursa-measure{display:flex;flex:1 1 280px;min-width:240px;height:40px}
#page-order-entry .bx-c #bursaFabricScroll .bursa-measure-cell{position:relative;display:flex;align-items:center;flex:1;min-width:0;padding-left:12px}
#page-order-entry .bx-c #bursaFabricScroll .bursa-measure-cell+.bursa-measure-cell{border-left:1px solid var(--desk-line)}
#page-order-entry .bx-c #bursaFabricScroll .bursa-measure-cell>label{margin:0;font-size:11px;font-weight:650;letter-spacing:.04em;text-transform:uppercase;color:var(--desk-muted);white-space:nowrap}
#page-order-entry .bx-c #bursaFabricScroll .bursa-measure-cell .bursa-field{flex:1;min-width:0}
#page-order-entry .bx-c #bursaFabricScroll .bursa-measure-cell input{height:38px;min-height:38px;padding:0 48px 0 8px;text-align:right;font-weight:600;font-variant-numeric:tabular-nums}
#page-order-entry .bx-c #bursaFabricScroll .bursa-measure-cell .bursa-unit{right:12px;font-size:12px}
#page-order-entry .bx-c #bursaFabricScroll .bursa-measure-cell .bursa-suggestions{left:0;right:0}

/* Açıklama tam satır; numune kutusuz küçük yazı. */
#page-order-entry .bx-c #bursaFabricScroll .bursa-notes{grid-column:1/-1;position:relative}
#page-order-entry .bx-c #bursaFabricScroll .bursa-notes textarea{min-height:40px;height:auto;max-height:110px;padding:10px 36px 10px 12px;resize:none;field-sizing:content;line-height:1.45}
#page-order-entry .bx-c #bursaFabricScroll .bursa-card-foot{grid-column:1/-1;grid-row:auto;justify-content:flex-end;gap:6px;padding:0;border:0;font-size:12px}
#page-order-entry .bx-c #bursaFabricScroll .bursa-card-foot label{font-size:12px}
#page-order-entry .bx-c #bursaFabricScroll .bursa-card-foot select[id]{height:28px;min-height:28px;padding:0 22px 0 4px;border:0;background-color:transparent;box-shadow:none;color:var(--desk-ink);font-size:12px;font-weight:600}
@media (min-width:1051px) and (max-height:820px){
  #page-order-entry .bx-steps{margin-bottom:var(--space-3)}
  #page-order-entry .bx-c #bursaFabricScroll :is(.bursa-color-name,.bursa-kg) input{height:36px;min-height:36px}
  #page-order-entry .bx-c #bursaFabricScroll .bursa-measure{height:36px}
  #page-order-entry .bx-c #bursaFabricScroll .bursa-measure-cell input{height:34px;min-height:34px}
  #page-order-entry .bx-c #bursaFabricScroll .bursa-seg{height:36px}
  #page-order-entry .bx-c #bursaFabricScroll .bursa-notes textarea{min-height:36px;padding-top:7px;padding-bottom:7px}
  #page-order-entry .bx-c #bursaFabricScroll .bursa-spec-row{grid-column:1/-1}
  #page-order-entry .bx-c #bursaFabricScroll .bursa-card-foot{grid-column:1/-1;grid-row:auto}
}
@media (max-width:760px){
  #page-order-entry .bx-c #bursaFabricScroll .bursa-pair{grid-template-columns:minmax(0,1fr) 110px}
  #page-order-entry .bx-steps li+li::before{width:12px;margin:0 4px}
  #page-order-entry .bx-steps button{font-size:12px;gap:6px}
}
@media (max-width:600px){
  #page-order-entry .bx-c #bursaFabricScroll :is(.bursa-color-name,.bursa-kg) input,#page-order-entry .bx-c #bursaFabricScroll .bursa-measure-cell input{height:44px;min-height:44px;font-size:16px}
  #page-order-entry .bx-c #bursaFabricScroll .bursa-measure{height:46px;flex-basis:100%}
  #page-order-entry .bx-steps li:last-child{display:none}
}
@media (prefers-reduced-motion: reduce){#page-order-entry .bursa-switch-track,#page-order-entry .bursa-switch-track::after{transition:none}}
/* Dar orta sütun (1280px'te ≈400px): adımlar tek satırda kalsın, son adım düşer. */
@container (max-width:560px){
  #page-order-entry .bx-steps li+li::before{width:12px;margin:0 6px}
  #page-order-entry .bx-steps button{gap:6px;font-size:12.5px}
  #page-order-entry .bx-steps li:last-child{display:none}
}
#page-order-entry .bx-c #bursaFabricScroll .bursa-fabric-head .bursa-title input[type=text]:placeholder-shown{min-width:min(280px,100%)}
/* Alçak ekran: numune seçimi "Ayrıntılar" başlığının sağına çıkar (bir satır kazanılır). */
@media (min-width:1051px) and (max-height:820px){
  #page-order-entry .bx-c #bursaFabricScroll .bursa-spec{grid-template-columns:minmax(0,1fr) auto;row-gap:var(--space-2)}
  #page-order-entry .bx-c #bursaFabricScroll .bursa-spec-title{grid-column:1;grid-row:1;align-self:center}
  #page-order-entry .bx-c #bursaFabricScroll .bursa-card-foot{grid-column:2;grid-row:1}
  #page-order-entry .bx-c #bursaFabricScroll .bursa-spec-row{gap:var(--space-2) var(--space-3)}
}
#page-order-entry .bx-c #bursaFabricScroll .bursa-spec-title em{font-style:normal}
#page-order-entry .bx-c #bursaFabricScroll .bursa-spec-title,#page-order-entry .bx-c #bursaFabricScroll .bursa-card-foot label{white-space:nowrap}
@container (max-width:560px){#page-order-entry .bx-c #bursaFabricScroll .bursa-spec-title em{display:none}}
@container (max-width:560px){#page-order-entry .bx-c #bursaFabricScroll .bursa-card-foot label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}}

/* ─── 2026-11-05 düzen turu: kumaş adı kutusu + öneri listesi + ritim (TASARIM-DILI §3.31c) ───
   Bütün kutular aynı sol/sağ kenarda başlar-biter, iç boşluk 14px. Dikey ritim iki ölçü:
   grup içi 12px, bölümler arası 24px. Kutular 44px; kumaş adı başlık olduğu için 52px. */
#page-order-entry .bx-steps{margin-bottom:var(--space-5)}
#page-order-entry .bx-c #bursaFabricScroll .bursa-fabric-head{flex-wrap:wrap;align-items:center;gap:var(--space-3);padding:0}
#page-order-entry .bx-c #bursaFabricScroll .bursa-card-body{gap:var(--space-5)}
#page-order-entry .bx-c #bursaFabricScroll .bursa-fabric-head{margin-bottom:var(--space-5)}

/* Kumaş adı: her durumda aynı genişlikte kutu; odakta büzülmez, sola taşmaz. */
#page-order-entry .bx-c #bursaFabricScroll .bursa-title,
#page-order-entry .bx-c #bursaFabricScroll .bursa-title.is-empty:not(:focus-within){flex:1 1 100%;min-width:0;height:52px;margin:0;border:1px solid var(--desk-line);border-radius:12px;background:var(--desk-soft);transition:border-color .12s,box-shadow .12s,background .12s}
#page-order-entry .bx-c #bursaFabricScroll .bursa-title:not(.is-empty):not(:focus-within):not(:hover){border-color:transparent;background:transparent}
#page-order-entry .bx-c #bursaFabricScroll .bursa-title:focus-within{border-color:var(--accent);background:var(--desk-soft);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 16%,transparent)}
#page-order-entry .bx-c #bursaFabricScroll .bursa-fabric-head .bursa-title input[type=text],
#page-order-entry .bx-c #bursaFabricScroll .bursa-fabric-head .bursa-title input[type=text]:placeholder-shown,
#page-order-entry .bx-c #bursaFabricScroll .bursa-title.is-empty:not(:focus-within) input[type=text]{width:100%;min-width:0;max-width:none;height:50px;margin:0;padding:0 14px;border:0;outline:0;box-shadow:none;background:transparent;field-sizing:fixed;font-size:18px;font-weight:700;letter-spacing:-.015em;text-overflow:ellipsis}
#page-order-entry .bx-c #bursaFabricScroll .bursa-fabric-head .bursa-title input[type=text]:is(:hover,:focus){background:transparent;outline:0;border:0}
#page-order-entry .bx-c #bursaFabricScroll .bursa-title svg{display:none}

/* RPT solda sabit genişlik, "Kumaşı kaldır" aynı satırın sağ ucunda. */
#page-order-entry .bx-c #bursaFabricScroll .bursa-source-field{order:3;flex:1 1 180px;max-width:320px;min-width:0}
#page-order-entry .bx-c #bursaFabricScroll .bursa-source-field .form-group{height:44px}
#page-order-entry .bx-c #bursaFabricScroll .bursa-source-field .form-group>label{padding:0 14px}
#page-order-entry .bx-c #bursaFabricScroll .bursa-source-field input{height:42px;min-height:42px;padding:0 32px 0 12px}
#page-order-entry .bx-c #bursaFabricScroll .bursa-remove{order:4;margin:0 -10px 0 auto;display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 10px;border-radius:8px;color:var(--danger);font-size:12.5px;font-weight:550;transition:background .12s}
#page-order-entry .bx-c #bursaFabricScroll .bursa-clear-fabric{order:4;margin:0 -10px 0 auto;display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 10px;border:0;border-radius:8px;background:transparent;color:var(--desk-muted);font:inherit;font-size:12.5px;font-weight:550;cursor:pointer;flex-shrink:0;transition:background .12s,color .12s}
#page-order-entry .bx-c #bursaFabricScroll .bursa-clear-fabric svg{width:15px;height:15px;flex-shrink:0}
#page-order-entry .bx-c #bursaFabricScroll .bursa-clear-fabric:hover:not(:disabled){background:color-mix(in srgb,var(--danger) 10%,transparent);color:var(--danger)}
#page-order-entry .bx-c #bursaFabricScroll .bursa-clear-fabric:disabled{opacity:.45;cursor:default}
#page-order-entry .bx-c #bursaFabricScroll .bursa-clear-fabric:focus-visible{outline:2px solid var(--accent);outline-offset:1px}
#page-order-entry .bx-c #bursaFabricScroll .bursa-remove svg{width:15px;height:15px;flex-shrink:0}
#page-order-entry .bx-c #bursaFabricScroll .bursa-remove:hover{background:color-mix(in srgb,var(--danger) 12%,transparent);color:var(--danger)}
#page-order-entry .bx-c #bursaFabricScroll .bursa-remove:focus-visible{outline:2px solid var(--accent);outline-offset:1px}

/* Renk satırları: tek renkte sağ kenar diğer kutularla aynı; × yalnız çok renkte yer kaplar. */
#page-order-entry .bx-c #bursaFabricScroll .bursa-color-row{display:flex;align-items:center;gap:var(--space-2)}
#page-order-entry .bx-c #bursaFabricScroll .bursa-color-row>.bursa-pair{flex:1 1 auto}
#page-order-entry .bx-c #bursaFabricScroll .bursa-color-remove.is-placeholder{display:none}
#page-order-entry .bx-c #bursaFabricScroll .bursa-color-remove{width:32px;height:32px}
#page-order-entry .bx-c #bursaFabricScroll .bursa-colors-foot{min-height:36px;margin-top:var(--space-1);padding-right:0}

/* Ayrıntılar: 24px üst boşluk, içeride 12px; bütün kutular 44px, iç boşluk 14px. */
#page-order-entry .bx-c #bursaFabricScroll .bursa-spec{gap:var(--space-3);padding-top:var(--space-5)}
#page-order-entry .bx-c #bursaFabricScroll .bursa-spec-row{gap:var(--space-3)}
#page-order-entry .bx-c #bursaFabricScroll .bursa-seg{height:44px}
#page-order-entry .bx-c #bursaFabricScroll .bursa-switch{min-height:44px;padding:0 8px}
#page-order-entry .bx-c #bursaFabricScroll .bursa-measure{height:44px}
#page-order-entry .bx-c #bursaFabricScroll .bursa-measure-cell{padding-left:14px}
#page-order-entry .bx-c #bursaFabricScroll .bursa-measure-cell input{height:42px;min-height:42px;padding-right:50px}
#page-order-entry .bx-c #bursaFabricScroll .bursa-measure-cell .bursa-unit{right:14px}
#page-order-entry .bx-c #bursaFabricScroll .bursa-notes textarea{display:block;min-height:44px;padding:11px 36px 11px 14px}

/* Öneri listeleri: alanın genişliğinde, satır = ad üstte, kaynak altta küçük. */
#page-order-entry .bursa-suggestions{margin-top:6px;padding:6px;border-radius:12px;max-height:320px;box-shadow:0 18px 40px rgba(8,14,26,.28)}
#page-order-entry .bursa-suggestions.is-up{margin:0 0 6px}
#page-order-entry .bx-c #bursaFabricScroll .bursa-title .bursa-suggestions{left:-1px;right:-1px;min-width:0}
#page-order-entry .bursa-suggestions button{display:grid;gap:1px;align-items:start;padding:7px 12px;border-radius:8px}
#page-order-entry .bursa-suggestions button:hover,#page-order-entry .bursa-suggestions [aria-selected=true]{background:color-mix(in srgb,var(--accent) 12%,transparent)}
#page-order-entry .bursa-suggestions strong{max-width:none;font-size:13px;font-weight:600;line-height:1.35;white-space:normal;overflow-wrap:anywhere}
#page-order-entry .bursa-suggestions span{font-size:11.5px;line-height:1.3}
#page-order-entry .bursa-suggestions button+button{margin-top:1px}

@media (min-width:1051px) and (max-height:820px){
  /* Alçak ekran (1280×720): 4 renkli kumaş kaymadan sığar — ritim 12px, kutular 36px. */
  #page-order-entry .bx-steps{margin-bottom:var(--space-3)}
  #page-order-entry .bx-c #bursaFabricScroll .bursa-fabric-head{margin-bottom:var(--space-3);row-gap:var(--space-2)}
  #page-order-entry .bx-c #bursaFabricScroll .bursa-card-body{gap:var(--space-3)}
  #page-order-entry .bx-c #bursaFabricScroll .bursa-spec{gap:var(--space-2) var(--space-3);padding-top:var(--space-3)}
  #page-order-entry .bx-c #bursaFabricScroll .bursa-colors-foot{min-height:30px;margin-top:0}
  #page-order-entry .bx-c #bursaFabricScroll .bursa-title,#page-order-entry .bx-c #bursaFabricScroll .bursa-title.is-empty:not(:focus-within){height:42px}
  #page-order-entry .bx-c #bursaFabricScroll .bursa-fabric-head .bursa-title input[type=text],#page-order-entry .bx-c #bursaFabricScroll .bursa-fabric-head .bursa-title input[type=text]:placeholder-shown,#page-order-entry .bx-c #bursaFabricScroll .bursa-title.is-empty:not(:focus-within) input[type=text]{height:40px;font-size:17px}
  #page-order-entry .bx-c #bursaFabricScroll :is(.bursa-seg,.bursa-measure,.bursa-source-field .form-group){height:36px}
  #page-order-entry .bx-c #bursaFabricScroll :is(.bursa-color-name,.bursa-kg) input,#page-order-entry .bx-c #bursaFabricScroll .bursa-measure-cell input,#page-order-entry .bx-c #bursaFabricScroll .bursa-source-field input{height:34px;min-height:34px}
  #page-order-entry .bx-c #bursaFabricScroll .bursa-switch{min-height:36px}
  #page-order-entry .bx-c #bursaFabricScroll .bursa-notes textarea{min-height:36px;padding-top:7px;padding-bottom:7px}
}
@media (max-width:600px){
  #page-order-entry .bx-c #bursaFabricScroll .bursa-source-field{flex:1 1 100%;max-width:none}
  #page-order-entry .bx-c #bursaFabricScroll :is(.bursa-remove,.bursa-clear-fabric){margin-left:-10px}
}
@media (prefers-reduced-motion: reduce){#page-order-entry .bx-c #bursaFabricScroll :is(.bursa-title,.bursa-remove,.bursa-clear-fabric){transition:none}}

/* ── assets/styles/order-flow-refined.css ── */
/* Shared Bursa → İstanbul order surface: the entry screen's calm palette, one card per order. */
#page-new-orders { max-width:1320px; margin-inline:auto; padding-bottom:100px; }
#page-new-orders .card { padding:28px; border-radius:16px; box-shadow:0 3px 16px rgba(24,39,60,.035); }

.order-flow-layout { display:block; }

/* One toolbar: what to look at on the left, what to do on the right. */
.of-toolbar { display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; }
.of-toolbar .order-flow-tabs { margin:0; }
.of-tools { display:flex; align-items:center; gap:4px; flex-wrap:wrap; }
.of-tool { display:inline-flex; align-items:center; gap:7px; min-height:36px; padding:8px 11px; border:1px solid transparent; border-radius:9px; background:transparent; color:var(--desk-muted); font:inherit; font-size:11.5px; font-weight:500; cursor:pointer; transition:background .12s, color .12s, border-color .12s; }
.of-tool:hover { border-color:var(--desk-line); background:var(--desk-paper); color:var(--desk-ink); }
.of-tool svg { width:15px; height:15px; flex:0 0 15px; stroke-width:1.7; }
.of-print-start.is-active, .of-tool.is-active { border-color:color-mix(in srgb,var(--accent) 32%,var(--desk-line)); background:color-mix(in srgb,var(--accent) 8%,var(--desk-paper)); color:var(--accent); }

/* List */
.order-flow-list { display:flex; flex-direction:column; }
.of-bucket { display:flex; align-items:center; gap:8px; margin:22px 2px 10px; font-size:11px; font-weight:600; letter-spacing:.02em; color:var(--desk-muted); }
.of-bucket:first-child { margin-top:6px; }
.of-bucket-count { padding:2px 7px; border-radius:20px; background:var(--desk-soft); font-weight:500; }
.order-flow-empty { padding:26px 2px 32px; font-size:12px; line-height:1.7; color:var(--desk-muted); }

/* Selecting orders to print: quiet until it is switched on. */
.of-head-tools { display:flex; align-items:center; gap:4px; flex-shrink:0; flex-wrap:wrap; }
.of-print-bar { position:sticky; top:0; z-index:4; display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; margin-bottom:10px; padding:9px 12px; border:1px solid color-mix(in srgb,var(--accent) 26%,var(--desk-line)); border-radius:10px; background:color-mix(in srgb,var(--accent) 6%,var(--desk-paper)); color:var(--desk-ink); font-size:11px; }
.of-print-bar > div { display:flex; align-items:center; gap:8px; }
.of-print-cancel { border:0; background:transparent; color:var(--desk-muted); font:inherit; font-size:11px; cursor:pointer; }
.of-print-cancel:hover { color:var(--desk-ink); text-decoration:underline; }
.of-select { display:grid; place-items:center; width:22px; height:22px; flex:0 0 22px; margin-top:1px; border:1.5px solid var(--desk-line); border-radius:7px; background:var(--desk-paper); color:transparent; cursor:pointer; transition:border-color .12s, background .12s, color .12s; }
.of-select:hover { border-color:color-mix(in srgb,var(--accent) 45%,var(--desk-line)); }
.of-select svg { width:13px; height:13px; stroke-width:2.4; }
.of-select.is-selected { border-color:var(--accent); background:var(--accent); color:#fff; }
.order-flow-card.is-print-selected { border-color:color-mix(in srgb,var(--accent) 38%,var(--desk-line)); box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 22%,transparent); }

/* Card */
.order-flow-card { border:1px solid var(--desk-line); border-radius:12px; background:var(--desk-paper); margin-bottom:10px; overflow:hidden; }
.order-flow-card.is-opened { background:var(--desk-soft); }
.order-flow-card.is-mixed { background:color-mix(in srgb, var(--desk-soft) 42%, var(--desk-paper)); }
.of-head-side { display:flex; align-items:center; gap:10px; flex-shrink:0; flex-wrap:wrap; justify-content:flex-end; }
.of-price-empty { display:inline-grid; place-items:center; width:25px; height:25px; border:1px solid var(--desk-line); border-radius:50%; color:var(--desk-muted); background:transparent; font-size:12px; font-weight:500; opacity:.72; }
.is-edited-value { color:#9a6700 !important; }
html[data-theme="dark"] .is-edited-value { color:#f0b94b !important; }

/* The Egemen number a matched order received */
.of-match { display:inline-flex; align-items:baseline; gap:7px; padding:5px 10px; border:1px solid color-mix(in srgb, var(--accent) 32%, var(--desk-line)); border-radius:8px; background:color-mix(in srgb, var(--accent) 7%, var(--desk-paper)); color:inherit; font:inherit; white-space:nowrap; cursor:pointer; }
.of-match i { font-style:normal; font-size:10px; color:var(--desk-muted); }
.of-match b { font-size:13px; font-weight:600; color:var(--accent); font-variant-numeric:tabular-nums; }

.of-match.is-plain { border-color:var(--desk-line); background:var(--desk-soft); }
.of-match.is-plain b { color:var(--desk-muted); font-weight:500; }

/* Fabric lines */
.is-missing-spec { opacity:.62; font-style:italic; }
/* Keep the order code as a quiet leading column while details follow the fabric title. */
.of-review { margin:12px 18px 0; }
/* Bekleyen düzenleme: okunur tek satır + tek düğme (simge+ipucu yerine, 2026-11-03). */
.of-review-bar { display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; padding:9px 12px; border:1px solid color-mix(in srgb,var(--warning-fill) 34%,var(--desk-line)); border-radius:9px; background:color-mix(in srgb,var(--warning-fill) 8%,transparent); }
.of-review-bar > span { display:grid; gap:2px; min-width:0; }
.of-review-bar b { color:var(--desk-ink); font-size:12.5px; font-weight:600; }
.of-review-bar small { color:var(--desk-muted); font-size:11.5px; }
.of-review-bar em { color:var(--desk-muted); font-size:12px; font-style:normal; }

/* One calm basket on screen; every fabric remains an independently matchable order. */
.of-basket-head { position:relative; display:flex; align-items:flex-start; justify-content:space-between; gap:18px; padding:16px 18px 12px; }
/* Künye ile kumaş listesi arasındaki ayraç, satır ayraçlarının aynısıdır:
   aynı hairline, aynı 18px iç hiza. Kart içinde tek ritim kalsın. */
.of-basket-head::after { content:''; position:absolute; left:18px; right:18px; bottom:0; border-bottom:1px solid var(--desk-line); }
.of-basket-title { display:grid; grid-template-columns:minmax(0,1fr); align-items:baseline; gap:3px; flex:1 1 auto; min-width:0; }
.of-basket-title > div { display:flex; align-items:baseline; gap:10px; min-width:0; }
.of-basket-title > div > b { flex:0 0 auto; color:var(--desk-muted); font-size:12px; font-weight:600; font-variant-numeric:tabular-nums; }
.of-basket-title strong { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:var(--desk-ink); font-size:15px; font-weight:600; }
.of-basket-title > span:last-child { margin-top:2px; color:var(--desk-muted); font-size:11px; line-height:1.6; }
.of-basket-status { display:inline-flex; align-items:center; min-height:28px; padding:5px 9px; border:1px solid var(--desk-line); border-radius:8px; background:var(--desk-paper); color:var(--desk-muted); font-size:10px; font-weight:600; white-space:nowrap; }
.of-basket-status.is-complete { border-color:color-mix(in srgb, var(--accent) 25%, var(--desk-line)); color:var(--accent); }
.of-basket-orders { display:flex; flex-direction:column; gap:9px; margin-top:12px; padding:0 18px; }
.of-basket-order { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:start; gap:4px 12px; padding-bottom:9px; border-bottom:1px solid var(--desk-line); }
.of-basket-order:last-child { border-bottom:0; padding-bottom:0; }
.of-basket-order-main { display:grid; grid-template-columns:60px minmax(140px,1fr) auto minmax(42px,auto); align-items:start; gap:2px 12px; min-width:0; padding:0; border:0; background:transparent; color:inherit; font:inherit; text-align:left; cursor:pointer; }
.of-basket-order-main:hover .of-basket-copy strong { color:var(--accent); }
.of-basket-order-main:focus-visible, .of-basket-icon-btn:focus-visible { outline:2px solid var(--accent); outline-offset:3px; border-radius:5px; }
.of-basket-index { padding-top:1px; color:var(--desk-muted); font-size:10px; font-weight:650; font-variant-numeric:tabular-nums; white-space:nowrap; }
.of-basket-copy { display:flex; flex-direction:column; gap:2px; min-width:0; }
.of-basket-name { display:flex; align-items:center; gap:6px; min-width:0; }
.of-basket-copy strong { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:var(--desk-ink); font-size:13px; font-weight:550; transition:color .12s; }
.of-basket-copy small { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:var(--desk-muted); font-size:11px; line-height:1.55; }
.of-basket-copy small i { padding:0 4px; color:var(--desk-muted); font-style:normal; }
.of-basket-kg { padding-top:1px; color:var(--desk-ink); font-size:13px; font-weight:600; font-variant-numeric:tabular-nums; white-space:nowrap; }
.of-basket-price { min-width:88px; padding-top:1px; color:var(--accent); font-size:11px; font-weight:600; text-align:right; white-space:nowrap; }
.of-basket-price.is-missing { color:var(--desk-muted); }
.of-basket-price.is-value { display:inline-flex; align-items:center; justify-content:flex-end; gap:6px; margin:0 0 0 auto; padding:2px 4px 2px 6px; border:0; border-radius:6px; background:none; color:var(--desk-ink); font:inherit; font-size:13px; font-weight:600; font-variant-numeric:tabular-nums; white-space:nowrap; cursor:pointer; transition:background .14s ease; }
.of-basket-price.is-value:hover { background:color-mix(in srgb,var(--desk-ink) 7%,transparent); }
.of-basket-price.is-value:focus { outline:none; }
.of-basket-price.is-value:focus-visible { outline:2px solid var(--accent); outline-offset:1px; }
.of-price-fx-icon { user-select:none; width:18px; height:18px; flex:0 0 18px; color:var(--desk-muted); transition:color .14s ease, transform .3s ease; }
.of-basket-price.is-value:hover .of-price-fx-icon { color:var(--accent); }
.of-basket-price.is-converted .of-price-val { color:var(--accent); }
.of-basket-price.is-loading .of-price-fx-icon { animation:of-fx-spin .7s linear infinite; }
@keyframes of-fx-spin { to { transform:rotate(360deg); } }
@media (prefers-reduced-motion:reduce) { .of-basket-price.is-loading .of-price-fx-icon { animation:none; } }
.of-basket-price .of-price-empty { width:23px; height:23px; margin-left:auto; }
.of-basket-order-actions { display:flex; align-items:flex-start; justify-content:flex-end; gap:6px; }
.of-basket-match { padding:4px 8px; gap:5px; }
.of-basket-match b { font-size:11px; }
.of-basket-match-btn { min-height:30px; padding:5px 8px; font-size:10px; }
.of-basket-icon-btn { display:inline-grid; place-items:center; width:30px; height:30px; padding:0; border:1px solid transparent; border-radius:7px; background:transparent; color:var(--desk-muted); cursor:pointer; }
.of-basket-icon-btn:hover { border-color:var(--desk-line); background:var(--desk-paper); color:var(--desk-ink); }
.of-basket-icon-btn svg { width:14px; height:14px; stroke-width:1.7; }
.of-basket-order > .of-review,
.of-basket-order > .of-edit-history { grid-column:1 / -1; margin:0; }
.of-basket-footer { justify-content:flex-start; align-items:center; }

/* Edit state is deliberately quiet until opened. */
.of-edit-mark { display:inline-flex; align-items:center; gap:4px; flex:0 0 auto; max-width:150px; padding:2px 6px; border:1px solid var(--desk-line); border-radius:999px; background:var(--desk-paper); color:var(--desk-muted); font:inherit; font-size:9px; line-height:1.5; cursor:pointer; }
.of-edit-mark:hover, .of-edit-mark.is-open { background:var(--desk-soft); color:var(--desk-ink); }
.of-edit-mark svg { width:11px; height:11px; flex:0 0 11px; stroke-width:1.8; }
.of-edit-mark span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.of-edit-history { display:grid; gap:10px; margin:10px 18px 0; padding:12px 14px; border:1px solid var(--desk-line); border-radius:9px; background:var(--desk-soft); }
.of-edit-history-head { display:flex; align-items:baseline; gap:10px; }
.of-edit-history-head strong { color:var(--desk-ink); font-size:13px; font-weight:600; }
.of-edit-history-head span { flex:1; color:var(--desk-muted); font-size:12px; }
.of-edit-history-head .text-action { font-size:12px; }
.of-edit-history-item { display:grid; gap:4px; }
.of-edit-history-item + .of-edit-history-item { padding-top:8px; border-top:1px solid var(--desk-line); }
.of-edit-history-item > div { display:flex; align-items:baseline; gap:8px; flex-wrap:wrap; }
.of-edit-history-item strong { color:var(--desk-ink); font-size:12.5px; font-weight:600; }
.of-edit-history-item span { margin:0; color:var(--desk-muted); font-size:12px; line-height:1.5; }
.of-edit-history-item p { margin:0; color:var(--desk-ink); font-size:12.5px; line-height:1.6; }
.of-edit-history-item p i { padding:0 3px; color:var(--desk-muted); font-style:normal; }

.order-flow-card .qo-edit-actions { justify-content:flex-end; padding-top:4px; }
.order-flow-card .qo-edit-price.none { display:inline-grid; place-items:center; width:24px; height:24px; border:1px solid var(--desk-line); border-radius:50%; color:var(--desk-muted); font-weight:500; }

/* Basket-level editor: one calm workspace, selected fabric on the left. */
.qo-basket-editor { margin:14px 18px 18px; border:1px solid color-mix(in srgb,var(--accent) 22%,var(--desk-line)); border-radius:14px; background:var(--desk-paper); box-shadow:0 10px 26px -22px rgba(15,23,42,.55); overflow:hidden; }
.qo-editor-head { display:flex; align-items:center; justify-content:space-between; gap:14px; padding:14px 16px; border-bottom:1px solid var(--desk-line); background:color-mix(in srgb,var(--accent) 5%,var(--desk-paper)); }
.qo-editor-head-copy { display:flex; align-items:baseline; gap:10px; flex-wrap:wrap; min-width:0; }
.qo-editor-head-copy b { color:var(--desk-muted); font-size:11px; font-weight:650; font-variant-numeric:tabular-nums; }
.qo-editor-head-copy strong { color:var(--desk-ink); font-size:14px; font-weight:600; }
.qo-editor-head-copy small { color:var(--desk-muted); font-size:10px; }
.qo-editor-close { display:grid; place-items:center; width:30px; height:30px; flex:0 0 30px; border:1px solid transparent; border-radius:8px; background:transparent; color:var(--desk-muted); cursor:pointer; }
.qo-editor-close:hover { border-color:var(--desk-line); background:var(--desk-paper); color:var(--desk-ink); }
.qo-editor-close svg { width:15px; height:15px; stroke-width:1.8; }
.qo-basket-editor-layout { display:grid; grid-template-columns:212px minmax(0,1fr); align-items:stretch; }
.qo-editor-nav { display:flex; flex-direction:column; gap:4px; padding:12px 10px; border-right:1px solid var(--desk-line); background:color-mix(in srgb,var(--desk-soft) 45%,transparent); }
.qo-editor-nav-title { margin:0 0 4px; padding-inline:6px; color:var(--desk-muted); font-size:9px; font-weight:650; letter-spacing:.09em; text-transform:uppercase; }
.qo-fabric-tab { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:2px 8px; width:100%; padding:9px 10px; border:1px solid transparent; border-radius:9px; background:transparent; color:var(--desk-muted); font:inherit; text-align:left; cursor:pointer; transition:background .12s, border-color .12s, color .12s; }
.qo-fabric-tab:hover { border-color:var(--desk-line); background:var(--desk-paper); color:var(--desk-ink); }
.qo-fabric-tab.is-selected { border-color:color-mix(in srgb,var(--accent) 32%,var(--desk-line)); background:color-mix(in srgb,var(--accent) 8%,var(--desk-paper)); color:var(--desk-ink); }
.qo-fabric-tab b { grid-column:1; color:var(--desk-muted); font-size:9px; font-weight:650; font-variant-numeric:tabular-nums; }
.qo-fabric-tab.is-selected b { color:var(--accent); }
.qo-fabric-tab span { grid-column:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:11.5px; font-weight:600; }
.qo-fabric-tab em { grid-column:2; grid-row:1 / span 2; align-self:center; color:var(--desk-muted); font-style:normal; font-size:10px; font-weight:600; font-variant-numeric:tabular-nums; white-space:nowrap; }
.qo-fabric-tab i { grid-column:2; grid-row:1; justify-self:end; color:var(--accent); font-style:normal; font-size:11px; }
.qo-fabric-tab.is-add { grid-template-columns:18px minmax(0,1fr); margin-top:8px; padding-block:10px; border-style:dashed; border-color:var(--desk-line); color:var(--desk-muted); }
.qo-fabric-tab.is-add b { grid-column:1; grid-row:1; align-self:center; font-size:15px; line-height:1; }
.qo-fabric-tab.is-add span { grid-column:2; grid-row:1; font-size:11px; font-weight:600; }
.qo-fabric-tab.is-add:hover, .qo-fabric-tab.is-add.is-selected { border-style:solid; color:var(--desk-ink); }
.qo-basket-editor-body { display:flex; flex-direction:column; gap:16px; min-width:0; padding:16px 18px 14px; }
.qo-basket-form { display:flex; flex-direction:column; gap:16px; }
.qo-basket-form + .qo-basket-form { padding-top:16px; border-top:1px solid var(--desk-line); }
.qo-editor-section { display:grid; gap:9px; }
.qo-section-title { margin:0; color:var(--desk-muted); font-size:9px; font-weight:650; letter-spacing:.09em; text-transform:uppercase; }
.qo-basket-fields { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; }
.qo-field { display:flex; flex-direction:column; gap:5px; min-width:0; }
.qo-field.is-wide { grid-column:span 2; }
.qo-field > span:first-child { color:var(--desk-muted); font-size:10px; font-weight:600; }
.qo-field-input { position:relative; display:block; }
.qo-field input, .qo-relocate select { width:100%; min-width:0; min-height:40px; padding:9px 11px; border:1px solid var(--desk-line); border-radius:9px; background:var(--desk-soft); color:var(--desk-ink); font:inherit; font-size:12.5px; outline:none; transition:border-color .12s, background .12s, box-shadow .12s; }
.qo-field.has-unit input { padding-right:38px; }
.qo-field-input i { text-transform:none; letter-spacing:0; position:absolute; top:50%; right:11px; transform:translateY(-50%); color:var(--desk-muted); font-style:normal; font-size:10px; pointer-events:none; }
.qo-field input:focus, .qo-relocate select:focus { border-color:color-mix(in srgb,var(--accent) 55%,var(--desk-line)); background:var(--desk-paper); box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 12%,transparent); }
.qo-form-choices { display:flex; align-items:center; gap:7px; flex-wrap:wrap; }
.qo-form-choice { display:inline-flex; align-items:center; gap:7px; min-height:38px; padding:7px 13px; border:1px solid var(--desk-line); border-radius:9px; background:var(--desk-soft); color:var(--desk-muted); font:inherit; font-size:11.5px; font-weight:600; cursor:pointer; transition:background .12s, border-color .12s, color .12s; }
.qo-form-choice > span { width:13px; height:13px; border:1px solid currentColor; border-radius:50%; box-shadow:inset 0 0 0 3.5px var(--desk-soft); }
.qo-form-choice:hover { border-color:color-mix(in srgb,var(--accent) 24%,var(--desk-line)); background:var(--desk-paper); color:var(--desk-ink); }
.qo-form-choice.is-selected { border-color:color-mix(in srgb,var(--accent) 42%,var(--desk-line)); background:color-mix(in srgb,var(--accent) 9%,var(--desk-paper)); color:var(--accent); }
.qo-form-choice.is-selected > span { background:var(--accent); box-shadow:inset 0 0 0 2.5px color-mix(in srgb,var(--accent) 9%,var(--desk-paper)); }

/* Moving a fabric elsewhere is one quiet line, not a second form. */
.qo-relocate { display:flex; align-items:center; gap:8px; flex-wrap:wrap; padding:9px 12px; border:1px solid var(--desk-line); border-radius:10px; background:color-mix(in srgb,var(--desk-soft) 55%,transparent); }
.qo-relocate-label, .qo-relocate-or { color:var(--desk-muted); font-size:11px; }
.qo-relocate select { min-height:34px; max-width:230px; padding:6px 26px 6px 10px; border:1px solid var(--desk-line); border-radius:8px; background:var(--desk-paper); color:var(--desk-ink); font:inherit; font-size:11.5px; outline:none; }
.qo-relocate select:focus { border-color:color-mix(in srgb,var(--accent) 55%,var(--desk-line)); box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 12%,transparent); }
.qo-relocate .btn { min-height:34px; padding:7px 12px; font-size:11.5px; }
.qo-relocate.is-locked { margin:0; color:var(--desk-muted); font-size:11px; }
.qo-relocate.is-locked svg { width:13px; height:13px; flex:0 0 13px; stroke-width:1.7; }
.qo-editor-foot { display:flex; align-items:center; justify-content:space-between; gap:14px; flex-wrap:wrap; padding-top:13px; border-top:1px solid var(--desk-line); }
.qo-editor-foot > small { color:var(--desk-muted); font-size:10px; }
.qo-editor-foot > small.qo-editor-approval { color:var(--desk-accent); font-size:11px; font-weight:600; max-width:60ch; }
.qo-basket-editor .qo-edit-actions { display:flex; align-items:center; justify-content:flex-end; gap:8px; margin:0; padding:0; }
.qo-basket-editor .qo-edit-actions .btn { min-height:40px; padding:9px 16px; font-size:11.5px; }

/* Actions */
.of-actions { display:flex; flex-wrap:wrap; gap:6px; margin-top:14px; padding:12px 18px; border-top:1px solid var(--desk-line); background:color-mix(in srgb, var(--desk-soft) 60%, transparent); }
.of-act { display:inline-flex; align-items:center; gap:6px; min-height:34px; padding:7px 11px; border:1px solid transparent; border-radius:8px; background:transparent; color:var(--desk-muted); font:inherit; font-size:11px; font-weight:500; cursor:pointer; transition:background .12s, color .12s, border-color .12s; }
.of-act svg { width:14px; height:14px; stroke-width:1.7; flex-shrink:0; }
.of-act:hover { background:var(--desk-paper); border-color:var(--desk-line); color:var(--desk-ink); }
.of-act:focus-visible { outline:2px solid var(--accent); outline-offset:1px; }
.of-act.is-primary { border-color:color-mix(in srgb, var(--accent) 30%, var(--desk-line)); color:var(--accent); background:var(--desk-paper); font-weight:600; }
.of-act.is-primary:hover { background:color-mix(in srgb, var(--accent) 9%, var(--desk-paper)); }
.of-act.is-danger:hover { color:var(--danger); border-color:color-mix(in srgb, var(--danger) 28%, var(--desk-line)); }

/* Onay bekleyen otomatik öneri: aynı rozet, yalnızca rengi uyarı tonunda. */
.of-match.is-review { border-color:color-mix(in srgb,var(--warning,#d98324) 38%,var(--desk-line)); background:color-mix(in srgb,var(--warning,#d98324) 8%,var(--desk-paper)); }
.of-match.is-review b { color:var(--warning,#d98324); }
.of-basket-status.is-review { color:var(--warning,#d98324); }

/* Match picker */
.order-flow-match-dialog { width:min(640px,94vw); max-height:86vh; border:1px solid var(--desk-line); border-radius:14px; padding:0; background:var(--desk-paper); color:var(--desk-ink); overflow:hidden; }
.order-flow-match-dialog[open] { display:flex; flex-direction:column; }
.order-flow-match-dialog::backdrop { background:rgba(21,34,57,.5); }
.order-flow-match-head { display:flex; align-items:flex-start; gap:14px; padding:20px 22px 14px; border-bottom:1px solid var(--desk-line); }
.order-flow-match-head > div { flex:1; min-width:0; }
.order-flow-match-head strong { font-size:17px; font-weight:600; }
.order-flow-match-head p { margin:5px 0 0; font-size:12px; color:var(--desk-muted); line-height:1.5; overflow-wrap:anywhere; }
.order-flow-match-hint { margin:14px 22px 0; font-size:11px; line-height:1.6; color:var(--desk-muted); }
.order-flow-match-current { display:flex; align-items:center; justify-content:space-between; gap:14px; margin:14px 22px 0; padding:12px 14px; border:1px solid var(--desk-line); border-radius:12px; background:var(--desk-soft); }
.order-flow-match-current.is-review { border-color:color-mix(in srgb,var(--warning,#d98324) 34%,var(--desk-line)); }
.order-flow-match-current > div:first-child { min-width:0; display:grid; gap:2px; }
.order-flow-match-current span { color:var(--desk-muted); font-size:10px; font-weight:650; letter-spacing:.05em; text-transform:uppercase; }
.order-flow-match-current.is-review span { color:var(--warning,#d98324); }
.order-flow-match-current strong { color:var(--desk-ink); font-size:16px; font-weight:650; font-variant-numeric:tabular-nums; }
.order-flow-match-current small { color:var(--desk-muted); font-size:11px; line-height:1.5; overflow-wrap:anywhere; }
.order-flow-match-current-actions { display:flex; align-items:center; gap:8px; flex-shrink:0; flex-wrap:wrap; justify-content:flex-end; }
@media(max-width:600px) {
  .order-flow-match-current { align-items:stretch; flex-direction:column; margin-inline:16px; }
  .order-flow-match-current-actions { justify-content:flex-start; }
}
.order-flow-match-dialog .order-flow-match-search { box-sizing:border-box; margin:12px 22px; width:calc(100% - 44px); min-height:44px; padding:10px 14px; border:1px solid var(--desk-line); border-radius:9px; background:var(--desk-soft); color:var(--desk-ink); font:inherit; font-size:13px; }
.order-flow-candidates { flex:1; overflow:auto; padding:0 14px 18px; }
.order-flow-candidate { display:flex; align-items:center; gap:12px; width:100%; text-align:left; padding:12px; border:1px solid transparent; border-radius:10px; background:transparent; color:var(--desk-ink); font:inherit; cursor:pointer; }
.order-flow-candidate:hover { background:var(--desk-soft); border-color:var(--desk-line); }
.order-flow-candidate.is-bundle { margin-bottom:6px; border-color:color-mix(in srgb, var(--desk-accent) 34%, var(--desk-line)); background:color-mix(in srgb, var(--desk-accent) 7%, transparent); }
.order-flow-candidate.is-bundle:hover { border-color:var(--desk-accent); background:color-mix(in srgb, var(--desk-accent) 12%, transparent); }
/* Zorla elle numara: listenin sonunda, kesik çizgiyle ayrılmış aynı satır. */
.order-flow-candidate.is-forced { margin-top:6px; border:1px dashed var(--desk-line); }
.order-flow-candidate.is-forced:hover { border-color:var(--desk-accent); }
.ofc-no { font-size:12px; font-weight:600; color:var(--desk-muted); font-variant-numeric:tabular-nums; white-space:nowrap; }
.ofc-body { flex:1; min-width:0; display:flex; flex-direction:column; gap:3px; }
.ofc-body strong { font-size:13px; font-weight:550; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.ofc-body small { font-size:11px; color:var(--desk-muted); }
.ofc-marks { display:flex; gap:4px; flex-shrink:0; }
.ofc-marks i { font-style:normal; font-size:10px; padding:3px 7px; border-radius:20px; background:color-mix(in srgb, var(--accent) 10%, var(--desk-paper)); color:var(--accent); }

/* Kart başlığının tamamı kumaş büyütecini açar. Görünüm değişmez: yalnız imleç
   işaretçiye döner, klavye için müşteri adı odaklanabilir kalır. */
.of-basket-head.is-open-head { cursor:pointer; }
.of-basket-head.is-open-head :is(button,a,input,label) { cursor:auto; }
.of-basket-head.is-open-head .of-select { cursor:pointer; }
.of-head-open { border-radius:5px; text-decoration:underline; text-decoration-color:transparent; text-underline-offset:4px; text-decoration-thickness:1.5px; transition:color .13s ease, text-decoration-color .13s ease; }
.of-basket-head.is-open-head:hover .of-head-open { color:var(--accent); text-decoration-color:currentColor; }
.of-head-open:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
@media (prefers-reduced-motion: reduce) { .of-head-open { transition:none; } }
.of-basket-note { font-style:italic; }

/* Kumaş büyüteci */
/* Diyalog tüm ekranı kaplar; kutunun dışına yapılan tıklama kapatır. */
.order-flow-glance-dialog { inset:0; width:100vw; max-width:100vw; height:100dvh; max-height:100dvh; margin:0; padding:18px; border:0; background:transparent; color:var(--desk-ink); overflow:hidden; }
.order-flow-glance-dialog[open] { display:flex; align-items:center; justify-content:center; }
.order-flow-glance-dialog::backdrop { background:rgba(21,34,57,.55); }
.of-glance-body { display:flex; flex-direction:column; width:min(720px,100%); max-height:88vh; border:1px solid var(--desk-line); border-radius:18px; background:var(--desk-paper); overflow:hidden; box-shadow:0 24px 70px rgba(15,24,42,.32); }
.of-glance-head { position:relative; padding:22px 58px 18px 26px; border-bottom:1px solid var(--desk-line); }
.of-glance-head > div { display:flex; align-items:baseline; gap:12px; min-width:0; flex-wrap:wrap; }
.of-glance-head b { color:var(--desk-muted); font-size:14px; font-weight:600; font-variant-numeric:tabular-nums; }
.of-glance-head strong { min-width:0; color:var(--desk-ink); font-size:24px; font-weight:640; letter-spacing:-.02em; overflow-wrap:anywhere; }
.of-glance-head > span { display:block; margin-top:6px; color:var(--desk-muted); font-size:12px; }
.of-glance-close { position:absolute; top:18px; right:18px; display:grid; place-items:center; width:32px; height:32px; padding:0; border:1px solid transparent; border-radius:9px; background:transparent; color:var(--desk-muted); font-size:14px; line-height:1; cursor:pointer; }
.of-glance-close:hover { border-color:var(--desk-line); background:var(--desk-soft); color:var(--desk-ink); }
.of-glance-close:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
.of-glance-list { flex:1; overflow:auto; padding:6px 26px 8px; }
.of-glance-row { display:grid; grid-template-columns:76px minmax(0,1fr) auto; align-items:start; gap:6px 16px; padding:16px 0; border-bottom:1px solid var(--desk-line); }
.of-glance-row:last-child { border-bottom:0; }
.of-glance-code { padding-top:6px; color:var(--desk-muted); font-size:11px; font-weight:650; font-variant-numeric:tabular-nums; white-space:nowrap; }
.of-glance-copy { display:flex; flex-direction:column; gap:4px; min-width:0; }
.of-glance-copy strong { color:var(--desk-ink); font-size:19px; font-weight:600; line-height:1.3; letter-spacing:-.01em; overflow-wrap:anywhere; }
.of-glance-color { color:var(--desk-ink); font-size:16px; font-weight:600; overflow-wrap:anywhere; }
.of-glance-color.is-missing { color:var(--desk-muted); font-weight:450; font-style:italic; }
/* Form, gramaj ve en planlamacının en çok okuduğu satır: küçük gri değil, okunur boyda. */
.of-glance-copy small { color:color-mix(in srgb,var(--desk-ink) 72%,transparent); font-size:15px; font-weight:500; line-height:1.6; overflow-wrap:anywhere; }
.of-glance-note { color:var(--desk-muted); font-size:13px; font-style:italic; }
/* RPT kaynak numarası: aynı satır ailesinde, başında sakin bir etiketle. */
.of-glance-rpt { display:inline-flex; align-items:baseline; gap:7px; color:var(--desk-ink); font-size:14px; font-weight:550; font-variant-numeric:tabular-nums; }
.of-glance-rpt i { color:var(--desk-muted); font-size:10px; font-weight:700; font-style:normal; letter-spacing:.08em; }
/* RPT numarası kaynak siparişe götürür: yazıyla aynı boyda, yalnız imleç ve
   üzerine gelince görünen ince alt çizgi bunu belli eder. */
.of-rpt-link { padding:0; border:0; background:none; color:inherit; font:inherit; cursor:pointer; }
.of-rpt-link:hover { color:var(--accent); text-decoration:underline; text-underline-offset:3px; text-decoration-thickness:1px; }
.of-rpt-link:focus-visible { outline:2px solid var(--accent); outline-offset:2px; border-radius:4px; }
.of-glance-rpt .of-rpt-link { font:inherit; }
.of-basket-copy small .of-rpt-link { font:inherit; }
.of-glance-kg { display:flex; align-items:baseline; gap:5px; color:var(--desk-ink); font-size:26px; font-weight:650; font-variant-numeric:tabular-nums; white-space:nowrap; letter-spacing:-.02em; }
.of-glance-kg i { color:var(--desk-muted); font-size:12px; font-weight:600; font-style:normal; letter-spacing:.04em; }
.of-glance-total { display:flex; align-items:baseline; justify-content:space-between; gap:14px; padding:16px 26px 20px; border-top:1px solid var(--desk-line); background:var(--desk-soft); }
.of-glance-total > span { color:var(--desk-muted); font-size:12px; font-weight:600; letter-spacing:.06em; text-transform:uppercase; }
.of-glance-total b { display:flex; align-items:baseline; gap:5px; color:var(--desk-ink); font-size:24px; font-weight:680; font-variant-numeric:tabular-nums; }
.of-glance-total b i { color:var(--desk-muted); font-size:12px; font-weight:600; font-style:normal; }

@media(max-width:600px) {
  #page-new-orders .card { padding:20px 16px; }
  #page-new-orders .order-flow-tabs { display:flex; width:100%; gap:2px; }
  #page-new-orders .order-flow-tab { flex:1; justify-content:center; min-width:0; gap:4px; padding-inline:5px; font-size:10.5px; }
  .of-head-side { justify-content:flex-start; }
  .of-actions { padding:10px 12px; }
  .order-flow-match-dialog .order-flow-match-search { width:calc(100% - 28px); margin-inline:14px; }
  .of-basket-head { flex-direction:column; gap:9px; padding-inline:14px; }
  .of-basket-head::after { left:14px; right:14px; }
  .of-basket-head .of-head-side { width:100%; }
  .of-basket-orders { margin-left:14px; margin-right:14px; padding-left:0; padding-right:0; }
  .of-basket-order { grid-template-columns:minmax(0,1fr); gap:8px; }
  .of-basket-order-main {  gap:8px; }
  .of-basket-copy small { overflow:visible; white-space:normal; line-height:1.5; }
  
  .of-basket-order-actions { justify-content:flex-start;   }

  .qo-basket-editor { margin-inline:12px; }
  .qo-basket-editor-layout { grid-template-columns:1fr; }
  .qo-editor-nav { flex-direction:row; gap:6px; overflow-x:auto; padding:10px; border-right:0; border-bottom:1px solid var(--desk-line); }
  .qo-editor-nav-title { display:none; }
  .qo-fabric-tab { flex:0 0 150px; }
  .qo-fabric-tab.is-add { flex:0 0 140px; margin-top:0; }
  .qo-basket-editor-body { padding:14px; }
  .qo-basket-fields { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .qo-basket-fields .qo-field.is-wide { grid-column:1 / -1; }
  .qo-relocate { align-items:stretch; flex-direction:column; gap:7px; }
  .qo-relocate select, .qo-relocate .btn { max-width:none; }
  .qo-relocate-label { color:var(--desk-ink); font-weight:600; }
  .qo-relocate-or { display:none; }
  .qo-editor-foot { align-items:stretch; flex-direction:column; }
  .qo-basket-editor .qo-edit-actions .btn { flex:1; justify-content:center; }
  .of-glance-head { padding:18px 52px 14px 16px; }
  .of-glance-head strong { font-size:20px; }
  .of-glance-list { padding:4px 16px 6px; }
  .of-glance-row { grid-template-columns:minmax(0,1fr) auto; gap:4px 12px; padding:14px 0; }
  .of-glance-code { grid-column:1 / -1; padding-top:0; }
  .of-glance-copy strong { font-size:17px; }
  .of-glance-color { font-size:15px; }
  .of-glance-copy small { font-size:14px; }
  .of-glance-kg { font-size:22px; }
  .of-glance-total { padding:14px 16px 18px; }
}

/* ─── Yeni sipariş listeleri: sade üst şerit (2026-09-23) ──────────────────
   Başlık bandı kalktı (TASARIM-DILI §4.8). Filtre şeridi kart içinde ikinci
   bir kutu değildir (§4.3): arama önde ve geniş, iki seçici yanında. Sayaçlar
   altta tek sessiz satır. */
:is(#page-order-entry,#page-new-orders) .list-filter-bar.of-filter-bar { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,180px) minmax(0,180px); gap:var(--space-2); margin:var(--space-4) 0 var(--space-2); padding:0; border:0; border-radius:0; background:none; box-shadow:none; }
:is(#page-order-entry,#page-new-orders) .list-filter-bar.of-filter-bar :is(input,select) { width:100%; min-width:0; min-height:38px; padding:8px 12px; border:1px solid var(--desk-line); border-radius:10px; background:var(--desk-soft); color:var(--desk-ink); font:inherit; font-size:var(--type-control,13px); box-shadow:none; }
:is(#page-order-entry,#page-new-orders) .list-filter-bar.of-filter-bar :is(input,select):focus { outline:none; border-color:color-mix(in srgb,var(--accent) 55%,var(--desk-line)); background:var(--desk-paper); box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 12%,transparent); }
:is(#page-order-entry,#page-new-orders) .list-filter-bar.of-filter-bar input::placeholder { color:var(--desk-muted); }
:is(#page-order-entry,#page-new-orders) .list-filter-bar.of-filter-bar > .field-clear-wrap { min-width:0; width:100%; }
.of-list-meta { display:flex; align-items:baseline; justify-content:space-between; gap:var(--space-3); margin:0 2px var(--space-1); color:var(--desk-muted); font-size:var(--type-meta,12px); font-variant-numeric:tabular-nums; }
.of-list-meta b { color:var(--desk-ink); font-weight:650; }
.of-list-meta-side { white-space:nowrap; }
#page-new-orders .order-flow-layout { padding-top:var(--space-2); }
#page-order-entry #quickOrderTabMeta { color:var(--desk-muted); font-size:var(--type-meta,12px); font-variant-numeric:tabular-nums; }

/* Filtre yüzünden boş liste: tek cümle + tek geri dönüş yolu. */
.order-flow-empty.is-filtered { display:flex; align-items:baseline; gap:var(--space-3); flex-wrap:wrap; }
.of-empty-clear { padding:0; border:0; background:none; color:var(--accent); font:inherit; font-size:var(--type-meta,12px); font-weight:600; cursor:pointer; }
.of-empty-clear:hover { text-decoration:underline; text-underline-offset:3px; }
.of-empty-clear:focus-visible { outline:2px solid var(--accent); outline-offset:2px; border-radius:4px; }

/* Kart alt şeridi: dört-altı düğme her kartta tam tonda durunca liste bir
   düğme duvarına dönüyordu. İmleçli cihazda şerit sakin durur, kartın üzerine
   gelince ya da klavyeyle içine girince tam tona çıkar (§3.6: hover'da simge
   eylemler). Dokunmatikte hep tam tondadır. */
.order-flow-card .of-actions { margin-top:12px; padding:8px 12px; background:transparent; }
@media (hover:hover) and (pointer:fine) {
  .order-flow-card .of-actions .of-act { opacity:.7; transition:opacity .15s ease, background .12s, color .12s, border-color .12s; }
  .order-flow-card:is(:hover,:focus-within) .of-actions .of-act { opacity:1; }
}
@media (prefers-reduced-motion:reduce) { .order-flow-card .of-actions .of-act { transition:none; } }

/* Kilo sütunu kartlar arasında hizalı durur: eylem sütunu en geniş hâline
   (öneri + Onayla + gözden geçir + aç) göre sabit, kg sağa yaslı sabit genişlik.
   Eskiden her satırın kg'si eylem genişliğine göre farklı yerdeydi. */
@media(min-width:761px) {
  .of-basket-order { grid-template-columns:minmax(0,1fr) 292px; }
  .of-basket-order-main { grid-template-columns:60px minmax(140px,1fr) 96px minmax(42px,auto); }
  .of-basket-kg { text-align:right; }
  .of-basket-order-actions { min-width:0; flex-wrap:nowrap; }
  .of-basket-order-actions > .of-basket-match { min-width:0; overflow:hidden; }
  .of-basket-order-actions > .of-basket-match b { overflow:hidden; text-overflow:ellipsis; }
}
@media(max-width:760px) {
  :is(#page-order-entry,#page-new-orders) .list-filter-bar.of-filter-bar { grid-template-columns:repeat(2,minmax(0,1fr)); }
  /* Arama kutusu JS ile .field-clear-wrap içine sarılabilir; ızgara öğesi ilk çocuktur. */
  :is(#page-order-entry,#page-new-orders) .list-filter-bar.of-filter-bar > :first-child { grid-column:1 / -1; }
  :is(#page-order-entry,#page-new-orders) .list-filter-bar.of-filter-bar input { min-height:44px; font-size:16px; }
  :is(#page-order-entry,#page-new-orders) .list-filter-bar.of-filter-bar select { min-height:44px; font-size:16px; }
  .of-list-meta { flex-direction:column; gap:2px; }
  .of-list-meta-side { white-space:normal; }
}
@media(max-width:600px) {
  /* Satır: kod · kumaş · kg; fiyat kg'nin altında. Eylemler tek satırda kalır,
     eşleşme rozeti daralır; sağdaki "detayı aç" oku satırın kendisi zaten
     açtığı için düşer (tek başına alt satıra iniyordu). */
  .of-basket-order-main { grid-template-columns:56px minmax(0,1fr) auto; }
  .of-basket-kg { grid-column:3; grid-row:1; text-align:right; }
  .of-basket-price { grid-column:3; grid-row:2; min-width:0; text-align:right; }
  .of-basket-price .of-price-empty { margin-left:auto; }
  .of-basket-order-actions { flex-wrap:nowrap; min-width:0; padding-left:64px; }
  .of-basket-order-actions > .of-basket-match { min-width:0; overflow:hidden; }
  .of-basket-order-actions > .of-basket-match b { overflow:hidden; text-overflow:ellipsis; }
  .of-basket-order-actions > .of-basket-icon-btn:last-child { display:none; }
  /* Alt şerit sıkı: dört eylem tek satıra sığar. Bursa'nın altı eylemi iki
     satıra iner ama hiçbiri (özellikle Sil) kaydırmanın arkasına saklanmaz. */
  .order-flow-card .of-actions { gap:2px; padding:6px 8px; }
  .order-flow-card .of-actions .of-act { flex:0 0 auto; padding-inline:9px; }
}
/* Çok kumaşlı sipariş: her kumaş kendi satırında (ad + özellik), ince ayraçla. */

/* Aynı siparişin ikinci/üçüncü kumaşı: sepetteki ayrı sipariş satırıyla aynı düzen, çizgi tam genişlik. */
.of-basket-order-main.is-fabric-continuation { position:relative; margin-top:10px; padding-top:10px; }
.of-basket-order-main.is-fabric-continuation::before { content:""; position:absolute; top:0; left:0; right:-100vw; border-top:1px solid var(--desk-line); pointer-events:none; }
.of-basket-order:has(.of-basket-order-rows) { overflow-x:clip; }
.of-basket-order-rows { display:flex; flex-direction:column; min-width:0; }

/* Kumaş bazında eşleşme (2026-09-28): çok kumaşlı siparişte her kumaş satırı
   kendi eylem sütunuyla ızgarada bir çift doldurur (satır | eylemler). */
.of-basket-order.is-multi-line { overflow-x:clip; }
@media(min-width:761px) {
  .of-basket-order.is-multi-line { row-gap:0; }
  .of-basket-order-actions.is-fabric-continuation { margin-top:10px; padding-top:10px; }
}
@media(max-width:760px) {
  .of-basket-order.is-multi-line { row-gap:8px; }
}

/* Çok renkli kumaş (2026-10-11): renkler sipariş detayındaki gibi alt alta;
   ad kumaş sütununda, kilo KG sütununda (subgrid ile aynı hizada). Kumaş
   satırındaki KG = renklerin toplamı. */
.of-color-list { grid-column:2 / 4; display:grid; grid-template-columns:subgrid; margin-top:6px; }
.of-color-row { grid-column:1 / -1; display:grid; grid-template-columns:subgrid; align-items:baseline; padding:5px 0; border-top:1px solid color-mix(in srgb,var(--desk-line) 70%,transparent); }
.of-color-row > span { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:var(--desk-ink); font-size:12px; font-weight:500; }
.of-color-row > span.is-missing-spec { color:var(--desk-muted); font-style:italic; font-weight:450; }
.of-color-row > b { color:color-mix(in srgb,var(--desk-ink) 78%,transparent); font-size:12px; font-weight:550; font-variant-numeric:tabular-nums; white-space:nowrap; text-align:right; }
.of-color-row > b i { font-style:normal; color:var(--desk-muted); font-size:10px; font-weight:600; }
/* Rengin kendi ERP numarası kod sütununda, rengin solunda (DA1-1 BEYAZ ← 00521). */
.of-color-list.has-lead { grid-column:1 / 4; }
.of-color-row > .of-color-lead { display:flex; flex-direction:column; align-items:flex-start; gap:4px; overflow:visible; }
.of-glance-colors { display:flex; flex-direction:column; gap:2px; margin:2px 0; }
.of-glance-colors > span { display:flex; align-items:baseline; justify-content:space-between; gap:16px; padding:3px 0; border-top:1px solid color-mix(in srgb,var(--desk-line) 70%,transparent); }
.of-glance-colors > span:first-child { border-top:0; }
.of-glance-colors b { color:var(--desk-ink); font-size:15px; font-weight:600; font-variant-numeric:tabular-nums; white-space:nowrap; }

/* Düzenleyicide renkler (2026-10-11): renk · kg · × satırları alt alta. */
.qo-section-title span { margin-left:6px; color:var(--desk-muted); font-weight:500; letter-spacing:0; text-transform:none; font-size:10.5px; }
.qo-color-rows { display:grid; gap:8px; }
.qo-color-row { display:grid; grid-template-columns:minmax(0,1fr) 150px 30px; align-items:center; gap:10px; }
.qo-color-row input { width:100%; min-width:0; min-height:40px; padding:9px 11px; border:1px solid var(--desk-line); border-radius:9px; background:var(--desk-soft); color:var(--desk-ink); font:inherit; font-size:12.5px; outline:none; transition:border-color .12s, background .12s, box-shadow .12s; }
.qo-color-row .qo-field-input input { padding-right:38px; text-align:right; font-variant-numeric:tabular-nums; }
.qo-color-row input:focus { border-color:color-mix(in srgb,var(--accent) 55%,var(--desk-line)); background:var(--desk-paper); box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 12%,transparent); }
.qo-color-remove { display:grid; place-items:center; width:30px; height:30px; padding:0; border:0; border-radius:7px; background:transparent; color:var(--desk-muted); cursor:pointer; }
.qo-color-remove svg { width:13px; height:13px; fill:none; }
.qo-color-remove:hover { background:var(--desk-soft); color:var(--danger); }
.qo-color-add { justify-self:start; margin-top:4px; }
@media (max-width:600px) { .qo-color-row { grid-template-columns:minmax(0,1fr) 110px 30px; gap:8px; } }
/* Eşleştirme penceresi (2026-10-11): renkler kiloyla küçük haplar; taslakla
   ortak renk vurgu tonunda — planlamacı renk renk karşılaştırır. */
.ofc-colors { display:flex; flex-wrap:wrap; gap:4px; margin-top:2px; }
.ofc-colors > span { padding:1px 7px; border-radius:6px; background:var(--desk-soft); color:var(--desk-muted); font-size:10.5px; font-weight:550; line-height:1.6; white-space:nowrap; }
.ofc-colors > span b { font-weight:650; color:var(--desk-ink); font-variant-numeric:tabular-nums; }
.ofc-colors > span.is-shared { background:color-mix(in srgb, var(--accent) 12%, transparent); color:var(--accent); }
.ofc-colors > span.is-shared b { color:var(--accent); }
.order-flow-match-head .order-flow-match-colors { margin-top:8px; }
.order-flow-card .of-basket-title .ci-badge{flex:0 0 auto;margin:0}

/* ─── B1: sakin sağ sütun (2026-10-17) ─────────────────────────────────────
   Kart iki sütundur: solda başlık + kumaşlar, sağda tarih · toplam kilo ·
   eşleşme durumu (tek satır, nokta) · simge araçlar. Eşleşme arka plandadır:
   rozet/dolu düğme yok; elle eşle yalnız bulunamayan kumaşta sessiz metin. */
.order-flow-card.is-split { display:grid; grid-template-columns:minmax(0,1fr) 176px; align-items:stretch; }
.order-flow-card.is-split > .of-basket-head,
.order-flow-card.is-split > .of-basket-orders { grid-column:1; }
.order-flow-card.is-split > .of-basket-orders { padding-bottom:16px; }
.order-flow-card.is-split > .qo-basket-editor { grid-column:1 / -1; }
.order-flow-card.is-split > .of-side { grid-column:2; grid-row:1 / span 2; }
.of-side { display:flex; flex-direction:column; gap:var(--space-1); min-width:0; padding:16px 12px 10px 16px; border-left:1px solid var(--desk-line); }
.of-side-date { color:var(--desk-muted); font-size:var(--type-caption,11px); font-variant-numeric:tabular-nums; }
.of-side-kg { color:var(--desk-ink); font-size:22px; font-weight:650; font-variant-numeric:tabular-nums; letter-spacing:-.02em; line-height:1.25; white-space:nowrap; }
.of-side-kg i { color:var(--desk-muted); font-size:var(--type-caption,11px); font-weight:600; font-style:normal; letter-spacing:.04em; }
.order-flow-card.is-split .of-basket-status { display:flex; align-items:center; gap:6px; min-height:0; padding:0; border:0; background:none; color:var(--desk-muted); font-size:var(--type-caption,11px); font-weight:500; white-space:normal; }
.order-flow-card.is-split .of-basket-status::before { content:""; flex:0 0 7px; width:7px; height:7px; border-radius:50%; background:color-mix(in srgb,var(--desk-muted) 55%,transparent); }
.order-flow-card.is-split .of-basket-status.is-complete::before { background:var(--success); }
.order-flow-card.is-split .of-basket-status.is-review::before { background:var(--warning); }
.order-flow-card.is-split .of-basket-status.is-complete { color:var(--desk-muted); }
.order-flow-card.is-split .of-side .of-actions { display:flex; flex-wrap:wrap; gap:2px; margin:auto 0 0 -6px; padding:var(--space-3) 0 0; border:0; background:none; }
.order-flow-card.is-split .of-side .of-act { width:30px; min-height:30px; padding:0; justify-content:center; }
.order-flow-card.is-split .of-side .of-act svg { width:16px; height:16px; }
.of-act-label { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
/* Kumaş satırı: eşleşme sütunu dar ve sessiz. */
.order-flow-card.is-split .of-basket-order-actions { align-items:center; }
.order-flow-card.is-split .of-basket-match { padding:0; border:0; background:none; gap:4px; }
.order-flow-card.is-split .of-basket-match i { font-size:var(--type-caption,11px); }
.order-flow-card.is-split .of-basket-match b { color:var(--desk-muted); font-weight:550; }
.order-flow-card.is-split .of-basket-match.is-review b { color:var(--warning); }
.order-flow-card.is-split .of-basket-match:hover b { color:var(--accent); }
.order-flow-card.is-split .of-basket-match-btn { min-height:28px; padding:4px 8px; border-color:transparent; background:transparent; color:var(--desk-muted); font-size:var(--type-caption,11px); font-weight:500; }
.order-flow-card.is-split .of-basket-match-btn:hover { border-color:var(--desk-line); background:var(--desk-paper); color:var(--accent); }
@media(min-width:761px) {
  .order-flow-card.is-split .of-basket-order { grid-template-columns:minmax(0,1fr) 164px; }
}
@media(max-width:760px) {
  .order-flow-card.is-split { grid-template-columns:minmax(0,1fr); }
  .order-flow-card.is-split > .of-side { grid-column:1; grid-row:auto; flex-direction:row; flex-wrap:wrap; align-items:center; gap:var(--space-2) var(--space-3); padding:10px 14px; border-left:0; border-top:1px solid var(--desk-line); }
  .order-flow-card.is-split .of-side-kg { font-size:16px; }
  .order-flow-card.is-split .of-side .of-actions { margin:0 0 0 auto; padding:0; }
}

/* Eşleşen kumaşın kodu altında gerçek ERP numarası (2026-10-23, düzen A).
   Kod sütunu 60px; numara yılsız yazılır, tamamı ipucundadır. */
.of-basket-index.has-erp { display:flex; flex-direction:column; align-items:flex-start; gap:4px; }
.of-erp-no { display:inline-flex; align-items:center; padding:1px 6px; border:0; border-radius:5px; background:color-mix(in srgb,var(--success) 14%,transparent); color:var(--success); font:inherit; font-size:11px; font-weight:600; font-variant-numeric:tabular-nums; line-height:1.5; cursor:pointer; }
.of-erp-no:hover { background:color-mix(in srgb,var(--success) 22%,transparent); }
.of-erp-no:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }

/* ── Eşleşen Siparişler gün şeridi (2026-11-05, TASARIM-DILI.md §3.56) ──
   Son 14 gün kutucuk; seçili gün mavi çerçeve, boş gün soluk, sarı nokta =
   o gün eşleşme bekleyen kumaş. Gün başlığı kaydırırken üstte kalır. */
.of-daystrip { display:flex; align-items:stretch; gap:6px; margin:4px 0 12px; }
.of-day-scroll { display:flex; gap:6px; flex:1; min-width:0; overflow-x:auto; scrollbar-width:none; padding:1px; }
.of-day-scroll::-webkit-scrollbar { display:none; }
.of-day, .of-day-all, .of-day-nav, .of-day-cal { border:1px solid var(--desk-line); background:var(--desk-paper); color:var(--desk-ink); border-radius:12px; font:inherit; cursor:pointer; transition:border-color .15s, background-color .15s; }
.of-day { position:relative; flex:0 0 62px; display:flex; flex-direction:column; align-items:center; gap:1px; padding:7px 4px 7px; }
.of-day:hover, .of-day-all:hover, .of-day-nav:hover, .of-day-cal:hover { border-color:color-mix(in srgb, var(--accent) 45%, var(--desk-line)); }
.of-day:focus-visible, .of-day-all:focus-visible, .of-day-nav:focus-visible { outline:2px solid var(--accent); outline-offset:1px; }
.of-day.is-week { margin-left:8px; }
.of-day.is-older { margin-right:8px; }
.of-day-w { font-size:10.5px; font-weight:600; letter-spacing:.03em; text-transform:uppercase; color:var(--desk-muted); }
.of-day-n { font-size:18px; font-weight:650; line-height:1.15; font-variant-numeric:tabular-nums; }
.of-day-c { font-size:11px; color:var(--desk-muted); font-variant-numeric:tabular-nums; }
.of-day-bar { width:28px; height:3px; margin-top:3px; border-radius:2px; background:var(--desk-line); overflow:hidden; }
.of-day-bar > span { display:block; height:100%; background:var(--accent); opacity:.75; }
.of-day-pend { position:absolute; top:6px; right:7px; width:7px; height:7px; border-radius:50%; background:var(--warning); }
.of-day.is-empty { opacity:.45; }
.of-day.is-on, .of-day-all.is-on { border-color:var(--accent); background:color-mix(in srgb, var(--accent) 14%, var(--desk-paper)); }
.of-day.is-on .of-day-w, .of-day.is-on .of-day-c { color:var(--desk-ink); }
.of-day.is-on.is-empty { opacity:1; }
.of-day-all { flex:0 0 auto; display:flex; align-items:center; gap:6px; padding:0 14px; font-size:13px; font-weight:600; }
.of-day-all span { font-size:11px; font-weight:550; color:var(--desk-muted); }
.of-day-nav, .of-day-cal { flex:0 0 36px; display:flex; align-items:center; justify-content:center; padding:0; color:var(--desk-muted); }
.of-day-nav svg, .of-day-cal svg { width:16px; height:16px; }
.of-day-cal { position:relative; overflow:hidden; }
.of-day-cal input { position:absolute; inset:0; opacity:0; cursor:pointer; width:100%; height:100%; border:0; padding:0; }
.of-daystrip.is-searching .of-day, .of-daystrip.is-searching .of-day-nav { opacity:.4; }
.of-day-note { align-self:center; font-size:12px; color:var(--desk-muted); white-space:nowrap; }
.of-dayhead { position:sticky; top:var(--shell-top, 0px); z-index:3; margin:14px 0 8px; padding:8px 2px; background:var(--desk-paper); }
.of-dayhead:first-of-type { margin-top:2px; }
.of-dayhead-pend { padding:2px 8px; border-radius:20px; background:color-mix(in srgb, var(--warning) 16%, transparent); color:var(--warning); font-weight:550; }
.of-dayhead-kg { margin-left:auto; font-weight:550; font-variant-numeric:tabular-nums; }
/* Son bakıştan sonra gelen kart: sol kenarda mavi çizgi + altında mavi ayraç
   (2026-11-05: kullanıcı önce kaldırttı, anlamını görünce geri istedi). */
.order-flow-card.is-new { box-shadow:inset 3px 0 0 var(--accent); }
.of-new-divider { display:flex; align-items:center; gap:10px; margin:2px 0 12px; font-size:11.5px; font-weight:600; color:var(--accent); }
.of-new-divider::before, .of-new-divider::after { content:""; flex:1; height:1px; background:color-mix(in srgb, var(--accent) 40%, transparent); }
.of-day-empty { display:flex; flex-direction:column; align-items:center; gap:10px; text-align:center; border:1px dashed var(--desk-line); border-radius:12px; padding:26px 16px; }
.of-day-jump { border:1px solid var(--desk-line); background:var(--desk-paper); color:var(--desk-ink); border-radius:9px; padding:6px 12px; font:inherit; font-size:12.5px; cursor:pointer; }
.of-day-jump:hover { border-color:var(--accent); }
@media (max-width:640px) {
  .of-day-nav { display:none; }
  .of-day { flex-basis:54px; }
  .of-day-all { padding:0 10px; }
}

/* ── assets/styles/chat-refined.css ── */
/* Quiet, accessible messaging surfaces. Scoped to chat to preserve dashboard UI. */
#msgPanel {
  width:440px; height:590px; max-height:calc(100dvh - 40px);
  background:var(--surface-solid,var(--surface)); border:1px solid var(--border);
  border-radius:20px; box-shadow:0 20px 65px rgba(15,23,42,.16),0 2px 8px rgba(15,23,42,.05);
  backdrop-filter:none; -webkit-backdrop-filter:none;
}
#msgPanel::before,.msg-dock::before { display:none; }
#msgPanel .msg-panel-head { min-height:74px; padding:18px 20px; background:none; gap:10px; backdrop-filter:none; }
#msgPanel .msg-title { font-size:18px; font-weight:650; letter-spacing:-.5px; }
#msgPanel .msg-title svg { display:none; }
#msgPanel .msg-icon-btn { width:32px; height:32px; flex-shrink:0; background:transparent; border:0; border-radius:9px; }
#msgPanel .msg-icon-btn:hover { background:color-mix(in srgb,var(--text) 6%,transparent); transform:none; }
#msgPanel .msg-bulk-launch { min-height:34px; padding:6px 9px; border:0; border-radius:8px; color:var(--muted); background:transparent; box-shadow:none; font-size:11px; }
#msgPanel .msg-bulk-launch:hover { color:var(--text); background:color-mix(in srgb,var(--text) 5%,transparent); transform:none; }
#msgPanel .msg-panel-body { background:none; }
#msgPanel .msg-search { padding:4px 20px 14px; }
#msgPanel .msg-search input { height:42px; padding:10px 14px; border:1px solid transparent; border-radius:10px; background:color-mix(in srgb,var(--text) 4%,var(--surface-solid,var(--surface))); box-shadow:none; font-size:13px; }
#msgPanel .msg-user-list { padding:0 12px 16px; }
#msgPanel .msg-user { min-height:70px; gap:12px; padding:12px; border-radius:12px; }
#msgPanel .msg-user:hover { background:color-mix(in srgb,var(--text) 4%,transparent); transform:none; }
#msgPanel .msg-avatar { width:38px; height:38px; font-size:13px; border-radius:14px; box-shadow:none; }
#msgPanel .msg-user-name { font-size:14px; font-weight:600; letter-spacing:-.15px; }
#msgPanel .msg-user-sub { margin-top:4px; font-size:11px; }
#msgPanel .msg-ai-user { margin:0 0 8px; border:1px solid var(--border); background:color-mix(in srgb,var(--text) 2%,transparent); }
#msgPanel .msg-ai-avatar { background:color-mix(in srgb,var(--text) 9%,var(--surface-solid,var(--surface))); color:var(--text); box-shadow:none; }
#msgPanel .msg-ai-chip { color:var(--muted); background:transparent; border:0; font-weight:500; }
#msgPanel .msg-ai-user .msg-user-sub .on { color:var(--muted); }
#msgPanel #msgRoomRows { flex:none; overflow:visible; padding-bottom:0; }
#msgPanel .msg-room-avatar { background:color-mix(in srgb,var(--text) 9%,var(--surface-solid,var(--surface))); color:var(--text); font-size:10.5px; font-weight:750; letter-spacing:.02em; }
#msgPanel .msg-room-avatar svg { width:17px; height:17px; stroke-width:1.8; }
#msgPanel .msg-room-user .msg-user-sub { color:var(--muted); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
#msgPanel .msg-convo-head { min-height:76px; padding:14px 12px; gap:8px; background:none; backdrop-filter:none; }
#msgPanel .msg-convo-head > .msg-avatar { width:34px!important; height:34px!important; border-radius:12px; box-shadow:none; }
#msgPanel .msg-convo-name { font-size:14px; font-weight:600; }
#msgPanel .msg-convo-status { font-size:10px; font-weight:400; margin-top:4px; }
#msgPanel .msg-convo-tools { border:0; padding:0; gap:0; background:transparent; }
#msgPanel .msg-channel-invite-btn { width:30px; height:32px; border-radius:8px; }
#msgPanel .msg-convo-scroll { padding:20px; gap:6px; background:color-mix(in srgb,var(--text) 1.5%,var(--surface-solid,var(--surface))); overscroll-behavior:contain; }
#msgPanel .msg-convo-scroll > .msg-empty:only-child { flex:1; display:flex; flex-direction:column; align-items:center; justify-content:center; padding:32px 20px; }

#msgPanel .msg-retention-note { max-width:245px; margin-top:22px; font-size:10px; line-height:1.6; opacity:.85; }
#msgPanel .msg-bubble { max-width:85%; padding:10px 14px; border-radius:15px; font-size:13px; line-height:1.6; box-shadow:none; }
#msgPanel .msg-bubble.out:not(.ticket-share) { background:var(--accent); border-bottom-right-radius:5px; }
#msgPanel .msg-bubble.in:not(.ticket-share) { background:var(--surface-solid,var(--surface)); border-bottom-left-radius:5px; }
#msgPanel .msg-convo-input { margin:12px; padding:6px; gap:4px; background:var(--surface-solid,var(--surface)); border:1px solid var(--border); border-radius:14px; box-shadow:0 2px 5px rgba(0,0,0,.025); }
#msgPanel .msg-convo-input:focus-within { border-color:color-mix(in srgb,var(--accent) 55%,var(--border)); box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 7%,transparent); }
#msgPanel .msg-convo-input :is(input,textarea) { min-height:40px; padding:8px; border:0; border-radius:0; background:transparent; box-shadow:none; font-size:13px; }
/* Yazma kutusu yazdıkça büyür (msgInputAutosize, en çok 6 satır); düğmeler
   kutunun altında hizalı kalır, uzun mesajın tamamı görünür. */
#msgPanel .msg-convo-input { align-items:flex-end; }
#msgPanel .msg-convo-input textarea { display:block; height:auto; max-height:none; resize:none; overflow-y:hidden; line-height:18px; white-space:pre-wrap; overflow-wrap:anywhere; }
#msgPanel .msg-emoji-btn { width:36px; height:36px; flex-basis:36px; border:0; border-radius:9px; background:transparent; color:var(--muted); box-shadow:none; }
#msgPanel .msg-emoji-btn svg { width:20px; height:20px; }
#msgPanel .msg-send-btn { width:36px; height:36px; border-radius:10px; background:var(--text); color:var(--surface-solid,var(--surface)); box-shadow:none; }
#msgPanel .msg-emoji-picker { left:0; bottom:calc(100% + 12px); max-width:calc(100vw - 48px); background:var(--surface-solid,var(--surface)); border-radius:14px; box-shadow:0 8px 32px rgba(0,0,0,.14); }
#msgPanel .msg-bulk-view,#msgPanel .msg-bulk-compose-head { background:none; }
#msgPanel .msg-bulk-intro { background:color-mix(in srgb,var(--text) 3%,transparent); border-color:var(--border); }
#msgPanel :is(.msg-bulk-send,.msg-bulk-continue) { background:var(--accent); box-shadow:none; }
#msgPanel :is(button,[role="button"],input):focus-visible { outline:2px solid var(--accent); outline-offset:3px; }
#msgPanel #msgInput:focus-visible { outline:none; }
.msg-dock { gap:6px; padding:7px; border-radius:18px; background:var(--surface-solid,var(--surface)); border:1px solid var(--border); box-shadow:0 8px 30px rgba(15,23,42,.12); backdrop-filter:none; }
.msg-dock:hover,.msg-dock:focus-within { box-shadow:0 8px 30px rgba(15,23,42,.16); }
.msg-dock .msg-dock-btn,.msg-dock:hover .msg-dock-btn,.msg-dock:focus-within .msg-dock-btn { width:40px; height:40px; flex:0 0 40px; padding:0; gap:0; border-radius:12px; background:color-mix(in srgb,var(--text) 5%,var(--surface-solid,var(--surface))); color:var(--text); box-shadow:none; }
.msg-dock .msg-dock-label,.msg-dock:hover .msg-dock-label,.msg-dock:focus-within .msg-dock-label { display:none; }
.msg-dock .voice-dock-btn { color:var(--success); }
.msg-dock .msg-head { box-shadow:none; }
.msg-dock.has-unread { animation:none; }
@media(max-width:600px) {
  #msgPanel { left:50%; bottom:8px; transform:translateX(-50%); width:calc(100vw - 16px); max-width:none; height: min(640px,calc(100dvh - 24px)); max-height:calc(100dvh - 24px); border-radius:18px; }
  #msgPanel .msg-convo-head { gap:4px; padding:12px 8px; }
  #msgPanel .msg-convo-input { margin-bottom:max(12px,env(safe-area-inset-bottom)); }
  #msgPanel #msgInput,#msgPanel #msgUserSearch { font-size:16px; }
}
@media(prefers-reduced-motion:reduce) {
  #msgPanel,#msgPanel *,.msg-dock,.msg-dock * { animation:none!important; transition:none!important; }
}

#msgPanel .msg-empty-art{display:block;width:min(280px,100%);height:auto;object-fit:contain;margin:0 auto 12px}

/* ── assets/styles/notifications-refined.css ── */
/* Notification inbox: quiet hierarchy, clear actions, shared desktop/mobile layout. */
#notifPanel, #notifCenter { --ni-surface:var(--surface-solid,#fff); --ni-soft:color-mix(in srgb,var(--muted) 6%,var(--ni-surface)); --ni-line:color-mix(in srgb,var(--muted) 16%,transparent); }
#notifPanel { width:min(470px,calc(100vw - 24px)); top:70px; right:20px; max-height:calc(100dvh - 86px); overflow:hidden; border:1px solid var(--ni-line); border-radius:18px; background:var(--ni-surface); box-shadow:0 20px 65px #15263d26,0 3px 12px #15263d0a; }
#notifPanel.open { display:flex; flex-direction:column; }
#notifPanel .notif-panel-header, #notifCenter .notif-center-head { padding:21px 22px 14px; align-items:flex-start; gap:12px; }
#notifPanel .notif-panel-title, #notifCenter .notif-center-head-copy strong { font-size:19px; letter-spacing:-.5px; font-weight:750; color:var(--text); }
#notifPanel .notif-summary, #notifCenter .notif-center-head-copy span { margin:5px 0 0; font-size:11px; font-weight:450; line-height:1.5; color:var(--muted); }
.notif-head-actions { display:flex; align-items:center; gap:4px; }
/* Başlıktaki işlemler yazı değil simge: panel dar, üç kelimelik düğmeler
   satırı yiyordu. Anlam title + aria-label'da durur. */
#notifPanel .notif-readall.is-icon, #notifCenter .notif-readall.is-icon,
.notif-manage-toggle.is-icon, .notif-settings-btn {
  width:28px; height:28px; display:grid; place-items:center; padding:0; flex:0 0 auto;
  border:0; border-radius:8px; background:transparent; color:var(--muted); cursor:pointer;
  transition:background .14s ease, color .14s ease;
}
#notifPanel .notif-readall.is-icon svg, #notifCenter .notif-readall.is-icon svg,
.notif-manage-toggle.is-icon svg, .notif-settings-btn svg { width:15px; height:15px; stroke-width:1.9; }
#notifPanel .notif-readall.is-icon:hover, #notifCenter .notif-readall.is-icon:hover,
.notif-manage-toggle.is-icon:hover, .notif-settings-btn:hover { background:rgba(127,127,127,.12); color:var(--text); }
.notif-manage-toggle.is-icon[aria-pressed="true"] { background:var(--accent-soft,rgba(0,113,227,.12)); color:var(--accent); }
#notifPanel .notif-readall.is-icon:focus-visible, .notif-manage-toggle.is-icon:focus-visible,
.notif-settings-btn:focus-visible { outline:2px solid var(--accent); outline-offset:1px; }
#notifPanel .notif-readall, #notifCenter .notif-readall, .notif-manage-toggle { padding:7px 0; font-size:10px; font-weight:600; white-space:nowrap; border:0; background:transparent; color:var(--accent); }
.notif-manage-toggle { color:var(--muted); }
.notif-manage-toggle[aria-pressed="true"] { color:var(--accent); }
#notifPanel .notif-readall:disabled, #notifCenter .notif-readall:disabled, .notif-delete-selected:disabled { opacity:.4; cursor:default; }
#notifPanel .notif-center-close, #notifCenter .notif-center-close { width:28px; height:28px; font-size:22px; border-radius:7px; }
.notif-views { display:flex; gap:20px; margin:0 22px; border-bottom:1px solid var(--ni-line); flex-shrink:0; }
.notif-views button { position:relative; border:0; padding:12px 0; background:transparent; color:var(--muted); font-family:inherit; font-weight:600; font-size:12px; line-height:1.4; cursor:pointer; white-space:nowrap; }
.notif-views button.active { color:var(--accent); }
.notif-views button.active::after { content:''; position:absolute; left:0; right:0; bottom:-1px; height:2px; border-radius:2px; background:var(--accent); }
.notif-views button span:not(:empty) { margin-left:3px; font-size:10px; font-variant-numeric:tabular-nums; }
.notif-tools { display:flex; gap:8px; padding:14px 22px; flex-shrink:0; }
.notif-search { display:flex; align-items:center; gap:7px; min-width:0; flex:1; padding:0 10px; height:35px; background:var(--ni-soft); border:1px solid transparent; border-radius:8px; }
.notif-search svg { flex:0 0 15px; width:15px; height:15px; stroke-width:1.6; color:var(--muted); }
#notifPanel .notif-search input, #notifCenter .notif-search input { width:100%; min-width:0; height:100%; padding:0; border:0; border-radius:0; background:transparent; box-shadow:none; color:var(--text); font:inherit; font-size:11px; outline:none; }
.notif-search:focus-within { border-color:var(--accent); }
.notif-tools select { width:133px; min-width:0; padding:0 7px; border:1px solid var(--ni-line); border-radius:8px; background:var(--ni-surface); color:var(--text); font:inherit; font-size:11px; cursor:pointer; }
#notifPanel .notif-list { max-height:none; min-height:100px; padding:0 8px 10px; overflow-y:auto; overscroll-behavior:contain; scrollbar-width:thin; }
.notif-selection-bar { display:flex; align-items:center; gap:8px; min-height:31px; margin:0 22px 3px; padding:0 0 9px; border-bottom:1px solid var(--ni-line); font-size:10px; color:var(--muted); }
.notif-selection-bar[hidden] { display:none; }
.notif-selection-bar label { display:flex; align-items:center; gap:6px; white-space:nowrap; cursor:pointer; }
.notif-selection-bar input, .notif-select input { width:14px; height:14px; margin:0; accent-color:var(--accent); cursor:pointer; }
.notif-selection-count { color:var(--accent); font-variant-numeric:tabular-nums; }
.notif-selection-actions { display:flex; align-items:center; gap:12px; margin-left:auto; }
.notif-selection-actions button { border:0; padding:4px 0; background:transparent; color:var(--muted); font:inherit; font-size:10px; font-weight:550; cursor:pointer; white-space:nowrap; }
.notif-selection-actions .notif-delete-selected:not(:disabled), .notif-selection-actions .notif-delete-all { color:#bd5555; }
.notif-select { display:flex; align-items:center; flex:0 0 14px; margin-top:10px; opacity:.72; }
.notif-select:hover, .notif-select:has(input:checked) { opacity:1; }
#notifPanel .notif-day-sep, #notifCenter .notif-day-sep { padding:10px 14px 7px; font-size:10px; font-weight:600; letter-spacing:.03em; text-transform:none; color:var(--muted); }
#notifPanel .notif-item, #notifCenter .notif-item { position:relative; display:flex; gap:12px; padding:14px; margin:0 0 3px; border:0; border-radius:10px; background:transparent; cursor:default; box-shadow:none; align-items:flex-start; }
#notifPanel .notif-item::before, #notifCenter .notif-item::before { display:none; }
#notifPanel .notif-item.unread, #notifCenter .notif-item.unread { background:color-mix(in srgb,var(--accent) 4%,var(--ni-surface)); }
#notifPanel .notif-item:hover, #notifCenter .notif-item:hover { background:var(--ni-soft); }
#notifPanel .notif-ico, #notifCenter .notif-ico { width:32px; height:32px; flex:0 0 32px; margin-top:2px; border-radius:9px; background:var(--ni-soft); color:var(--muted); }
#notifPanel .notif-ico svg, #notifCenter .notif-ico svg { width:17px; height:17px; stroke-width:1.5; }
#notifPanel .unread .notif-ico, #notifCenter .unread .notif-ico { background:color-mix(in srgb,var(--accent) 9%,var(--ni-surface)); color:var(--accent); }
#notifPanel .critical .notif-ico, #notifCenter .critical .notif-ico { background:color-mix(in srgb,#e34d4d 9%,var(--ni-surface)); color:#d84444; }
.notif-item-meta { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:4px; color:var(--muted); font-size:10px; line-height:1.4; }
.notif-item-meta time { flex-shrink:0; font-variant-numeric:tabular-nums; }
.notif-primary { display:block; border:0; padding:0; width:100%; background:transparent; text-align:left; font:inherit; cursor:pointer; color:var(--text); }
.notif-primary:disabled { cursor:default; opacity:1; }
#notifPanel .notif-item-title, #notifCenter .notif-item-title { display:block; font-size:13px; line-height:1.5; font-weight:600; letter-spacing:-.1px; overflow-wrap:anywhere; }
.notif-primary:not(:disabled):hover .notif-item-title { color:var(--accent); }
#notifPanel .notif-item-sub, #notifCenter .notif-item-sub { margin-top:3px; font-size:11px; line-height:1.6; font-weight:400; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:1; white-space:normal; overflow:hidden; color:var(--muted); }
.notif-item-bottom { display:flex; flex-wrap:wrap; align-items:center; gap:7px; margin-top:7px; font-size:10px; min-height:15px; }
.notif-status { color:var(--accent); font-size:9px; font-weight:550; }
.notif-status::before { content:''; display:inline-block; width:4px; height:4px; margin:0 5px 2px 0; border-radius:50%; background:currentColor; }
.pending .notif-status { color:#a56b12; }
.critical .notif-status { color:#d84444; }
.notif-repeat { color:var(--muted); font-size:9px; }
.notif-fold-toggle { margin-left:auto; border:0; padding:0; background:transparent; color:var(--muted); font:inherit; font-size:10px; cursor:pointer; }
.notif-fold-toggle::after { content:'⌄'; padding-left:5px; }
.notif-fold-toggle[aria-expanded="true"]::after { content:'⌃'; }
.notif-fold-toggle:hover { color:var(--accent); }
.notif-fold-list { margin:0 0 6px 22px; padding-left:8px; border-left:1px solid var(--ni-line); }
.notif-detail { margin-left:auto; }
.notif-detail summary { cursor:pointer; list-style:none; color:var(--muted); font-size:10px; text-align:right; }
.notif-detail summary::-webkit-details-marker { display:none; }
.notif-detail summary::after { content:'⌄'; padding-left:5px; }
.notif-detail[open] { width:100%; }
.notif-detail[open] summary::after { content:'⌃'; }
.notif-detail-content { margin-top:8px; padding:11px 12px; border:1px solid var(--ni-line); border-radius:8px; background:var(--ni-surface); color:var(--muted); }
.notif-detail-content p { margin:0 0 8px; font-size:12px; line-height:1.7; white-space:pre-wrap; overflow-wrap:anywhere; color:var(--text); }
.notif-detail-actions { display:flex; gap:8px; flex-wrap:wrap; margin-top:12px; }
.notif-detail-actions button, .notif-empty button { border:1px solid var(--ni-line); padding:7px 10px; border-radius:6px; background:var(--ni-surface); color:var(--accent); font:inherit; font-size:11px; cursor:pointer; }
#notifPanel .notif-panel-foot { padding:9px 16px; border-top:1px solid var(--ni-line); }
#notifPanel .notif-history-btn { display:flex; align-items:center; justify-content:space-between; width:100%; padding:9px 6px; border-radius:7px; background:transparent; font-size:12px; font-weight:550; color:var(--text); }
#notifPanel .notif-history-btn:hover { background:var(--ni-soft); }
#notifCenter { padding:24px; background:#111c2e66; backdrop-filter:blur(5px); }
#notifCenter .notif-center { width:min(760px,100%); max-height:calc(100dvh - 48px); border:1px solid var(--ni-line); border-radius:20px; background:var(--ni-surface); box-shadow:0 30px 100px #08132940; overflow:hidden; }
#notifCenter .notif-center-body { min-height:150px; padding:0 12px 14px; scrollbar-width:thin; overscroll-behavior:contain; }
#notifCenter .notif-center-head { padding:24px 26px 16px; }
#notifCenter .notif-views { margin:0 26px; }
#notifCenter .notif-tools { padding:16px 26px; }
#notifCenter .notif-tools select { width:175px; }
#notifCenter .notif-item-sub { -webkit-line-clamp:2; }
.notif-center-foot { padding:13px 26px; border-top:1px solid var(--ni-line); color:var(--muted); font-size:10px; }
#notifPanel .notif-empty, #notifCenter .notif-empty { padding:40px 16px; }
.notif-empty.is-calm { padding:24px 16px 32px; }
.notif-empty-art { display:block; width:min(310px,88%); height:auto; margin:0 auto 8px; object-fit:contain; }
#notifPanel .notif-empty-art { width:min(270px,88%); }
.notif-empty-symbol { display:grid; place-items:center; margin:0 auto 14px; width:38px; height:38px; border-radius:50%; background:var(--ni-soft); color:var(--accent); font-size:18px; }
.notif-empty strong { display:block; font-size:14px; color:var(--text); font-weight:600; letter-spacing:-.1px; }
.notif-empty p { margin:8px 0 16px; font-size:11px; line-height:1.6; }
#notifPanel :is(button,summary,select):focus-visible, #notifCenter :is(button,summary,select):focus-visible { outline:2px solid var(--accent); outline-offset:3px; }
html[data-theme="dark"] #notifPanel, html[data-theme="dark"] #notifCenter { --ni-surface:#1c2430; }
html[data-theme="dark"] .pending .notif-status { color:#e4b662; }
html[data-theme="dark"] .critical .notif-status { color:#ff8888; }
@media(max-width:600px) {
  #notifPanel { top:68px; right:8px; width:calc(100vw - 16px); max-height:calc(100dvh - 80px); border-radius:15px; }
  #notifPanel .notif-panel-header, #notifCenter .notif-center-head { padding:17px 16px 10px; }
  .notif-views, #notifCenter .notif-views { margin:0 16px; gap:17px; }
  .notif-views button { font-size:11px; }
  .notif-tools, #notifCenter .notif-tools { padding:12px 16px; }
  .notif-selection-bar { margin:0 16px 3px; gap:7px; }
  .notif-selection-actions { gap:9px; }
  .notif-tools select, #notifCenter .notif-tools select { width:120px; font-size:10px; }
  #notifPanel .notif-panel-title, #notifCenter .notif-center-head-copy strong { font-size:17px; }
  #notifPanel .notif-readall, #notifCenter .notif-readall { font-size:9px; }
  #notifPanel .notif-item, #notifCenter .notif-item { padding:12px 8px; gap:10px; }
  #notifCenter { padding:8px; }
  #notifCenter .notif-center { max-height:calc(100dvh - 16px); border-radius:16px; }
  .notif-center-foot { padding:12px 16px; line-height:1.6; }
  .notif-detail summary { min-height:24px; padding:4px 0; }
}
@media(prefers-reduced-motion:reduce) { #notifPanel *, #notifCenter * { animation:none!important; transition:none!important; scroll-behavior:auto!important; } }

/* Zil = Bildirimler + Aktiviteler (2026-10-20, tasarım A). Panelde süzgeç ve
   arama yok — onlar Bildirim merkezinde. Sayı yalnız Bildirimler sekmesinde. */
#notifPanel .notif-views, #notifPanel .notif-tools { display:none; }
#notifPanel.is-activity .notif-head-actions .notif-readall,
#notifPanel.is-activity .notif-head-actions .notif-manage-toggle,
#notifPanel.is-activity .notif-selection-bar { display:none; }
.notif-tabs { display:flex; gap:2px; margin:0 22px 8px; padding:3px; border-radius:10px; background:var(--ni-soft); flex-shrink:0; }
.notif-tabs button { flex:1; display:flex; align-items:center; justify-content:center; gap:6px; min-height:32px; padding:0 10px; border:0; border-radius:8px; background:transparent; color:var(--muted); font-family:var(--font); font-size:12.5px; font-weight:600; cursor:pointer; }
.notif-tabs button.active { background:var(--ni-surface); color:var(--text); box-shadow:0 1px 3px rgba(15,23,42,.14); }
.notif-tabs button:focus-visible { outline:2px solid var(--accent); outline-offset:1px; }
.notif-tab-count { min-width:18px; height:18px; padding:0 5px; border-radius:999px; background:var(--danger); color:var(--on-accent); font-size:10.5px; font-weight:700; line-height:18px; font-variant-numeric:tabular-nums; }
.notif-why { display:inline-flex; align-items:center; gap:4px; padding:1px 7px; border-radius:999px; background:var(--ni-soft); color:var(--muted); font-size:10.5px; font-weight:650; white-space:nowrap; }
.notif-why i { width:6px; height:6px; border-radius:50%; background:var(--why, var(--muted)); }
.notif-act { width:100%; display:grid; grid-template-columns:8px minmax(0,1fr) auto; align-items:center; gap:10px; padding:8px 14px; border:0; border-radius:10px; background:transparent; color:var(--text); font-family:var(--font); text-align:left; cursor:pointer; }
.notif-act:hover { background:var(--ni-soft); }
.notif-act:focus-visible { outline:2px solid var(--accent); outline-offset:-2px; }
.notif-act > i { width:7px; height:7px; border-radius:50%; background:var(--tone, var(--muted)); }
.notif-act > span { min-width:0; display:grid; gap:1px; }
.notif-act b { overflow:hidden; font-size:12.5px; font-weight:600; text-overflow:ellipsis; white-space:nowrap; }
.notif-act small { overflow:hidden; color:var(--muted); font-size:11.5px; text-overflow:ellipsis; white-space:nowrap; }
.notif-act time { color:var(--muted); font-size:11px; font-variant-numeric:tabular-nums; white-space:nowrap; }

/* EKRAN BİLDİRİMİ (2026-10-20): yeni bildirim zilin altındaki köşe yığınına
   iner (import-and-notifications.js "EKRAN BİLDİRİMİ"). Kart ortak
   .corner-alert'tir; .is-notif yalnız ölçü, süre çizgisi ve zile dönüşü ekler. */
.corner-alert.is-notif { --ni-soft:var(--desk-soft); overflow:hidden; gap:10px; padding:12px 12px 13px; }
.corner-alert.is-notif .corner-alert-icon { width:32px; height:32px; border-radius:9px; }
.corner-alert.is-notif .corner-alert-title { font-size:13px; line-height:1.3; }
.corner-alert.is-notif .corner-alert-message { font-size:12px; white-space:normal; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; }
.corner-alert.is-notif .corner-alert-meta { display:flex; align-items:center; gap:6px; margin-top:6px; font-size:11px; }
.corner-alert.is-overflow { grid-template-columns:minmax(0,1fr) auto; padding:10px 12px; }
.corner-alert.is-overflow .corner-alert-meta { margin-top:2px; color:var(--accent); font-weight:600; }
.corner-alert-life { position:absolute; left:0; right:0; bottom:0; height:2px; background:color-mix(in srgb,var(--accent) 45%,transparent); transform-origin:left center; animation:notifPopupLife var(--life,7s) linear forwards; pointer-events:none; }
.corner-alert.is-paused .corner-alert-life { animation-play-state:paused; }
@keyframes notifPopupLife { from { transform:scaleX(1); } to { transform:scaleX(0); } }
.corner-alert.is-leaving.to-bell { transform:translate(var(--to-x,0),var(--to-y,0)) scale(.12); opacity:0; transition:transform .42s cubic-bezier(.55,0,.75,.2),opacity .42s ease-in; }
#notifBtn.is-catch { animation:notifBellCatch .7s ease; }
@keyframes notifBellCatch { 0%,100% { transform:none; } 25% { transform:rotate(-12deg); } 50% { transform:rotate(9deg); } 75% { transform:rotate(-4deg); } }
@media (prefers-reduced-motion: reduce) {
  .corner-alert-life { animation:none; }
  #notifBtn.is-catch { animation:none; }
}

/* ZİLDE İZİN ŞERİDİ (2026-10-20, "A"): başlığın altında, iki sekmenin üstünde
   tek satır (import-and-notifications.js "ZİLDE İZİN ŞERİDİ"). */
.notif-perm { margin:0 22px 10px; flex-shrink:0; }
.notif-perm[hidden] { display:none; }
.notif-perm-row { display:flex; align-items:center; gap:9px; padding:8px 6px 8px 10px; border-radius:10px; background:var(--ni-soft); }
.notif-perm-row.is-warn { background:color-mix(in srgb,var(--warning) 10%,var(--ni-surface)); }
.notif-perm-ic { width:16px; height:16px; flex:0 0 16px; color:var(--muted); stroke-width:1.8; }
.notif-perm-row.is-warn .notif-perm-ic { color:var(--warning); }
.notif-perm-copy { flex:1; min-width:0; line-height:1.35; }
.notif-perm-copy b { display:block; color:var(--text); font-size:12px; font-weight:650; }
.notif-perm-copy small { display:block; color:var(--muted); font-size:11px; }
.notif-perm-btn { flex:0 0 auto; height:28px; padding:0 11px; border:0; border-radius:8px; background:var(--accent-soft); color:var(--accent); font:600 12px/1 var(--font); white-space:nowrap; cursor:pointer; }
.notif-perm-btn.is-primary { background:var(--accent); color:var(--on-accent,white); }
.notif-perm-btn:hover { filter:brightness(.96); }
.notif-perm-x { flex:0 0 auto; width:24px; height:24px; display:grid; place-items:center; padding:0; border:0; border-radius:7px; background:transparent; color:var(--muted); cursor:pointer; }
.notif-perm-x:hover { color:var(--text); background:color-mix(in srgb,var(--muted) 12%,transparent); }
.notif-perm-x svg { width:13px; height:13px; }
.notif-perm-steps { margin:8px 4px 0 2px; padding-left:28px; color:var(--muted); font-size:11.5px; line-height:1.6; }

/* Görülmüş açık işler gelen kutusuna geri dolmaz; iş listesine bağlantı kalır. */
.notif-pending-link { display:flex; align-items:center; justify-content:space-between; gap:12px; width:calc(100% - 44px); margin:8px 22px 18px; padding:12px 14px; border:1px solid var(--ni-line); border-radius:8px; background:var(--ni-surface); color:var(--accent); font:inherit; font-size:12px; cursor:pointer; text-align:left; }
.notif-center-foot { display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; }
#notifClearHistory { padding:5px 0; border:0; background:transparent; color:var(--accent); font:inherit; cursor:pointer; }
#notifClearHistory[hidden] { display:none; }

/* Zilde görülen bildirim geçmişe düşmez: okunmamışların altında sönük durur,
   üzerine gelince ya da klavyeyle odaklanınca netleşir (TASARIM-DILI.md "Zil paneli"). */
#notifPanel .notif-item.is-seen > .notif-ico, #notifPanel .notif-item.is-seen > .notif-body { opacity:.55; transition:opacity .14s ease; }
#notifPanel .notif-item.is-seen:hover > .notif-ico, #notifPanel .notif-item.is-seen:hover > .notif-body,
#notifPanel .notif-item.is-seen:focus-within > .notif-ico, #notifPanel .notif-item.is-seen:focus-within > .notif-body { opacity:1; }
#notifPanel .notif-item.is-seen .notif-item-title { font-weight:500; }
#notifPanel .notif-caught-up { padding:14px 14px 6px; font-size:12px; color:var(--muted); }
#notifPanel .notif-pending-link + .notif-more-link { margin-top:-10px; }

/* ── assets/styles/gencler-ai-planner.css ── */
#msgPanel .msg-ai-typing { display:flex;align-items:center;gap:10px;width:max-content;max-width:90%;padding:12px 15px;margin:8px 0;color:var(--muted);background:var(--surface-solid,var(--surface));border:1px solid var(--border);border-radius:16px;font-size:11px; }
.msg-ai-dots { display:flex;gap:4px;align-items:center; }
.msg-ai-dots i { width:5px;height:5px;border-radius:50%;background:#8c79bb;animation:ai-writing 1.2s infinite ease-in-out; }
.msg-ai-dots i:nth-child(2) { animation-delay:.16s; }.msg-ai-dots i:nth-child(3) { animation-delay:.32s; }
@keyframes ai-writing { 0%,60%,100%{transform:translateY(0);opacity:.45}30%{transform:translateY(-3px);opacity:1} }
#msgPanel .ai-message { white-space:pre-wrap;line-height:1.65; }
#msgPanel .msg-ai-trace { white-space:normal;margin-top:10px;padding-top:8px;border-top:1px solid var(--border);color:var(--muted);font-size:10px;line-height:1.5; }

@media(prefers-reduced-motion:reduce) { .msg-ai-dots i {animation:none;opacity:.7} }

/* ── assets/styles/gencler-ai-page.css ── */
/* ═══ GENÇLER AI SAYFASI (2026-10-25) — TASARIM-DILI.md §3.45 ═══════════════
   #/gencler-ai: solda sohbet geçmişi, ortada okuma genişliğinde (760px) akış.
   Kabuk planlayıcı sayfasıyla aynı kâğıt (§3.29); yazma çubuğu §3.7; •••
   menüsü §3.3. Sınıflar `gai-` önekli. Boş sohbette yazma çubuğu ekranın
   ortasına iner, öneriler altında durur (ChatGPT/Claude alışkanlığı). */

#page-ai { padding-top: var(--space-2); }
#page-ai .gai-host { height: calc(100dvh - var(--shell-top, 56px) - 48px); min-height: 520px; }
#page-ai .gai-app {
  position: relative; height: 100%; display: grid; grid-template-columns: 272px minmax(0, 1fr); overflow: hidden;
  border: 1px solid var(--desk-line); border-radius: 16px; background: var(--desk-paper);
  color: var(--desk-ink); box-shadow: var(--v2-card-shadow, var(--shadow));
}
#page-ai :is(button, input, textarea):focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
#page-ai svg { flex: 0 0 auto; }

/* ── Kenar çubuğu: sohbet geçmişi ───────────────────────────────────── */
#page-ai .gai-side { min-width: 0; min-height: 0; display: flex; flex-direction: column; background: var(--desk-soft); border-right: 1px solid var(--desk-line); }
#page-ai .gai-side-head { display: grid; gap: var(--space-2); padding: var(--space-3); }
#page-ai .gai-new {
  height: 36px; display: flex; align-items: center; gap: var(--space-2); padding: 0 var(--space-3);
  border: 1px solid var(--desk-line); border-radius: 10px; background: var(--desk-paper); color: var(--desk-ink);
  font: 600 var(--type-control)/1 var(--font); cursor: pointer;
  transition: box-shadow .15s ease, transform .15s cubic-bezier(.2,.75,.25,1);
}
#page-ai .gai-new:hover { box-shadow: var(--v2-lift, var(--shadow)); }
#page-ai .gai-new:active { transform: scale(.985); }
#page-ai .gai-new svg { width: 16px; height: 16px; color: var(--accent); }
#page-ai .gai-search {
  height: 34px; display: flex; align-items: center; gap: var(--space-2); padding: 0 var(--space-3);
  border: 1px solid transparent; border-radius: 10px; background: color-mix(in srgb, var(--desk-ink) 5%, transparent); color: var(--desk-muted);
  transition: background .15s ease, border-color .15s ease;
}
#page-ai .gai-search:focus-within { background: var(--desk-paper); border-color: var(--accent); }
#page-ai .gai-search svg { width: 15px; height: 15px; }
/* Genel form katmanı alanlara gölge/yükseklik verir; şeridin içindeki alan çerçevesizdir. */
#page-ai .gai-search input,
#page-ai .gai-search input:focus {
  flex: 1 1 auto; min-width: 0; height: 100%; min-height: 0; padding: 0; border: 0; border-radius: 0; outline: 0;
  background: transparent; box-shadow: none; color: var(--desk-ink); font: 500 var(--type-control)/1 var(--font);
}
#page-ai .gai-search input::-webkit-search-cancel-button { display: none; }

#page-ai .gai-side-list { flex: 1 1 auto; min-height: 0; overflow-y: auto; padding: 0 var(--space-2) var(--space-3); }
#page-ai .gai-group + .gai-group { margin-top: var(--space-2); }
#page-ai .gai-group h3 { margin: 0; padding: var(--space-3) var(--space-2) var(--space-1); color: var(--desk-muted); font: 650 var(--type-caption)/1.2 var(--font); letter-spacing: 0; }
#page-ai .gai-row { position: relative; display: flex; align-items: center; border-radius: 8px; }
#page-ai .gai-row + .gai-row { margin-top: 2px; }
#page-ai .gai-row-main {
  flex: 1 1 auto; min-width: 0; min-height: 34px; display: flex; align-items: center; gap: var(--space-2);
  padding: 7px 36px 7px var(--space-2); border: 0; border-radius: 8px; background: transparent; color: var(--desk-ink);
  font: 500 var(--type-control)/1.3 var(--font); text-align: left; cursor: pointer;
}
#page-ai .gai-row-title { flex: 1 1 auto; min-width: 0; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
#page-ai .gai-row:hover .gai-row-main { background: color-mix(in srgb, var(--desk-ink) 5%, transparent); }
#page-ai .gai-row.is-active .gai-row-main { background: var(--desk-paper); box-shadow: var(--v2-lift, var(--shadow)); font-weight: 600; }
#page-ai .gai-row-busy { flex: 0 0 auto; }
#page-ai .gai-row-more {
  position: absolute; right: 3px; top: 50%; width: 28px; height: 28px; display: grid; place-items: center;
  border: 0; border-radius: 8px; background: transparent; color: var(--desk-muted); cursor: pointer;
  opacity: 0; transform: translateY(-50%); transition: opacity .13s ease;
}
#page-ai .gai-row-more svg { width: 16px; height: 16px; }
#page-ai .gai-row-more:hover { background: color-mix(in srgb, var(--desk-ink) 7%, transparent); color: var(--desk-ink); }
#page-ai :is(.gai-row:hover, .gai-row.is-active, .gai-row.has-menu) .gai-row-more,
#page-ai .gai-row-more:focus-visible { opacity: 1; }
#page-ai .gai-row-input {
  width: 100%; height: 34px; padding: 0 var(--space-2); border: 1px solid var(--accent); border-radius: 8px;
  background: var(--desk-paper); color: var(--desk-ink); font: 600 var(--type-control)/1 var(--font); outline: 0;
  box-shadow: 0 0 0 3px var(--accent-soft);
}
#page-ai .gai-side-empty { margin: 0; padding: var(--space-4) var(--space-2); color: var(--desk-muted); font: 500 var(--type-meta)/1.5 var(--font); }
#page-ai .gai-side-foot {
  padding: 10px var(--space-4); border-top: 1px solid var(--desk-line); color: var(--desk-muted);
  font: 500 var(--type-caption)/1.3 var(--font); font-variant-numeric: tabular-nums lining-nums;
}
#page-ai .gai-side-foot span { cursor: help; }
#page-ai .gai-scrim { display: none; }

/* ── Sohbet alanı ────────────────────────────────────────────────────── */
#page-ai .gai-main { position: relative; min-width: 0; min-height: 0; display: flex; flex-direction: column; }
#page-ai .gai-bar { flex: 0 0 auto; height: 52px; display: flex; align-items: center; gap: var(--space-1); padding: 0 var(--space-3) 0 var(--space-5); }
#page-ai .gai-bar-title {
  flex: 1 1 auto; min-width: 0; margin: 0; overflow: hidden; white-space: nowrap; text-overflow: ellipsis;
  color: var(--desk-ink); font: 650 var(--type-section)/1.35 var(--font); letter-spacing: -.02em;
}
#page-ai .gai-app.is-empty .gai-bar-title { visibility: hidden; }
#page-ai .gai-icon-btn {
  flex: 0 0 auto; width: 34px; height: 34px; display: grid; place-items: center; border: 0; border-radius: 10px;
  background: transparent; color: var(--desk-muted); cursor: pointer;
}
#page-ai .gai-icon-btn svg { width: 18px; height: 18px; }
#page-ai .gai-icon-btn:hover { background: var(--desk-soft); color: var(--desk-ink); }
#page-ai .gai-icon-btn[hidden], #page-ai .gai-side-toggle, #page-ai .gai-bar-new { display: none; }

#page-ai .gai-scroll { flex: 1 1 auto; min-height: 0; overflow-y: auto; }
#page-ai .gai-thread { max-width: 760px; margin: 0 auto; padding: var(--space-1) var(--space-5) var(--space-5); }
#page-ai .gai-day { display: flex; align-items: center; gap: var(--space-3); margin: var(--space-5) 0 var(--space-1); color: var(--desk-muted); font: 600 var(--type-caption)/1.2 var(--font); }
#page-ai .gai-day::before, #page-ai .gai-day::after { content: ''; flex: 1 1 auto; height: 1px; background: var(--desk-line); }

#page-ai .gai-msg { margin-top: var(--space-5); }
#page-ai .gai-msg.is-user { display: flex; flex-direction: column; align-items: flex-end; }
#page-ai .gai-bubble {
  max-width: min(560px, 85%); padding: 10px 14px; border-radius: 18px 18px 6px 18px;
  background: color-mix(in srgb, var(--desk-ink) 6%, var(--desk-paper)); color: var(--desk-ink);
  font: 450 var(--type-body)/1.55 var(--font); white-space: pre-wrap; overflow-wrap: anywhere;
}
#page-ai .gai-msg.is-ai { display: grid; grid-template-columns: 28px minmax(0, 1fr); gap: var(--space-3); }
#page-ai .gai-avatar {
  width: 28px; height: 28px; display: grid; place-items: center; border-radius: 50%;
  background: var(--accent-soft); color: var(--accent);
}
#page-ai .gai-avatar svg { width: 16px; height: 16px; }
#page-ai .gai-msg-body { min-width: 0; padding-top: 3px; }
#page-ai .gai-text { color: var(--desk-ink); font: 450 var(--type-body)/1.65 var(--font); overflow-wrap: anywhere; }
#page-ai .gai-text p { margin: 0 0 10px; }
#page-ai .gai-text :is(ul, ol) { margin: 0 0 10px; padding-left: 20px; }
#page-ai .gai-text li { margin: 4px 0; padding-left: 2px; }
#page-ai .gai-text li::marker { color: var(--desk-muted); }
#page-ai .gai-text > :last-child { margin-bottom: 0; }
#page-ai .gai-text strong { font-weight: 650; }
#page-ai .gai-msg.is-failed .gai-text { color: var(--danger); }
#page-ai .gai-sip {
  display: inline; padding: 0; border: 0; background: none; color: var(--accent); cursor: pointer;
  font: inherit; font-weight: 600; letter-spacing: .015em; font-variant-numeric: tabular-nums lining-nums;
  text-decoration: underline; text-decoration-color: color-mix(in srgb, var(--accent) 35%, transparent); text-underline-offset: 3px;
}
#page-ai .gai-sip:hover { text-decoration-color: currentColor; }
#page-ai .gai-msg-foot {
  min-height: 26px; display: flex; align-items: center; flex-wrap: wrap; gap: 2px var(--space-2); margin-top: var(--space-1);
  color: var(--desk-muted); font: 500 var(--type-caption)/1.3 var(--font); font-variant-numeric: tabular-nums lining-nums;
}
#page-ai .gai-msg-foot > i { font-style: normal; opacity: .6; }
#page-ai .gai-msg-foot > span[title] { cursor: help; }
#page-ai .gai-tools { display: inline-flex; gap: 2px; opacity: 0; transition: opacity .13s ease; }
#page-ai .gai-msg:hover .gai-tools, #page-ai .gai-tools:focus-within, #page-ai .gai-msg.is-failed .gai-tools { opacity: 1; }
#page-ai .gai-tool {
  width: 26px; height: 26px; display: grid; place-items: center; border: 0; border-radius: 8px;
  background: transparent; color: var(--desk-muted); cursor: pointer;
}
#page-ai .gai-tool svg { width: 15px; height: 15px; }
#page-ai .gai-tool:hover { background: var(--desk-soft); color: var(--desk-ink); }
#page-ai .gai-status { display: flex; align-items: center; gap: 10px; min-height: 28px; color: var(--desk-muted); font: 500 var(--type-control)/1.3 var(--font); }

/* ── Boş sohbet: selamlama ───────────────────────────────────────────── */
#page-ai .gai-hero { display: grid; justify-items: center; gap: var(--space-2); padding: var(--space-6) 0 var(--space-5); text-align: center; }
#page-ai .gai-hero-mark { width: 44px; height: 44px; display: grid; place-items: center; margin-bottom: var(--space-1); border-radius: 50%; background: var(--accent-soft); color: var(--accent); }
#page-ai .gai-hero-mark svg { width: 24px; height: 24px; }
#page-ai .gai-hero h2 { margin: 0; color: var(--desk-ink); font: 700 24px/1.2 var(--font); letter-spacing: -.028em; }
#page-ai .gai-hero p { margin: 0; color: var(--desk-muted); font: 450 var(--type-body)/1.5 var(--font); }

/* ── Yazma çubuğu (§3.7) + öneriler ──────────────────────────────────── */
#page-ai .gai-dock { flex: 0 0 auto; padding: 0 var(--space-5) var(--space-4); }
#page-ai .gai-composer {
  max-width: 760px; margin: 0 auto; display: flex; align-items: flex-end; gap: var(--space-2); padding: 6px;
  border: 1px solid var(--desk-line); border-radius: 22px; background: var(--desk-paper);
  box-shadow: var(--v2-card-shadow, var(--shadow)); transition: border-color .15s ease, box-shadow .15s ease;
}
#page-ai .gai-composer:focus-within { border-color: var(--accent); box-shadow: 0 0 0 3px var(--accent-soft); }
#page-ai .gai-composer textarea {
  flex: 1 1 auto; min-width: 0; height: 34px; min-height: 34px; max-height: 168px; padding: 7px 4px 7px 12px;
  border: 0; border-radius: 0; outline: 0; resize: none; background: transparent; box-shadow: none; color: var(--desk-ink);
  font: 450 var(--type-body)/20px var(--font);
}
#page-ai .gai-composer textarea:is(:focus, :focus-visible, :hover) { outline: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
#page-ai .gai-composer textarea::placeholder { color: var(--desk-muted); }
#page-ai .gai-send {
  flex: 0 0 auto; width: 36px; height: 36px; display: grid; place-items: center; border: 0; border-radius: 50%;
  background: var(--accent); color: var(--on-accent, #fff); cursor: pointer;
  transition: opacity .15s ease, transform .15s cubic-bezier(.2,.75,.25,1);
}
#page-ai .gai-send svg { width: 18px; height: 18px; }
#page-ai .gai-send:hover:not(:disabled) { transform: translateY(-1px); }
#page-ai .gai-send:active:not(:disabled) { transform: scale(.96); }
#page-ai .gai-send:disabled { opacity: .35; cursor: default; }
#page-ai .gai-send.is-stop { background: var(--desk-ink); color: var(--desk-paper); }
#page-ai .gai-suggest { display: none; }

#page-ai .gai-app.is-empty .gai-scroll { flex: 1 1 0; display: flex; flex-direction: column; justify-content: flex-end; }
#page-ai .gai-app.is-empty .gai-dock { flex: 1 1 0; }
#page-ai .gai-app.is-empty .gai-suggest {
  max-width: 760px; margin: var(--space-3) auto 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-2);
}
#page-ai .gai-suggest-item {
  min-width: 0; min-height: 44px; display: flex; align-items: center; gap: 10px; padding: 10px var(--space-3);
  border: 1px solid var(--desk-line); border-radius: 12px; background: var(--desk-paper); color: var(--desk-ink);
  font: 500 var(--type-control)/1.35 var(--font); text-align: left; cursor: pointer;
  transition: background .15s ease, border-color .15s ease;
}
#page-ai .gai-suggest-item span { min-width: 0; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
#page-ai .gai-suggest-item svg { width: 16px; height: 16px; color: var(--accent); }
#page-ai .gai-suggest-item:hover { background: var(--desk-soft); border-color: color-mix(in srgb, var(--desk-ink) 14%, transparent); }

/* ── ••• menüsü: gövdeye takılır, JS konumlar (§3.3) ─────────────────── */
.order-modal-action-menu.gai-chat-menu { position: fixed; z-index: 1600; top: auto; right: auto; width: min(292px, calc(100vw - 20px)); max-height: none; }
.order-modal-action-menu.gai-chat-menu.is-open { opacity: 1; visibility: visible; transform: none; pointer-events: auto; }
.order-modal-action-menu .order-modal-menu-item.act-pin { --row-color: var(--accent); }

/* ── Dar ekran: geçmiş soldan çekmece ────────────────────────────────── */
@media (max-width: 760px) {
  #page-ai .gai-host { height: calc(100dvh - var(--shell-top, 56px) - 96px); min-height: 440px; }
  #page-ai .gai-app { grid-template-columns: minmax(0, 1fr); }
  #page-ai .gai-side {
    position: absolute; z-index: 3; inset: 0 auto 0 0; width: min(300px, 86%); box-shadow: 0 18px 44px rgba(15, 23, 42, .18);
    transform: translateX(-102%); transition: transform .18s cubic-bezier(.2,.75,.25,1);
  }
  #page-ai .gai-app.is-side-open .gai-side { transform: none; }
  #page-ai .gai-app.is-side-open .gai-scrim {
    display: block; position: absolute; z-index: 2; inset: 0; border: 0; padding: 0;
    background: color-mix(in srgb, var(--desk-ink) 28%, transparent);
  }
  #page-ai .gai-row-more { opacity: 1; }
  #page-ai .gai-side-toggle, #page-ai .gai-bar-new { display: grid; }
  #page-ai .gai-bar { padding: 0 var(--space-2); }
  #page-ai .gai-thread { padding: var(--space-1) 14px var(--space-4); }
  #page-ai .gai-dock { padding: 0 var(--space-3) var(--space-3); }
  #page-ai .gai-composer textarea { font-size: 16px; }
  #page-ai .gai-app.is-empty .gai-suggest { grid-template-columns: minmax(0, 1fr); }
  #page-ai .gai-tools { opacity: 1; }
  #page-ai .gai-bubble { max-width: 90%; }
}
/* iPhone katmanı (§3.25): üstte arama + sayfa adı (126px), altta sekme çubuğu. */
@media (max-width: 500px) {
  html.ds-iphone #page-ai .gai-host { height: calc(100dvh - 138px - env(safe-area-inset-top, 0px) - var(--ip-bottom, 56px)); min-height: 380px; }
}
@media (hover: none) { #page-ai .gai-tools, #page-ai .gai-row-more { opacity: 1; } }
@media (prefers-reduced-motion: reduce) {
  #page-ai .gai-new, #page-ai .gai-send, #page-ai .gai-side, #page-ai .gai-tools, #page-ai .gai-row-more { transition: none; }
  #page-ai .gai-new:active, #page-ai .gai-send:active:not(:disabled), #page-ai .gai-send:hover:not(:disabled) { transform: none; }
}

/* Sohbet sayfasına ait öğeler (C düzeni, chat-page.css açar): ayrı AI sayfasında gizli. */
#page-ai .gai-who, #page-ai .gai-me-av, #page-ai .gai-info-btn, #page-ai .gai-bar-new span { display: none; }

/* ── assets/styles/app-shell.css ── */
/* ============================================================================
   UYGULAMA KABUĞU — sol yan menü + header araması + alt sekmeler
   ----------------------------------------------------------------------------
   Bu dosya cascade'in EN SONUNDA yüklenir: kabuk kuralları diğer katmanların
   üstünde kalsın diye. Sayfa içeriklerine karışmaz; yalnız çerçeveyi kurar.

   Tasarım dili tek kaynaktan gelir (dashboard-refined.css'teki "desk" paleti):
   beyaz kâğıt yüzey, ince çizgi, sakin mavi vurgu. Yeni bir renk sistemi
   getirmez; böylece daralan içerik alanında sayfalar aynı dili konuşmaya
   devam eder.
   ========================================================================== */

/* [hidden] her zaman gizler: aşağıdaki display kuralları onu ezmesin. */
.shell-side[hidden],
.shell-subtabs[hidden],
.shell-nav-item[hidden],
.shell-nav-group[hidden],
.shell-nav-badge[hidden] { display: none !important; }

/* --shell-top JS ile topbar yüksekliğinden ölçülür (core.js updateShellMetrics,
   html üzerine yazar). Bu yüzden YEDEK değer de :root'ta durmalı: body'de
   tanımlansaydı gövde tanımı JS'in yazdığı değeri ezerdi. */
:root { --shell-top: 68px; }

body {
  --shell-w: 244px;
  --shell-paper: var(--desk-paper, var(--surface-solid, #fff));
  --shell-line: var(--desk-line, var(--border));
  --shell-hover: rgba(127, 127, 127, .09);
}
body.shell-side-collapsed { --shell-w: 64px; }

/* ── Header: evrensel arama ────────────────────────────────────────────── */
.shell-search {
  position: relative;
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 1 1 auto;
}
.shell-search-field { position: relative; width: 100%; max-width: 620px; }
.shell-search .dash-search {
  min-height: 0;
  border: 1px solid var(--shell-line);
  border-radius: 11px;
  background: var(--shell-paper);
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}
.shell-search .dash-search:focus-within {
  border-color: var(--accent);
  box-shadow: 0 0 0 3px var(--accent-soft);
}
.shell-search .dash-search .search-input {
  width: 100%;
  min-width: 0;
  min-height: 40px;
  height: 40px;
  padding: 0 96px 0 38px;
  border: 0;
  border-radius: 11px;
  background: transparent;
  box-shadow: none;
  color: var(--text);
  font-size: 13px;
  font-weight: 500;
}
.shell-search .dash-search .search-input::placeholder { color: var(--muted); font-weight: 450; }
.shell-search .dash-search-icon {
  left: 13px;
  width: 16px;
  height: 16px;
  color: var(--muted);
  stroke-width: 2;
}
.shell-search-kbd {
  position: absolute;
  top: 50%;
  right: 9px;
  transform: translateY(-50%);
  padding: 3px 7px;
  border: 1px solid var(--shell-line);
  border-radius: 6px;
  background: var(--desk-soft, rgba(127, 127, 127, .07));
  color: var(--muted);
  font: 700 9.5px var(--font-numeric);
  letter-spacing: .06em;
  pointer-events: none;
}
/* Kutuda yazı varken sağdaki × (field-clear) çıkar; ipucu ona yer açar. */
.shell-search .dash-search:focus-within .shell-search-kbd,
.shell-search .search-input:not(:placeholder-shown) ~ .shell-search-kbd { opacity: 0; }
.shell-search-trigger { display: none; }
/* Konumu mutlak: böylece core.js'teki temizleme düğmesi bu kutuyu "tek
   kabuklu" sayar ve araya fazladan sarmalayıcı eklemez. */
.shell-search-close { position: absolute; display: none; }
.shell-search .tk-search-results { max-height: min(62vh, 460px); }

/* Karşılama yalnız panoda; üstte yalnız yalın arama ve hesap araçları var. */
.shell-greeting {
  min-width: 0;
  overflow: hidden;
  margin: 0;
  color: var(--text);
  font-size: 26px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: -.035em;
  text-overflow: ellipsis;
  white-space: nowrap;
}
/* İNCE HEADER — sayfa adını taşıyan kendi yüzeyi olan şerit.
   Kaydırmada tepede kalır (sticky), yüzeyi yan menüyle aynı kâğıt rengidir ve
   alt çizgiyle içerikten ayrılır; saydam DEĞİLDİR (2026-09-19 kararı: altından
   geçen içerik yazıların arasına karışıyordu). Yüksekliği 56px — arama alanı
   40px olduğu için bundan incesi nefes payını bitirir. Katman sırası: yan menü
   (fixed, z-index 95) üstte, header 90, modallar (380+) ikisinin de üstünde. */
html body.shell-ready > .topbar,
html[data-theme="dark"] body.shell-ready > .topbar {
  position: sticky;
  top: 0;
  z-index: 90;
  width: auto;
  height: 56px;
  margin: 0;
  padding: 0 20px;
  border: 0;
  border-bottom: 1px solid var(--shell-line);
  background: var(--shell-paper) !important;
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}
/* Sayfa kayınca şerit içerikten bir tık daha ayrışır (core.js shell-scrolled). */
html body.shell-ready.shell-scrolled > .topbar,
html[data-theme="dark"] body.shell-ready.shell-scrolled > .topbar {
  box-shadow: 0 1px 10px rgba(28, 44, 68, .06);
}
body.shell-ready .topbar-right > .notif-btn,
body.shell-ready .topbar-right > .account-chip {
  background: var(--shell-paper);
  border-color: var(--shell-line);
}
@media (min-width: 781px) {
  .shell-search { flex: 0 1 auto; justify-content: flex-end; margin-left: auto; }
  .shell-search-field { width: clamp(230px, 28vw, 380px); max-width: none; }
  .topbar > .topbar-right { flex: 0 0 auto; margin-left: 0; }

  /* Hamburger masaüstünde gereksiz: yan menü zaten açık ve kendi "Menüyü
     Daralt" düğmesi + Ctrl+B var. MOBİLDE KALIR — orada cam menü tek gezinme
     yoludur. `shell-ready` koşulu emniyet: kabuk kurulamazsa düğme geri gelir
     ve gezinme yine kaybolmaz. */
  body.shell-ready #glassMenuBtn { display: none; }
}

/* Orta/dar ekran: sekmelere yer açmak için arama ikona iner; dokununca
   üst çubuğu kaplar. Böylece sekme adları kırpılmaz. */
@media (max-width: 1100px) {
  /* Konum sıfırlanır: açılan kutu dar ikon düğmesine değil, ÜST ÇUBUĞA göre
     yerleşsin (yoksa 38px'lik düğmenin içine sıkışır). */
  .shell-search { position: static; flex: 0 0 auto; margin-left: auto; }
  .shell-search-trigger {
    width: 38px;
    height: 38px;
    display: grid;
    place-items: center;
    padding: 0;
    border: 1px solid var(--shell-line);
    border-radius: 10px;
    background: var(--desk-soft, transparent);
    color: var(--muted);
    cursor: pointer;
  }
  .shell-search-trigger svg { width: 17px; height: 17px; stroke-width: 1.9; }
  .shell-search-field { display: none; }
  body.shell-search-open .shell-search-field {
    position: absolute;
    top: 50%;
    right: 12px;
    left: 12px;
    z-index: 30;
    display: block;
    width: auto;
    max-width: none;
    transform: translateY(-50%);
  }
  body.shell-search-open .shell-search-trigger { visibility: hidden; }
  .shell-search .dash-search .search-input { padding-right: 44px; }
  .shell-search-kbd { display: none; }
  /* Açık aramada iki düğme yan yana durur: metni temizleyen × sola kayar,
     katmanı kapatan × en sağda kalır (üst üste binmezler). */
  body.shell-search-open .shell-search .dash-search .search-input { padding-right: 74px; }
  body.shell-search-open .shell-search .field-clear { right: 38px; }
  body.shell-search-open .shell-search-close {
    position: absolute;
    top: 50%;
    right: 6px;
    width: 30px;
    height: 30px;
    display: grid;
    place-items: center;
    padding: 0;
    border: 0;
    border-radius: 8px;
    background: transparent;
    color: var(--muted);
    transform: translateY(-50%);
    cursor: pointer;
  }
  body.shell-search-open .shell-search-close svg { width: 15px; height: 15px; stroke-width: 2; }
}

/* ── Sol yan menü ──────────────────────────────────────────────────────── */
.shell-side { display: none; }

@media (min-width: 781px) {
  body.shell-ready .shell-side:not([hidden]) {
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    z-index: 95;
    display: block;
    width: var(--shell-w);
    border-right: 1px solid var(--shell-line);
    background: var(--shell-paper);
  }

  /* İçerik alanı TEK bir yerden daraltılır: gövdeye sol boşluk verilir.
     Böylece sayfaların kendi genişlik kuralları (#page-orders gibi yüzde
     tabanlı olanlar dahil) daralmış alana göre yeniden hesaplanır; sayfa
     başına düzeltme gerekmez ve yatay taşma oluşmaz.
     Karşılama ve eylemler de yalnız içerik sütununda durur. */
  body.shell-ready { padding-left: var(--shell-w); }

  /* Ekrana sabitlenmiş yüzen katmanlar menünün altında kalmasın. */
  body.shell-ready .floating-chat-dock { left: calc(var(--shell-w) + 22px); }
  body.shell-ready .msg-dock,
  body.shell-ready .order-selection-dock,
  body.shell-ready .app-busy-status,
  body.shell-ready .test-persona-badge { left: calc(50% + var(--shell-w) / 2); }
}

.shell-side-inner {
  height: 100%;
  display: flex;
  flex-direction: column;
  padding: 0;
}
/* Marka bloğu header'ın AYNASI: yüksekliği header ile aynı 56px (alt çizgi dahil), yani üst
   çubuğun alt çizgisiyle tam aynı hizada biter. Çizgi rayın iki kenarına kadar
   uzanır ki sol üst köşede header'ın çizgisiyle kesintisiz birleşsin.
   Bu hizayı korumak için marka simgesi ve yazısı küçültüldü — header'ı
   kalınlaştırmak seçenek değil (2026-09-19 kararı). Ölçüler değişirse
   tests/app-shell.browser.cjs'teki "çizgiler aynı hizada" bekçisi düşer. */
.shell-brand {
  display: flex;
  align-items: center;
  flex: 0 0 auto;
  gap: 9px;
  width: 100%;
  height: 56px;
  min-height: 0;
  margin: 0 0 10px;
  padding: 0 14px;
  border: 0;
  border-bottom: 1px solid var(--shell-line);
  border-radius: 0;
  background: transparent;
  color: var(--text);
  text-align: left;
  cursor: pointer;
}
.shell-brand:hover { color: var(--accent); }
.shell-brand:focus-visible { outline: 2px solid var(--accent); outline-offset: -2px; }
.shell-brand-mark { width: 34px; height: 34px; flex: 0 0 34px; display:block; object-fit:contain; }
.shell-brand-name { overflow: hidden; font-size: 14.5px; font-weight: 650; letter-spacing: -.025em; text-overflow: ellipsis; white-space: nowrap; }
.shell-brand-name strong { font-weight: 650; }
.shell-side-scroll {
  min-height: 0;
  flex: 1;
  overflow-x: hidden;
  overflow-y: auto;
  padding: 0 10px 10px;
  scrollbar-width: thin;
}
/* Sohbet satırı ayar bölümünün ÜSTÜNDE, çizginin üzerinde durur ve menü
   kaydırılsa bile yerinde kalır (kendi şeridi vardır). */
.shell-side-chat {
  flex: 0 0 auto;
  padding: 0 10px 6px;
}
.shell-side-chat:has(#shellChatNavItem[hidden]) { display: none; }
/* Menüye alınan siparişler sohbetin üstünde sabit kalır. */
.shell-side-parked {
  flex: 0 0 auto;
  padding: 8px 10px 10px;
  border-top: 1px solid var(--shell-line);
}
.shell-side-parked[hidden] { display: none !important; }
.shell-side-foot {
  flex: 0 0 auto;
  padding: 8px 10px calc(10px + env(safe-area-inset-bottom));
  border-top: 1px solid var(--shell-line);
}
.shell-nav-list { display: grid; gap: 2px; }

.shell-nav-item {
  position: relative;
  width: 100%;
  min-height: 36px;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 7px 9px;
  border: 0;
  border-radius: 9px;
  background: transparent;
  color: var(--muted);
  font: 600 12.5px inherit;
  letter-spacing: -.01em;
  text-align: left;
  cursor: pointer;
  transition: background .14s ease, color .14s ease;
}
.shell-nav-item:hover { background: var(--shell-hover); color: var(--text); }
.shell-nav-item:focus-visible { outline: 2px solid var(--accent); outline-offset: -2px; }
.shell-nav-item.active { background: var(--accent-soft); color: var(--accent); }
.shell-nav-item.active .shell-nav-icon svg { color: var(--accent); }

.shell-nav-icon {
  width: 18px;
  height: 18px;
  flex: 0 0 18px;
  display: grid;
  place-items: center;
}
.shell-nav-icon svg { width: 17px; height: 17px; stroke-width: 1.75; }
.shell-nav-label {
  min-width: 0;
  flex: 1;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.shell-nav-badge {
  min-width: 18px;
  height: 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  padding: 0 5px;
  border-radius: 9px;
  background: var(--danger, #ff3b30);
  color: #fff;
  font: 800 9.5px var(--font-numeric);
}
.shell-nav-chevron {
  width: 14px;
  height: 14px;
  flex: 0 0 14px;
  color: var(--muted);
  stroke-width: 2;
  transition: transform .16s ease;
}
.shell-nav-group.is-open > .is-group .shell-nav-chevron { transform: rotate(90deg); }

/* Alt dal: ince kılavuz çizgisi menüyü kalabalıklaştırmadan hiyerarşiyi anlatır. */
.shell-nav-sub {
  display: none;
  margin: 2px 0 4px 18px;
  padding-left: 7px;
  border-left: 1px solid var(--shell-line);
}
.shell-nav-group.is-open > .shell-nav-sub { display: grid; gap: 2px; }
.shell-nav-item.is-sub {
  min-height: 31px;
  padding: 6px 9px;
  font-size: 12px;
  font-weight: 550;
}
.shell-nav-bullet {
  width: 5px;
  height: 5px;
  flex: 0 0 5px;
  margin-left: 4px;
  border-radius: 50%;
  background: currentColor;
  opacity: .32;
}
.shell-nav-item.is-sub.active .shell-nav-bullet { opacity: 1; }

.shell-side-toggle {
  width: 100%;
  min-height: 32px;
  display: flex;
  align-items: center;
  gap: 9px;
  margin-top: 6px;
  padding: 6px 9px;
  border: 0;
  border-radius: 9px;
  background: transparent;
  color: var(--muted);
  font: 600 11.5px inherit;
  cursor: pointer;
}
.shell-side-toggle:hover { background: var(--shell-hover); color: var(--text); }
.shell-side-toggle:focus-visible { outline: 2px solid var(--accent); outline-offset: -2px; }
.shell-side-toggle svg {
  width: 16px;
  height: 16px;
  flex: 0 0 16px;
  stroke-width: 1.9;
  transition: transform .16s ease;
}

/* ── İkon rayı (daraltılmış menü) ─────────────────────────────────────── */
body.shell-side-collapsed .shell-nav-label,
body.shell-side-collapsed .shell-nav-chevron,
body.shell-side-collapsed .shell-side-toggle span,
body.shell-side-collapsed .shell-brand-name { display: none; }
body.shell-side-collapsed .shell-brand { justify-content: center; width: 100%; margin-inline: 0; padding-inline: 0; }
/* Grup açık olsa bile ikon rayında alt dal listesi çizilmez; alt sekme
   şeridi bu görevi üstlenir. (.is-open kuralından daha güçlü seçici.) */
body.shell-side-collapsed .shell-nav-group.is-open > .shell-nav-sub,
body.shell-side-collapsed .shell-nav-sub { display: none; }
body.shell-side-collapsed .shell-nav-item,
body.shell-side-collapsed .shell-side-toggle {
  justify-content: center;
  padding-inline: 0;
}
body.shell-side-collapsed .shell-side-scroll,
body.shell-side-collapsed .shell-side-foot { padding-inline: 8px; }
body.shell-side-collapsed .shell-side-toggle svg { transform: rotate(180deg); }
/* Daralmış rayda sayı sığmaz: rozet ikonun köşesinde kırmızı noktaya iner. */
body.shell-side-collapsed .shell-nav-badge {
  position: absolute;
  top: 4px;
  right: 9px;
  min-width: 8px;
  width: 8px;
  height: 8px;
  padding: 0;
  overflow: hidden;
  border: 2px solid var(--shell-paper);
  border-radius: 50%;
  font-size: 0;
}

/* Kardeş sayfalar, masaüstünde menünün yanındaki boş araç alanını kullanır.
   Böylece içerikten ayrı, ikinci bir yatay header oluşmaz. */
.shell-subtabs {
  flex: 0 1 auto;
  min-width: 0;
}
.shell-subtabs-inner {
  display: flex;
  align-items: center;
  gap: 16px;
  overflow-x: auto;
  scrollbar-width: none;
}
.shell-subtabs-inner::-webkit-scrollbar { display: none; }
.shell-subtabs-row { display: flex; gap: 4px; }
.shell-subtab {
  min-height: 36px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 13px;
  border: 1px solid transparent;
  border-radius: 10px;
  background: var(--shell-hover);
  color: var(--muted);
  font: 650 12.5px inherit;
  white-space: nowrap;
  cursor: pointer;
  transition: background .14s ease, color .14s ease;
}
.shell-subtab:hover { border-color: var(--shell-line); background: var(--shell-paper); color: var(--text); }
.shell-subtab:focus-visible { outline: 2px solid var(--accent); outline-offset: -2px; }
.shell-subtab.active { border-color: color-mix(in srgb, var(--accent) 30%, var(--shell-line)); background: var(--accent-soft); color: var(--accent); }
.shell-subtab-icon { width: 16px; height: 16px; flex: 0 0 16px; display: inline-grid; place-items: center; }
.shell-subtab-icon svg { width: 16px; height: 16px; stroke-width: 1.9; }
.shell-subtabs-standalone { overflow: visible; }
/* Sayfa adı: şeridin en solunda, sekmelerden ve aksiyonlardan önce. */
.shell-page-label { display: inline-flex; align-items: center; gap: 9px; flex: 0 0 auto; color: var(--text); font-size: 16px; font-weight: 700; white-space: nowrap; }
.shell-page-label .shell-subtab-icon,
.shell-page-label .shell-subtab-icon svg { width: 18px; height: 18px; }
/* Menüde girişi olmayan alt sayfa (Planlayıcı): "Ana Sayfa › Planlayıcı".
   İlk parça sessiz geri bağlantısıdır; etiket sayfa adıdır (TASARIM-DILI §3.29). */
.shell-crumb { display: inline-flex; align-items: center; gap: 7px; height: 30px; padding: 0 8px; margin-left: -8px; border: 0; border-radius: 8px; background: transparent; color: var(--muted); font: 600 14px/1 var(--font); white-space: nowrap; cursor: pointer; }
.shell-crumb:hover { background: var(--desk-soft, var(--surface-2)); color: var(--text); }
.shell-crumb svg { width: 16px; height: 16px; flex: 0 0 auto; }
.shell-crumb-sep { margin: 0 6px 0 2px; color: var(--muted); font-size: 14px; }
.shell-subtabs-inner:has(.shell-crumb) { justify-content: flex-start; }
.shell-page-actions { display: flex; align-items: center; gap: 8px; }
.shell-page-actions .watchlist-command-toggle {
  min-height: 34px;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 0 11px;
  border: 1px solid var(--shell-line);
  border-radius: 10px;
  background: var(--shell-paper);
  color: var(--text);
  font: 650 11px inherit;
  white-space: nowrap;
  cursor: pointer;
}
.shell-page-actions .watchlist-command-toggle:hover:not(:disabled) { border-color: var(--accent); background: var(--accent-soft); }
.shell-page-actions .watchlist-command-toggle svg { width: 15px; height: 15px; stroke-width: 1.9; }
.shell-page-actions .watchlist-command-toggle.is-open { border-color: var(--accent); color: var(--accent); }
.shell-page-actions .watchlist-share-selected { background: var(--accent); color: var(--shell-paper); }
.shell-page-actions .watchlist-share-selected:hover:not(:disabled) { background: var(--accent); color: var(--shell-paper); }
/* Paylaş düğmesi is-open sınıfını da taşır; is-open'ın mavi yazısı mavi zemine
   düşüp yazıyı görünmez yapıyordu. Dolgulu düğmede yazı --on-accent'tir. */
.shell-page-actions .watchlist-command-toggle.watchlist-share-selected,
.shell-page-actions .watchlist-command-toggle.watchlist-share-selected:hover:not(:disabled) { border-color: var(--accent); background: var(--accent); color: var(--on-accent); }
.shell-page-actions .watchlist-share-selected b { background: color-mix(in srgb, var(--on-accent) 22%, transparent); color: var(--on-accent); }
.shell-page-actions .watchlist-command-toggle b { min-width: 17px; height: 17px; display: inline-grid; place-items: center; padding: 0 4px; border-radius: 9px; background: var(--accent-soft); color: var(--accent); font: 700 10px var(--font-numeric); }
.shell-page-actions .watchlist-command-toggle:disabled { opacity: .45; cursor: default; }
@media (min-width: 781px) and (max-width: 1100px) {
  .shell-subtab { gap: 6px; padding-inline: 9px; font-size: 12px; }
  .shell-page-label { font-size: 14px; gap: 7px; }
  .shell-page-label .shell-subtab-icon,
  .shell-page-label .shell-subtab-icon svg { width: 16px; height: 16px; }
  /* Üst çubuk daralınca bölüm adı çekilir: kardeş sekmeler zaten sayfanın
     adını yazıyor, ikisi birden sığmadığında sekmeler kalır. Tek başına duran
     sayfada ad TEK kaynaktır, orada gizlenmez. */
  .shell-subtabs-inner:not(.shell-subtabs-standalone) > .shell-page-label { display: none; }
  /* Üç ve daha çok kardeş sekmede (Rehber: Müşteriler · Fasoncular · WhatsApp)
     simgeler çekilir, adlar kırpılmadan sığar. */
  .shell-subtabs-row:has(> .shell-subtab:nth-child(3)) .shell-subtab-icon { display: none; }
  .shell-subtabs-row:has(> .shell-subtab:nth-child(3)) { gap: 2px; }
  .shell-subtabs-row:has(> .shell-subtab:nth-child(3)) .shell-subtab { padding-inline: 7px; }
  .shell-page-actions .watchlist-command-toggle { width: 34px; justify-content: center; padding: 0; }
  .shell-page-actions .watchlist-command-toggle span,
  .shell-page-actions .watchlist-command-toggle b { display: none; }
}
@media (max-width: 780px) {
  .shell-subtabs-standalone { justify-content: space-between; }
  .shell-page-actions { margin-left: auto; }
}
.shell-subtab-badge {
  min-width: 17px;
  height: 17px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 5px;
  border-radius: 9px;
  background: var(--danger, #ff3b30);
  color: #fff;
  font: 800 9px var(--font-numeric);
}
@media (max-width: 780px) {
  /* Mobilde arama/hesap araçlarını daraltmadan, sekmeler üst satırın hemen
     altında kendi yatay kaydırılabilir alanında kalır. */
  html body.shell-ready > .topbar:has(> .shell-subtabs:not([hidden])) { margin-bottom: 46px; }
  .topbar > .shell-subtabs:not([hidden]) {
    position: absolute;
    top: 100%;
    right: 0;
    left: 0;
    height: 46px;
    display: flex;
    align-items: center;
    border-bottom: 1px solid var(--shell-line);
    background: var(--shell-paper);
  }
  .shell-subtabs-inner { width: 100%; padding-inline: 14px; }
  .shell-page-label { font-size: 14px; }
}

/* ── Klavye kısayolları penceresi ───────────────────────────────────────
   Bloklamayan, gezinirken açık kalan pencere. Yüzey dili doklarla aynı
   (bulanık cam + aynı kenar/gölge), içerik satırları .shell-keys-* ile. */
.key-guide {
  position: fixed;
  /* Modalların (.modal-overlay z-index:400) ALTINDA, sayfa içeriğinin üstünde. */
  z-index: 380;
  left: calc(var(--shell-w, 0px) + 20px);
  bottom: 24px;
  width: min(360px, calc(100vw - 32px));
  max-height: min(54vh, 480px);
  display: flex;
  flex-direction: column;
  padding: 16px 16px 12px;
  border: 1px solid color-mix(in srgb, #fff 26%, var(--shell-line));
  border-radius: 18px;
  background: color-mix(in srgb, var(--shell-paper) 92%, transparent);
  box-shadow: 0 22px 60px rgba(0, 0, 0, .26), 0 4px 14px rgba(0, 0, 0, .14);
  backdrop-filter: blur(18px) saturate(1.1);
  opacity: 0;
  transform: translateY(10px) scale(.98);
  transition: opacity .18s ease, transform .22s cubic-bezier(.22, 1, .36, 1);
}
.key-guide.is-open { opacity: 1; transform: none; }
.key-guide[hidden] { display: none; }
.key-guide .shell-keys-head { margin-bottom: 12px; }
.key-guide .shell-keys-head h2 { font-size: 16px; }
.key-guide-tools { display: inline-flex; align-items: center; gap: 2px; flex-shrink: 0; }
.key-guide-tools .shell-keys-close { width: 28px; height: 28px; }
.key-guide-body { min-height: 0; overflow-y: auto; display: grid; gap: 14px; margin-right: -6px; padding-right: 6px; }
.key-guide-body::-webkit-scrollbar { width: 7px; }
.key-guide-body::-webkit-scrollbar-thumb { background: rgba(127, 127, 127, .3); border-radius: 6px; }
.key-guide-group-title {
  display: block;
  margin-bottom: 5px;
  color: var(--muted);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.key-guide .shell-keys-row { grid-template-columns: 118px minmax(0, 1fr); gap: 10px; padding: 6px 8px; }
/* Sayfa atlama ızgarası: aynı kalıbı tekrar eden 9 kısayol, 9 satır yerine
   iki kolonda. Çipler .shell-keys-combo kbd ile aynı görünür. */
.key-guide-go { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px 8px; }
.key-guide-go-item { display: flex; align-items: center; gap: 3px; min-width: 0; padding: 3px 6px; border-radius: 8px; background: var(--desk-soft, rgba(127, 127, 127, .05)); }
.key-guide-go-item kbd {
  min-width: 20px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 3px 5px;
  border: 1px solid var(--shell-line);
  border-bottom-width: 2px;
  border-radius: 5px;
  background: var(--shell-paper);
  color: var(--text);
  font: 700 9.5px var(--font-numeric);
}
.key-guide-go-item small { min-width: 0; overflow: hidden; margin-left: 3px; color: var(--text); font-size: 11px; font-weight: 500; text-overflow: ellipsis; white-space: nowrap; }
.key-guide .shell-keys-desc { font-size: 12px; }
.key-guide .shell-keys-foot { margin-top: 10px; font-size: 10px; }
/* "Alta al" durumu: pencere menü çubuğu hizasındaki pilluya iner. */
.key-guide-pill {
  position: fixed;
  z-index: 380;
  left: calc(var(--shell-w, 0px) + 20px);
  bottom: 24px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 9px 14px 9px 11px;
  border: 1px solid color-mix(in srgb, #fff 26%, var(--shell-line));
  border-radius: 999px;
  background: color-mix(in srgb, var(--shell-paper) 88%, transparent);
  color: var(--text);
  font: 650 12px inherit;
  cursor: pointer;
  box-shadow: 0 14px 34px rgba(0, 0, 0, .2), 0 3px 10px rgba(0, 0, 0, .12);
  backdrop-filter: blur(16px) saturate(1.1);
}
.key-guide-pill[hidden] { display: none; }
.key-guide-pill:hover { border-color: var(--accent); color: var(--accent); }
.key-guide-pill-ico { display: grid; place-items: center; color: var(--muted); }
.key-guide-pill:hover .key-guide-pill-ico { color: var(--accent); }
.key-guide-pill-ico svg { width: 17px; height: 17px; }
.shell-keys-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 16px;
}
.shell-keys-eyebrow {
  color: var(--accent);
  font-size: 9px;
  font-weight: 850;
  letter-spacing: .13em;
}
.shell-keys-head h2 {
  margin: 6px 0 0;
  color: var(--text);
  font-size: 19px;
  font-weight: 700;
  letter-spacing: -.03em;
}
.shell-keys-close {
  width: 32px;
  height: 32px;
  display: grid;
  place-items: center;
  flex: 0 0 32px;
  padding: 0;
  border: 1px solid var(--shell-line);
  border-radius: 9px;
  background: transparent;
  color: var(--muted);
  cursor: pointer;
}
.shell-keys-close:hover { background: var(--shell-hover); color: var(--text); }
.shell-keys-close svg { width: 15px; height: 15px; stroke-width: 2; }
.shell-keys-list { display: grid; gap: 2px; }
.shell-keys-row {
  display: grid;
  grid-template-columns: 150px minmax(0, 1fr);
  align-items: center;
  gap: 14px;
  padding: 9px 10px;
  border-radius: 10px;
}
.shell-keys-row:nth-child(odd) { background: var(--desk-soft, rgba(127, 127, 127, .05)); }
.shell-keys-combo { display: flex; align-items: center; gap: 5px; }
.shell-keys-combo kbd {
  min-width: 26px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 4px 7px;
  border: 1px solid var(--shell-line);
  border-bottom-width: 2px;
  border-radius: 6px;
  background: var(--shell-paper);
  color: var(--text);
  font: 700 10.5px var(--font-numeric);
}
.shell-keys-combo i { color: var(--muted); font-size: 9px; font-style: normal; }
.shell-keys-desc { color: var(--text); font-size: 12.5px; font-weight: 500; }
.shell-keys-foot {
  margin: 14px 0 0;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.5;
}

@media (max-width: 560px) {
  .shell-keys-row { grid-template-columns: 1fr; gap: 6px; }
  /* Mobilde pencere alt sayfa gibi durur; alttaki sohbet çubuğunu kapatmaz.
     Satırlar TEK kolona düşmez: tuş çipleri kısa, iki kolon daha az yer tutar. */
  .key-guide { left: 10px; right: 10px; bottom: 96px; width: auto; max-height: 58vh; }
  .key-guide .shell-keys-row { grid-template-columns: 92px minmax(0, 1fr); gap: 8px; }
  .key-guide .shell-keys-desc { font-size: 11.5px; }
  .key-guide-pill { left: 12px; bottom: 96px; }
}

/* Arama önerilerinde "Sayfa" satırı: müşteri satırıyla aynı ritim. */
.dash-page-item { display: flex; align-items: center; gap: 11px; }

/* ── Mobil cam menü: masaüstü yan menüyle aynı gruplama ───────────────── */
.glass-menu-group {
  padding: 12px 12px 5px;
  color: var(--muted);
  font-size: 9.5px;
  font-weight: 850;
  letter-spacing: .13em;
  text-transform: uppercase;
}
.glass-menu-items > .glass-menu-group:first-child { padding-top: 4px; }
.glass-menu-item.is-sub { margin-left: 14px; }
.glass-menu-sep {
  height: 1px;
  margin: 10px 8px;
  background: var(--shell-line);
}
.glass-menu-brand { display: inline-flex; align-items: center; gap: 12px; min-width: 0; }
.glass-menu-brand .shell-brand-name { font-size: 16px; letter-spacing: -.02em; }

/* Pano açılışı: tek satır selamlama, eski açıklama ve saat kutusu yok. */
html #page-dashboard { padding-top: 0; }
/* Sayfalar header altında aynı 24px nefes payıyla başlar. Notlar ve
   Siparişler kendi tam yükseklikli çalışma alanı ölçülerini korur. Sohbet
   sayfasına gömülü Gençler AI (.is-embedded) yuvayı kenardan kenara doldurur. */
body.shell-ready .page:not(#page-dashboard):not(#page-notes):not(#page-orders):not(.is-embedded) {
  padding-top: 24px;
  padding-bottom: 24px;
}
#page-photos .photo-section-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
#page-photos .photo-section-count { color: var(--muted); font-size: 12px; font-weight: 600; white-space: nowrap; }
html #page-dashboard .dashboard-hero {
  min-height: 0;

  /* Karşılama header'a yapışmasın: şeridin altıyla yazının tepesi arasında
     bilinçli bir boşluk var (sayfa dolgusu 26px + buradaki 20px). */
  padding: 40px 0 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
/* Selamlama satırı: solda selam + gündem şeridi, sağda "Panoyu düzenle".
   Eskiden düğme panonun üstünde tek başına bir şerit açıyordu. */
html #page-dashboard .dashboard-hero {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 20px;
}
#page-dashboard .dashboard-hero-copy { min-width: 0; }
#page-dashboard .deck-edit-launch { flex: none; }
/* Sağ uç: "Panoyu düzenle" + yuvarlak ? (sayfa içi yardım, §3.43). Düzenlerken
   düğme gizlenir, ? yerinde kalır. */
#page-dashboard .dashboard-hero-actions { display: flex; align-items: center; gap: 8px; flex: none; }
#page-dashboard .dashboard-hero-actions .page-help-btn { width: 34px; height: 34px; }
#page-dashboard .deck-edit-launch[hidden],
#page-dashboard .deck-bar[hidden] { display: none; }
/* Gündem: kutusuz, tek satır. Nokta rengi durumu, sayı kalın, etiket sakin. */
#page-dashboard .today-agenda {
  display: flex;
  align-items: center;
  gap: 2px;
  min-height: 30px;
  margin: 6px 0 0 -8px;
  overflow: hidden;
  white-space: nowrap;
  font-size: var(--type-meta);
  color: var(--desk-muted);
}
#page-dashboard .today-agenda-date,
#page-dashboard .today-agenda-clear { padding: 6px 8px; }
#page-dashboard .today-agenda-date { font-weight: 600; }
#page-dashboard .today-agenda-date::first-letter { text-transform: uppercase; }
#page-dashboard .today-agenda-item {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  min-height: 30px;
  padding: 6px 8px;
  border: 0;
  border-radius: 8px;
  background: none;
  color: var(--desk-muted);
  font: inherit;
  font-weight: 500;
  cursor: pointer;
  transition: background-color .15s ease, color .15s ease;
}
#page-dashboard .today-agenda-item b { color: var(--desk-ink); font-weight: 700; font-variant-numeric: tabular-nums; }
#page-dashboard .today-agenda-item i { width: 6px; height: 6px; border-radius: 50%; background: var(--desk-muted); opacity: .6; }
#page-dashboard .today-agenda-item.is-overdue i { background: var(--danger); opacity: 1; }
#page-dashboard .today-agenda-item.is-overdue b { color: var(--danger); }
#page-dashboard .today-agenda-item.is-soon i { background: var(--warning-fill); opacity: 1; }
#page-dashboard .today-agenda-item.is-accent i { background: var(--accent); opacity: 1; }
#page-dashboard .today-agenda-item:hover { background: var(--desk-soft); color: var(--desk-ink); }
#page-dashboard .today-agenda-item:focus-visible { outline: 2px solid var(--accent); outline-offset: 1px; }
@media (max-width: 760px) {
  html #page-dashboard .dashboard-hero { align-items: flex-start; flex-direction: column; gap: 8px; }
  #page-dashboard .today-agenda { flex-wrap: wrap; white-space: normal; }
  /* Telefonda serbest yerleşim yok (widgetlar alt alta akar); düzenleme
     düğmesi tek başına bir satır kaplıyordu. */
  #page-dashboard .deck-edit-launch { display: none; }
  /* Telefonda ? selamın hizasında sağ üstte durur; tek başına satır açmaz. */
  html #page-dashboard .dashboard-hero { position: relative; }
  #page-dashboard .dashboard-hero-actions { position: absolute; top: 22px; right: 0; }
}
#page-dashboard .dashboard-hero .shell-greeting {
  min-height: 0;
  margin: 0;
  color: var(--text);
  font-size: 26px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: -.035em;
}
@media (max-width: 760px) {
  html body.shell-ready > .topbar,
  html[data-theme="dark"] body.shell-ready > .topbar {
    height: 56px;
    padding-inline: 14px;
  }
  body.shell-ready .topbar > .topbar-right { margin-left: 0; }
  #page-dashboard .dashboard-hero .shell-greeting { font-size: 24px; }
}

.shell-subtab-badge[hidden] { display: none !important; }

/* Yazdırma: kabuk kâğıda çıkmaz (sipariş/ticket çıktıları zaten ayrı pencerede
   hazırlanır; bu yalnızca kullanıcı sayfayı elle yazdırırsa devreye girer). */
@media print {
  .shell-side,
  .shell-subtabs,
  .shell-search { display: none !important; }
  body.shell-ready { padding-left: 0 !important; }
  body.shell-ready > .topbar { width: auto !important; margin-left: 0 !important; }
}

/* ── İkon rayı yardımcı etiketleri ─────────────────────────────────────
   Menü daralınca yazılar kaybolur; imleç yaklaşınca etiket ikonun sağında
   belirir. Katman GÖVDEYE takılır: `.shell-side-scroll`'un taşma kırpması
   balonu kesemez (yan menü dar ve `overflow:hidden`). Konumu JS yazar. */
.shell-tip {
  position: fixed;
  z-index: 12100; /* hızlı not (12020) ve not pencereleri (12050) üstünde kalsın */
  max-width: min(240px, calc(100vw - 32px));
  overflow: hidden;
  padding: 6px 10px;
  border: 1px solid rgba(31, 41, 55, .12);
  border-radius: 9px;
  background: rgba(255, 255, 255, .97);
  color: #263142;
  box-shadow: 0 10px 26px rgba(15, 23, 42, .16), inset 0 1px 0 rgba(255, 255, 255, .9);
  font: 680 11.5px/1.2 var(--font);
  text-overflow: ellipsis;
  white-space: nowrap;
  pointer-events: none;
  opacity: 0;
  transform: translateY(-50%) translateX(-4px);
  transition: opacity .13s ease, transform .16s cubic-bezier(.2, .75, .25, 1);
  backdrop-filter: blur(14px) saturate(1.25);
  -webkit-backdrop-filter: blur(14px) saturate(1.25);
}
.shell-tip.is-description { width:max-content; max-width:min(300px, calc(100vw - 24px)); white-space:pre-wrap; overflow-wrap:anywhere; font-weight:550; line-height:1.45; }
.shell-tip[hidden] { display: none; }
/* Eylemli balon (data-shell-tip-close): yazının yanında ×; imleç balona
   geçebilir, × tıklanır. Kapatma öğenin sahibine olayla bildirilir. */
.shell-tip.is-actionable:not([hidden]) { display: inline-flex; align-items: center; gap: 6px; padding: 3px 3px 3px 10px; pointer-events: auto; }
.shell-tip-text { min-width: 0; overflow: hidden; text-overflow: ellipsis; }
.shell-tip-x {
  width: 22px;
  height: 22px;
  flex: 0 0 22px;
  display: grid;
  place-items: center;
  padding: 0;
  border: 0;
  border-radius: 6px;
  background: transparent;
  color: var(--muted);
  cursor: pointer;
}
.shell-tip-x svg { width: 12px; height: 12px; stroke-width: 2; }
.shell-tip-x:hover { background: var(--shell-hover); color: var(--text); }
.shell-tip-x:focus-visible { outline: 2px solid var(--accent); outline-offset: -2px; }
.shell-tip.is-on { opacity: 1; transform: translateY(-50%) translateX(0); }
/* Üstte duran biçim: ikonun tam ortasından yukarı açılır, oku aşağıyı gösterir.
   Mesaj çubuğundaki ikonlar satırın ortasında olduğu için sağa açılan balon
   saatin ve metnin üstüne biniyordu. */
.shell-tip.is-top { transform: translate(-50%, calc(-100% - 4px)); }
.shell-tip.is-top.is-on { transform: translate(-50%, calc(-100% - 9px)); }
.shell-tip.is-top::before {
  top: auto;
  bottom: -4.5px;
  left: 50%;
  border-bottom: 0;
  border-left: 0;
  border-top: 1px solid rgba(31, 41, 55, .12);
  border-right: 1px solid rgba(31, 41, 55, .12);
  transform: translateX(-50%) rotate(45deg);
}
html[data-theme="dark"] .shell-tip.is-top::before { border-color: rgba(255, 255, 255, .12); }
/* Altta duran biçim: kutunun sol kenarından aşağı açılır, kutudan geniş olmaz
   (sipariş özetindeki ÖRGÜ/BOYA/İPLİK kutuları yan yana; balon komşuyu örtmesin). */
.shell-tip.is-bottom { transform: translateY(2px); }
.shell-tip.is-bottom.is-on { transform: translateY(7px); }
.shell-tip.is-bottom::before {
  top: -4.5px;
  left: 18px;
  border-bottom: 0;
  border-right: 0;
  border-top: 1px solid rgba(31, 41, 55, .12);
  border-left: 1px solid rgba(31, 41, 55, .12);
  transform: rotate(45deg);
}
html[data-theme="dark"] .shell-tip.is-bottom::before { border-color: rgba(255, 255, 255, .12); }
.shell-tip.is-bottom.is-bottom-flip { transform: translateY(-2px); }
.shell-tip.is-bottom.is-bottom-flip.is-on { transform: translateY(-7px); }
.shell-tip.is-bottom.is-bottom-flip::before { display: none; }
.shell-tip::before {
  content: "";
  position: absolute;
  top: 50%;
  left: -4.5px;
  width: 8px;
  height: 8px;
  border-bottom: 1px solid rgba(31, 41, 55, .12);
  border-left: 1px solid rgba(31, 41, 55, .12);
  background: inherit;
  transform: translateY(-50%) rotate(45deg);
}
html[data-theme="dark"] .shell-tip {
  border-color: rgba(255, 255, 255, .12);
  background: rgba(40, 40, 44, .97);
  color: #f2f2f5;
  box-shadow: 0 12px 30px rgba(0, 0, 0, .5), inset 0 1px 0 rgba(255, 255, 255, .05);
}
html[data-theme="dark"] .shell-tip::before { border-color: rgba(255, 255, 255, .12); }

@media (prefers-reduced-motion: reduce) {
  .shell-tip { transition: none; transform: translateY(-50%); }
  .shell-tip.is-top, .shell-tip.is-top.is-on { transition: none; transform: translate(-50%, calc(-100% - 9px)); }
}

/* ── Sohbet önizleme kartı ───────────────────────────────────────────────
   Menüdeki "Sohbet" satırının yanında açılır: mesaj gelince kendiliğinden
   kısa süre görünür, üzerine gelince okunmamışlar listelenir. Aynı kâğıt +
   ince çizgi dilini kullanır; yeni renk getirmez. Gövdeye takılıdır. */
.shell-chat-peek {
  position: fixed;
  z-index: 1200;
  width: 268px;
  max-width: calc(100vw - 32px);
  padding: 10px;
  border: 1px solid var(--shell-line);
  border-radius: 14px;
  background: var(--shell-paper);
  box-shadow: 0 18px 40px rgba(0, 0, 0, .16), 0 2px 8px rgba(0, 0, 0, .08);
  color: var(--text);
  cursor: pointer;
  opacity: 0;
  transform: translateX(-6px) scale(.985);
  transform-origin: left center;
  transition: opacity .16s ease, transform .16s ease;
}
.shell-chat-peek.is-open { opacity: 1; transform: none; }
.shell-chat-peek[hidden] { display: none !important; }
.shell-chat-peek-head {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 0 4px 8px;
}
.shell-chat-peek-kicker {
  flex: 1;
  font: 700 9.5px inherit;
  letter-spacing: .09em;
  text-transform: uppercase;
  color: var(--muted);
}
.shell-chat-peek-count {
  min-width: 16px;
  height: 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 5px;
  border-radius: 8px;
  background: var(--danger, #ff3b30);
  color: #fff;
  font: 800 9.5px var(--font-numeric);
}
.shell-chat-peek-row {
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 7px 4px;
  border-radius: 10px;
}
.shell-chat-peek-row + .shell-chat-peek-row { box-shadow: inset 0 1px 0 var(--shell-line); }
.shell-chat-peek-avatar {
  flex: 0 0 26px;
  width: 26px;
  height: 26px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: #fff;
  font: 700 10px inherit;
}
.shell-chat-peek-copy {
  min-width: 0;
  flex: 1;
  display: grid;
  gap: 1px;
}
.shell-chat-peek-name {
  font: 650 12px inherit;
  color: var(--text);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.shell-chat-peek-text {
  font: 500 11.5px inherit;
  color: var(--muted);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.shell-chat-peek-time {
  flex: 0 0 auto;
  align-self: flex-start;
  font: 600 9.5px var(--font-numeric);
  color: var(--muted);
  opacity: .8;
}
.shell-chat-peek-empty {
  padding: 8px 4px 10px;
  font: 500 11.5px inherit;
  color: var(--muted);
}
.shell-chat-peek-foot {
  margin-top: 6px;
  padding: 7px 4px 0;
  border-top: 1px solid var(--shell-line);
  font: 600 10.5px inherit;
  color: var(--muted);
}
@media (prefers-reduced-motion: reduce) {
  .shell-chat-peek { transition: none; }
}
/* Mobilde yan menü yok: kart da yok (küçülen çubuk topçuğa iner). */
@media (max-width: 780px) {
  .shell-chat-peek { display: none !important; }
}

/* ── Sohbet şeridi + yan menüye bağlı sohbet panelleri ─────────────────────
   Masaüstünde sayfanın altında ortalanan eski sohbet çubuğu kullanılmaz:
   "Sohbet", açık tutulan sohbetler ve "Kanallar" yan menünün kendi şeridinde
   durur; paneller menünün hemen yanından açılır. Önizleme kartıyla aynı
   kâğıt + ince çizgi dili — yeni renk sistemi getirmez. Mobilde (yan menü
   yok) alt çubuk ve eski panel yerleşimi olduğu gibi kalır. */
.shell-chat-heads[hidden],
.shell-voice-live[hidden] { display: none !important; }

.shell-chat-heads {
  display: grid;
  gap: 2px;
  margin: 2px 0 4px 18px;
  padding-left: 7px;
  border-left: 1px solid var(--shell-line);
}
.shell-chat-head { position: relative; }
.shell-chat-head-open { padding-right: 9px; }
.shell-chat-head-avatar {
  position: relative;
  width: 18px;
  height: 18px;
  flex: 0 0 18px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: #fff;
  font: 700 8px/1 var(--font);
  letter-spacing: 0;
}
.shell-chat-head-avatar.online::after {
  content: "";
  position: absolute;
  right: -2px;
  bottom: -2px;
  width: 7px;
  height: 7px;
  border: 1.5px solid var(--shell-paper);
  border-radius: 50%;
  background: var(--success, #30b85a);
}
.shell-chat-head.active > .shell-chat-head-open { background: var(--accent-soft); color: var(--accent); }
.shell-chat-head-x {
  position: absolute;
  top: 50%;
  right: 5px;
  width: 22px;
  height: 22px;
  display: grid;
  place-items: center;
  padding: 0;
  border: 0;
  border-radius: 6px;
  background: transparent;
  color: var(--muted);
  cursor: pointer;
  opacity: 0;
  transform: translateY(-50%);
  transition: opacity .12s ease, background .12s ease, color .12s ease;
}
.shell-chat-head-x svg { width: 12px; height: 12px; stroke-width: 2; }
.shell-chat-head:hover .shell-chat-head-x,
.shell-chat-head-x:focus-visible { opacity: 1; }
.shell-chat-head-x:hover { background: var(--shell-hover); color: var(--text); }
.shell-chat-head-x:focus-visible { outline: 2px solid var(--accent); outline-offset: -2px; }
/* Kaldırma düğmesi belirince rozet yer açar (üst üste binmesinler). */
.shell-chat-head:hover .shell-chat-head-open .shell-nav-badge,
.shell-chat-head:focus-within .shell-chat-head-open .shell-nav-badge { visibility: hidden; }

.shell-voice-live {
  height: 18px;
  display: inline-flex;
  align-items: center;
  flex: 0 0 auto;
  gap: 5px;
  padding: 0 7px;
  border-radius: 9px;
  background: color-mix(in srgb, var(--success, #30b85a) 14%, transparent);
  color: var(--success, #30b85a);
  font: 750 9.5px var(--font-numeric);
}
.shell-voice-live::before {
  content: "";
  width: 6px;
  height: 6px;
  flex: 0 0 6px;
  border-radius: 50%;
  background: currentColor;
}
/* Ses hareketi Sohbet simgesinin köşesinde nokta: odada konuşan var (sabit) ya da sen bağlısın (atar). */
.shell-nav-chat .shell-nav-icon { position: relative; }
.shell-chat-voice {
  position: absolute;
  top: -2px;
  right: -3px;
  width: 8px;
  height: 8px;
  border: 2px solid var(--shell-paper);
  border-radius: 50%;
  background: var(--success, #30b85a);
  box-sizing: content-box;
}
.shell-chat-voice[hidden] { display: none; }
.shell-chat-voice.in-call { animation: voiceLiveDot 1.4s ease-in-out infinite; }

/* İkon rayı: açık sohbetler yalnız avatar olarak ortalanır, ses işareti noktaya iner. */
body.shell-side-collapsed .shell-side-chat { padding-inline: 8px; }
body.shell-side-collapsed .shell-chat-heads { margin: 2px 0 4px; padding-left: 0; border-left: 0; }
body.shell-side-collapsed .shell-chat-head-open { padding-inline: 0; }
body.shell-side-collapsed .shell-chat-head-x { display: none; }
body.shell-side-collapsed .shell-chat-head:hover .shell-chat-head-open .shell-nav-badge { visibility: visible; }
body.shell-side-collapsed .shell-voice-live {
  position: absolute;
  top: 4px;
  right: 9px;
  width: 8px;
  height: 8px;
  padding: 0;
  overflow: hidden;
  border: 2px solid var(--shell-paper);
  border-radius: 50%;
  background: var(--success, #30b85a);
  font-size: 0;
}
body.shell-side-collapsed .shell-voice-live::before { display: none; }

@media (min-width: 781px) {
  /* Alt çubuk ve topçuk masaüstünde yok: her şey menüdeki şeritte. */
  body.shell-ready #msgDock,
  body.shell-ready .floating-chat-dock { display: none !important; }

  body.shell-ready .msg-panel,
  body.shell-ready #msgPanel {
    top: auto;
    right: auto;
    bottom: 10px;
    left: calc(var(--shell-w) + 10px);
    width: 380px;
    max-width: calc(100vw - var(--shell-w) - 20px);
    height: min(620px, calc(100dvh - var(--shell-top) - 20px));
    max-height: calc(100dvh - var(--shell-top) - 20px);
    border: 1px solid var(--shell-line);
    border-radius: 14px;
    background: var(--shell-paper);
    box-shadow: 0 18px 40px rgba(0, 0, 0, .16), 0 2px 8px rgba(0, 0, 0, .08);
    color: var(--text);
    transform: none;
    animation: none;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
  }
  /* Kanallar aynı pencerenin ikinci sayfası: boyu Mesajlar'la aynı, sekme değişince zıplamaz. */
  body.shell-ready .voice-panel { height: min(620px, calc(100dvh - var(--shell-top) - 20px)); }
  body.shell-ready .voice-panel .msg-panel-body { flex: 1 1 auto; min-height: 0; }
  body.shell-ready .msg-panel::before { display: none; }
  body.shell-ready .msg-panel .msg-panel-body { background: none; }

  /* Başlık: menü başlıklarıyla aynı ölçü, tek ince çizgi. */
  body.shell-ready .msg-panel .msg-panel-head,
  body.shell-ready #msgPanel .msg-panel-head {
    min-height: 52px;
    gap: 6px;
    padding: 8px 8px 8px 16px;
    border-bottom: 1px solid var(--shell-line);
    background: none;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
  }
  body.shell-ready .msg-panel .msg-title,
  body.shell-ready #msgPanel .msg-title {
    color: var(--text);
    font-size: 14px;
    font-weight: 700;
    letter-spacing: -.02em;
  }
  body.shell-ready .msg-panel .msg-title svg { display: none; }
  body.shell-ready .msg-panel .msg-icon-btn,
  body.shell-ready #msgPanel .msg-icon-btn {
    width: 30px;
    height: 30px;
    flex: 0 0 30px;
    padding: 0;
    border: 0;
    border-radius: 8px;
    background: transparent;
    color: var(--muted);
    transform: none;
  }
  body.shell-ready .msg-panel .msg-icon-btn:hover,
  body.shell-ready #msgPanel .msg-icon-btn:hover { background: var(--shell-hover); color: var(--text); transform: none; }
  body.shell-ready .msg-panel .msg-icon-btn svg { width: 16px; height: 16px; }
  body.shell-ready #msgPanel .msg-bulk-launch {
    min-height: 30px;
    gap: 6px;
    padding: 5px 9px;
    border: 0;
    border-radius: 8px;
    background: transparent;
    color: var(--muted);
    font: 600 12px var(--font);
  }
  body.shell-ready #msgPanel .msg-bulk-launch svg { width: 15px; height: 15px; stroke-width: 1.75; }
  body.shell-ready #msgPanel .msg-bulk-launch:hover { background: var(--shell-hover); color: var(--text); transform: none; }

  /* Arama: header aramasıyla aynı kutu. */
  body.shell-ready #msgPanel .msg-search { padding: 12px 12px 8px; }
  body.shell-ready #msgPanel .msg-search input {
    height: 36px;
    padding: 0 12px;
    border: 1px solid var(--shell-line);
    border-radius: 10px;
    background: var(--desk-soft, transparent);
    color: var(--text);
    font-size: 12.5px;
    font-weight: 500;
  }
  body.shell-ready #msgPanel .msg-search input::placeholder { color: var(--muted); font-weight: 450; }
  body.shell-ready #msgPanel .msg-search input:focus { border-color: var(--accent); box-shadow: 0 0 0 3px var(--accent-soft); }

  /* Kişi listesi: menü satırı ritmi. */
  body.shell-ready #msgPanel .msg-user-list { padding: 0 8px 10px; }
  body.shell-ready #msgPanel .msg-user {
    min-height: 46px;
    gap: 10px;
    padding: 7px 9px;
    border-radius: 9px;
    transition: background .14s ease;
  }
  body.shell-ready #msgPanel .msg-user:hover { background: var(--shell-hover); transform: none; }
  body.shell-ready #msgPanel .msg-avatar {
    width: 30px;
    height: 30px;
    flex: 0 0 30px;
    border-radius: 50%;
    font-size: 11px;
    box-shadow: none;
  }
  body.shell-ready #msgPanel .msg-user-name { color: var(--text); font-size: 12.5px; font-weight: 600; letter-spacing: -.01em; }
  body.shell-ready #msgPanel .msg-user-sub { margin-top: 2px; font-size: 11px; }
  body.shell-ready #msgPanel .msg-ai-user {
    margin: 0 0 6px;
    border: 1px solid var(--shell-line);
    background: var(--desk-soft, transparent);
  }
  body.shell-ready #msgPanel .msg-ai-user:hover { background: var(--shell-hover); }
  body.shell-ready #msgPanel .msg-ai-avatar {
    border: 1px solid var(--shell-line);
    background: var(--shell-paper);
    color: var(--text);
    font-size: 10px;
    font-weight: 750;
  }
  body.shell-ready #msgPanel .msg-ai-chip {
    padding: 3px 8px;
    border: 1px solid var(--shell-line);
    border-radius: 6px;
    background: var(--shell-paper);
    color: var(--muted);
    font: 650 10.5px var(--font);
  }

  /* Konuşma. */
  body.shell-ready #msgPanel .msg-convo-head {
    min-height: 56px;
    gap: 6px;
    padding: 8px;
    border-bottom: 1px solid var(--shell-line);
    background: none;
  }
  body.shell-ready #msgPanel .msg-convo-head > .msg-avatar { width: 30px !important; height: 30px !important; border-radius: 50%; }
  body.shell-ready #msgPanel .msg-convo-name { font-size: 13px; font-weight: 650; letter-spacing: -.01em; }
  body.shell-ready #msgPanel .msg-convo-status { margin-top: 2px; font-size: 10.5px; }
  body.shell-ready #msgPanel .msg-channel-invite-btn { width: 30px; height: 30px; border-radius: 8px; color: var(--muted); }
  body.shell-ready #msgPanel .msg-channel-invite-btn:hover { background: var(--shell-hover); color: var(--text); }
  body.shell-ready #msgPanel .msg-convo-scroll { padding: 16px 14px; background: var(--desk-soft, transparent); }
  body.shell-ready #msgPanel .msg-bubble { padding: 8px 12px; border-radius: 13px; font-size: 12.5px; line-height: 1.5; }
  body.shell-ready #msgPanel .msg-bubble.in:not(.ticket-share) { border: 1px solid var(--shell-line); background: var(--shell-paper); }
  body.shell-ready #msgPanel .msg-convo-input {
    margin: 10px;
    padding: 4px;
    border: 1px solid var(--shell-line);
    border-radius: 11px;
    background: var(--shell-paper);
    box-shadow: none;
  }
  body.shell-ready #msgPanel .msg-convo-input:focus-within { border-color: var(--accent); box-shadow: 0 0 0 3px var(--accent-soft); }
  body.shell-ready #msgPanel .msg-convo-input :is(input,textarea) { min-height: 34px; font-size: 12.5px; }
  body.shell-ready #msgPanel .msg-emoji-btn { width: 32px; height: 32px; flex-basis: 32px; border-radius: 8px; }
  body.shell-ready #msgPanel .msg-emoji-btn svg { width: 18px; height: 18px; }
  body.shell-ready #msgPanel .msg-send-btn { width: 32px; height: 32px; border-radius: 8px; background: var(--accent); color: #fff; }

  /* Kanallar: kartlar düz satıra iner. */
  body.shell-ready .voice-panel .msg-panel-body { padding: 8px; background: none; }
  body.shell-ready .voice-panel .voice-channels { gap: 4px; }
  body.shell-ready .voice-panel .voice-ch {
    border: 1px solid transparent;
    border-radius: 10px;
    background: transparent;
    box-shadow: none;
    transform: none;
  }
  body.shell-ready .voice-panel .voice-ch:hover { border-color: transparent; background: var(--shell-hover); box-shadow: none; transform: none; }
  body.shell-ready .voice-panel .voice-ch.active { border-color: color-mix(in srgb, var(--success, #30b85a) 35%, var(--shell-line)); background: color-mix(in srgb, var(--success, #30b85a) 7%, transparent); }
  body.shell-ready .voice-panel .voice-ch-head { gap: 10px; padding: 9px 10px; }
  body.shell-ready .voice-panel .voice-ch-ico { width: 30px; height: 30px; box-shadow: none; }
  body.shell-ready .voice-panel .voice-ch.active .voice-ch-ico { background: var(--success, #30b85a); box-shadow: none; }
  body.shell-ready .voice-panel .voice-ch-ico svg { width: 16px; height: 16px; }
  body.shell-ready .voice-panel .voice-ch-name { font-size: 12.5px; }
  body.shell-ready .voice-panel .voice-ch-sub { font-size: 11px; }
  body.shell-ready .voice-panel .voice-ch-join {
    padding: 5px 11px;
    border-radius: 8px;
    background: var(--accent-soft);
    color: var(--accent);
    font: 650 11.5px var(--font);
    box-shadow: none;
  }
  body.shell-ready .voice-panel .voice-ch-join:hover { filter: none; background: var(--accent); color: #fff; transform: none; }
  body.shell-ready .voice-panel .voice-ch-members { padding: 0 10px 10px 50px; }
  body.shell-ready .voice-panel .voice-mem { border-color: var(--shell-line); background: var(--shell-paper); box-shadow: none; }
  body.shell-ready .voice-panel .voice-bar { border-top: 1px solid var(--shell-line); background: none; backdrop-filter: none; -webkit-backdrop-filter: none; }
  body.shell-ready .voice-panel .voice-ctrl { width: 32px; height: 32px; border-color: var(--shell-line); border-radius: 8px; background: transparent; box-shadow: none; }
  body.shell-ready .voice-panel .voice-ctrl:hover { background: var(--shell-hover); transform: none; }
  body.shell-ready .voice-panel .voice-ctrl.voice-leave { border-color: var(--danger); background: var(--danger); color: #fff; }
}

/* ── Menüye alınan siparişler ────────────────────────────────────────────
   Siparişler kaldıkları konumla burada saklanır. Liste uzayınca kayar;
   dar menüde numaralar yatay küçük kartlara dönüşür. */
.shell-parked-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 2px 9px 8px;
  color: var(--muted);
  font: 700 9.5px/1 var(--font);
  letter-spacing: .07em;
  text-transform: uppercase;
}
.shell-parked-head b { font-weight: 750; letter-spacing: 0; opacity: .8; }
.shell-parked-head-compact { display: none; }
/* Sayı sınırı yok: liste uzayınca kendi içinde kayar, menünün altındaki
   sohbet şeridi ve ayarlar hiçbir zaman ekrandan taşmaz. */
.shell-parked-list {
  display: grid;
  gap: 4px;
  max-height: min(34vh, 232px);
  overflow-x: hidden;
  overflow-y: auto;
  scrollbar-width: thin;
}
.shell-parked-item { position: relative; border-radius: 10px; }
.shell-parked-item.is-dragging { opacity: .45; }
.shell-parked-item.is-drop-target { box-shadow: inset 0 2px 0 var(--accent); }
.shell-parked-open { min-height: 42px; padding: 7px 8px; cursor: grab; }
.shell-parked-open > .menu-shortcut-caret { flex: 0 0 auto; margin-right: -2px; }
.shell-parked-item.is-active > .shell-parked-open { background: var(--accent-soft); color: var(--accent); }
.shell-parked-icon {
  width: 28px;
  height: 28px;
  flex: 0 0 28px;
  display: grid;
  place-items: center;
  border: 1px solid var(--shell-line);
  border-radius: 8px;
  background: var(--shell-hover);
  color: var(--muted);
}
.shell-parked-icon svg { width: 15px; height: 15px; stroke-width: 1.8; }
.shell-parked-item.is-active .shell-parked-icon {
  border-color: color-mix(in srgb, var(--accent) 36%, transparent);
  background: color-mix(in srgb, var(--accent) 14%, transparent);
  color: var(--accent);
}
.shell-parked-chip {
  display: none;
  font: 750 10px/1 var(--font-numeric);
  font-variant-numeric: tabular-nums;
  letter-spacing: 0;
}
.shell-parked-copy {
  min-width: 0;
  flex: 1 1 auto;
  display: grid;
  gap: 1px;
}
.shell-parked-copy b { font-size: 12px; font-weight: 700; font-variant-numeric: tabular-nums; }
.shell-parked-copy small {
  display: block;
  overflow: hidden;
  color: var(--muted);
  font: 600 10px/1.25 var(--font);
  text-overflow: ellipsis;
  white-space: nowrap;
}
/* ── İkon rayı: menü genişliği içinde kalan yatay sipariş kartları ───── */
body.shell-side-collapsed .shell-side-parked {
  padding: 8px 8px 10px;
}
body.shell-side-collapsed .shell-parked-head {
  display: flex;
  width: 48px;
  padding: 0 3px 7px;
  font-size: 0;
}
body.shell-side-collapsed .shell-parked-head-compact {
  display: inline;
  font: 800 9px/1 var(--font);
  letter-spacing: .08em;
}
body.shell-side-collapsed .shell-parked-head b { font: 750 9px/1 var(--font-numeric); }
body.shell-side-collapsed .shell-parked-list { gap: 4px; max-height: min(36vh, 252px); }
body.shell-side-collapsed .shell-parked-item { width: 48px; }
body.shell-side-collapsed .shell-parked-open {
  width: 48px;
  min-height: 38px;
  padding: 0 4px;
  gap: 0;
  border: 1px solid var(--shell-line);
  border-radius: 10px;
  background: color-mix(in srgb, var(--shell-paper) 92%, var(--accent));
  box-shadow: none;
}
body.shell-side-collapsed .shell-parked-open:hover,
body.shell-side-collapsed .shell-parked-open.is-shortcut-open {
  border-color: color-mix(in srgb, var(--accent) 38%, var(--shell-line));
  background: var(--accent-soft);
  color: var(--accent);
}
body.shell-side-collapsed .shell-parked-item.is-active > .shell-parked-open {
  border-color: color-mix(in srgb, var(--accent) 45%, var(--shell-line));
  background: var(--accent-soft);
  color: var(--accent);
  box-shadow: inset 3px 0 0 var(--accent);
}
body.shell-side-collapsed .shell-parked-open > .menu-shortcut-caret { display: none; }
body.shell-side-collapsed .shell-parked-icon { display: none; }
body.shell-side-collapsed .shell-parked-chip {
  width: auto;
  height: auto;
  flex: 0 0 auto;
  display: inline-block;
  padding: 0;
  border: 0;
  background: none;
  color: inherit;
  font: 750 11px/1 var(--font-numeric);
  letter-spacing: .02em;
  white-space: nowrap;
}

/* Mobil cam menü: aynı şerit menünün en üstünde durur. */
.shell-side-parked.is-glass {
  padding: 0 0 10px;
  margin-bottom: 8px;
  border-top: 0;
  border-bottom: 1px solid var(--shell-line, rgba(128,128,128,.22));
}
.shell-side-parked.is-glass .shell-parked-open { padding: 9px 10px; }

/* Sipariş hover'ı sohbet önizlemesinin kâğıt, çizgi ve boşluk düzenini izler. */
.shell-parked-peek {
  position: fixed;
  z-index: 1200;
  width: 268px;
  max-width: calc(100vw - 32px);
  padding: 10px;
  border: 1px solid var(--shell-line);
  border-radius: 14px;
  background: var(--shell-paper);
  box-shadow: 0 18px 40px rgba(0, 0, 0, .16), 0 2px 8px rgba(0, 0, 0, .08);
  color: var(--text);
  cursor: pointer;
  opacity: 0;
  transform: translateX(-6px) scale(.985);
  transform-origin: left center;
  transition: opacity .16s ease, transform .16s ease;
}
.shell-parked-peek.is-open { opacity: 1; transform: none; }
.shell-parked-peek[hidden] { display: none !important; }
.shell-parked-peek-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 0 4px 8px;
  color: var(--muted);
  font: 700 9.5px/1.3 var(--font);
  letter-spacing: .09em;
  text-transform: uppercase;
}
.shell-parked-peek-head button {
  width: 25px;
  height: 25px;
  display: grid;
  place-items: center;
  border: 0;
  border-radius: 7px;
  background: transparent;
  color: var(--muted);
  cursor: pointer;
}
.shell-parked-peek-head button:hover,
.shell-parked-peek-head button:focus-visible {
  outline: none;
  background: color-mix(in srgb, var(--danger) 10%, transparent);
  color: var(--danger);
}
.shell-parked-peek-head button svg { width: 14px; height: 14px; stroke-width: 1.9; }
.shell-parked-peek-body { display: grid; gap: 4px; padding: 2px 4px 10px; }
.shell-parked-peek-body strong {
  overflow: hidden;
  color: var(--text);
  font: 700 13px/1.25 var(--font);
  text-overflow: ellipsis;
  white-space: nowrap;
}
.shell-parked-peek-body span,
.shell-parked-peek-body small {
  overflow: hidden;
  color: var(--muted);
  font: 500 11.5px/1.3 var(--font);
  text-overflow: ellipsis;
  white-space: nowrap;
}
.shell-parked-peek-body small { font-size: 10.5px; }
.shell-parked-peek-foot {
  margin-top: 6px;
  padding: 8px 4px 0;
  border-top: 1px solid var(--shell-line);
  color: var(--muted);
  font: 600 10.5px/1.25 var(--font);
}
@media (prefers-reduced-motion: reduce) { .shell-parked-peek { transition: none; } }
@media (max-width: 780px) { .shell-parked-peek { display: none !important; } }

/* Sayfa kaydırma göstergesi (2026-09-25): masaüstünde belgenin yerel çubuğu
   gizli (koyu temada sağda kalıcı siyah oluk bırakıyordu); yerine yalnız
   kaydırırken beliren ince gösterge (`initPageScrollThumb`, core.js). Sınıf
   yalnız JS kurulunca eklenir: betik çalışmazsa yerel çubuk yerinde kalır. */
html.page-scroll-overlay,
html.page-scroll-overlay body { scrollbar-width: none; }
html.page-scroll-overlay::-webkit-scrollbar,
html.page-scroll-overlay body::-webkit-scrollbar { display: none; }
.page-scroll-thumb { position: fixed; z-index: 1590; top: 0; right: 3px; width: 5px; border-radius: 999px; background: color-mix(in srgb, var(--muted) 42%, transparent); opacity: 0; pointer-events: none; transition: opacity .18s ease; }
.page-scroll-thumb.is-on { opacity: 1; }
@media (prefers-reduced-motion: reduce) { .page-scroll-thumb { transition: none; } }
/* İç listeler/paneller de aynı kuralda (2026-09-27): kullanılmayan kaydırma
   çubuğu görünmez, kaydırırken `.inner-scroll-thumb` belirir
   (`initInnerScrollThumbs`, core.js). Bazı yüzeyler kendi
   `scrollbar-width:thin` kuralını kimlik seçicisiyle taşıyor; `:is(*, #_#_#_)`
   her öğeyi seçer ama üç kimlik özgüllüğü taşır; zorlama işareti gerekmez. */
html.page-scroll-overlay :is(*, #_#_#_) { scrollbar-width: none; }
html.page-scroll-overlay :is(*, #_#_#_)::-webkit-scrollbar { width: 0; height: 0; display: none; }
.inner-scroll-thumb { position: fixed; z-index: 2147483000; top: 0; left: 0; border-radius: 999px; background: color-mix(in srgb, var(--muted) 42%, transparent); opacity: 0; pointer-events: none; transition: opacity .18s ease; }
.inner-scroll-thumb.is-y { width: 4px; }
.inner-scroll-thumb.is-x { height: 4px; }
.inner-scroll-thumb.is-on { opacity: 1; }
@media (prefers-reduced-motion: reduce) { .inner-scroll-thumb { transition: none; } }

/* Menüyü sürükle-bırak ile sıralama (kişiye özel, 2026-09-25). */
.shell-nav-list.is-reordering { cursor: grabbing; }
.shell-nav-list.is-reordering * { cursor: grabbing; }
.shell-nav-list .is-drag-source { position: relative; z-index: 1; border-radius: 10px; background: var(--shell-hover); box-shadow: 0 6px 18px rgba(0,0,0,.18); }
body.shell-reordering { user-select: none; -webkit-user-select: none; }
@media (prefers-reduced-motion: no-preference) {
  .shell-nav-list .is-drag-source { transition: box-shadow .12s; }
}

/* Pi işçisi durdu uyarısı (core.js renderPiWorkerAlert) — header'ın hemen altında ortada
   tek kırmızı hap; sayfa düzenine karışmaz. Ayrıntı ipucunda, × 1 saat gizler. */
.pi-worker-alert {
  position: fixed; top: calc(var(--shell-top) + 8px); left: 50%; transform: translateX(-50%);
  z-index: 950; display: flex; align-items: center; gap: 8px; max-width: calc(100vw - 32px);
  padding: 6px 6px 6px 12px; border-radius: 999px;
  background: var(--danger); color: var(--on-accent); font-size: 13px; font-weight: 600; line-height: 1.2;
  box-shadow: 0 8px 24px -8px rgba(0,0,0,.35); cursor: help;
}
.pi-worker-alert[hidden] { display: none; }
.pi-worker-alert-dot { flex: none; width: 8px; height: 8px; border-radius: 50%; background: currentColor; }
.pi-worker-alert-text { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pi-worker-alert-close {
  flex: none; display: grid; place-items: center; width: 24px; height: 24px; padding: 0;
  border: 0; border-radius: 50%; background: rgba(255,255,255,.18); color: var(--on-accent); cursor: pointer;
}
.pi-worker-alert-close:hover { background: rgba(255,255,255,.3); }
.pi-worker-alert-close svg { width: 14px; height: 14px; stroke-width: 2.2; }
@media (prefers-reduced-motion: no-preference) {
  .pi-worker-alert-dot { animation: pi-alert-pulse 1.6s ease-in-out infinite; }
  @keyframes pi-alert-pulse { 50% { opacity: .35; } }
}

/* iPhone alt sekme çubuğu yalnız iphone.css (≤500px, html.ds-iphone) altında
   görünür; diğer her genişlikte ve katman kapalıyken yoktur. */
.iphone-tabbar { display: none; }

/* Müşteri önemi simgesi + öncelik işareti (TASARIM-DILI §3.37). Açılış
   stilindedir: ticket, bildirim, Tedarik ve sipariş satırı Rehber'i beklemez. */
.ci-ico{width:11px;height:11px;flex:0 0 auto}
/* Ticket, bildirim, Tedarik, sipariş satırı: rozet değil, simgeli sessiz yazı. */
.ci-mark{display:inline-flex;align-items:center;gap:3px;color:var(--accent);font-weight:650;white-space:nowrap}
.ci-mark.is-key{font-weight:740}
.ci-mark .ci-ico{width:12px;height:12px}
.ci-mark.is-dot{vertical-align:-1px;margin-left:4px}

/* Sipariş listesi: önemli müşteri simgesi satırı kalınlaştırmasın, ••• yerinde durur (2026-10-18). */
.order-preview-trigger>.ci-mark.is-dot{flex:0 0 auto;margin-left:0;vertical-align:baseline}

/* Bekleyen Bursa siparişi hapı: sipariş girişi dışındaki sayfalarda (2026-10-25). */
.bursa-outbox-pill{position:fixed;left:50%;bottom:72px;z-index:9998;display:flex;align-items:center;gap:8px;padding:8px 14px;border:1px solid var(--desk-line,var(--border));border-radius:999px;background:var(--desk-paper,var(--card));color:var(--desk-ink,var(--text));font:600 12.5px/1.2 var(--font);box-shadow:0 10px 30px -14px rgba(15,23,42,.45);transform:translateX(-50%);cursor:pointer}
.bursa-outbox-pill[hidden]{display:none}
.bursa-outbox-pill:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
body.shell-ready .bursa-outbox-pill{left:calc(50% + var(--shell-w,0px) / 2)}
@media (max-width:500px){.bursa-outbox-pill{bottom:calc(84px + env(safe-area-inset-bottom,0px))}}
/* Ticket giden kutusu (2026-10-26, BURSA-GIDEN-KUTUSU.md, TASARIM-DILI §3.46): aynı hap; Bursa hapı görünürken bir sıra yukarı. */
.ticket-outbox-pill .bo-dot{flex:0 0 8px;width:8px;height:8px;border-radius:50%;background:var(--warning-fill)}
.ticket-outbox-pill.is-failed .bo-dot{background:var(--danger)}
.ticket-outbox-pill.is-stacked{bottom:116px}
.ticket-outbox-panel{position:fixed;left:50%;bottom:118px;z-index:9998;width:min(420px,calc(100vw - 32px));max-height:min(60vh,460px);overflow:auto;padding:12px 14px;border:1px solid var(--desk-line,var(--border));border-radius:12px;background:var(--desk-paper,var(--card));color:var(--desk-ink,var(--text));font:400 12.5px/1.4 var(--font);box-shadow:0 18px 44px -18px rgba(15,23,42,.5);transform:translateX(-50%)}
.ticket-outbox-panel[hidden]{display:none}
.ticket-outbox-panel.is-stacked{bottom:162px}
body.shell-ready .ticket-outbox-panel{left:calc(50% + var(--shell-w,0px) / 2)}
.ticket-outbox-panel .tob-head{display:flex;align-items:center;gap:8px}
.ticket-outbox-panel .tob-head strong{font-size:13px;font-weight:650}
.ticket-outbox-panel .tob-head .tob-link{margin-left:auto}
.ticket-outbox-panel .tob-head .tob-link + .tob-close{margin-left:8px}
.ticket-outbox-panel .tob-close{margin-left:auto;border:0;background:none;color:var(--desk-muted,var(--muted));font:400 18px/1 var(--font);cursor:pointer;padding:0 2px}
.ticket-outbox-panel .tob-note{margin:4px 0 8px;color:var(--desk-muted,var(--muted));font-size:12px}
.ticket-outbox-panel .tob-row{display:grid;grid-template-columns:8px minmax(0,1fr);align-items:baseline;gap:2px 8px;padding:8px 0;box-shadow:inset 0 1px 0 var(--desk-line,var(--border))}
.ticket-outbox-panel .tob-row .bo-dot{width:8px;height:8px;border-radius:50%;background:var(--warning-fill);align-self:center}
.ticket-outbox-panel .tob-row.is-failed .bo-dot{background:var(--danger)}
.ticket-outbox-panel .tob-row b{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:650}
.ticket-outbox-panel .tob-msg,.ticket-outbox-panel .tob-state,.ticket-outbox-panel .tob-actions{grid-column:2;min-width:0}
.ticket-outbox-panel .tob-msg{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ticket-outbox-panel .tob-state{color:var(--desk-muted,var(--muted));font-size:11px}
.ticket-outbox-panel .tob-row.is-failed .tob-state{color:var(--danger)}
.ticket-outbox-panel .tob-actions{display:flex;gap:14px}
.ticket-outbox-panel .tob-link,.tk-outbox-link{border:0;background:none;padding:0;color:var(--accent);font:600 12px/1.2 var(--font);cursor:pointer}
.ticket-outbox-panel .tob-link.is-quiet{color:var(--desk-muted,var(--muted))}
.ticket-activity-item.is-outbox{opacity:.78}
.ticket-activity-item.is-outbox .tk-outbox-state{color:var(--warning-ink,var(--desk-muted,var(--muted)))}
.ticket-activity-item.is-outbox.is-failed .tk-outbox-state{color:var(--danger)}
.tk-mine-row.is-outbox{cursor:default;opacity:.8}
.reply-bubble.is-outbox{opacity:.75}
@media (max-width:500px){.ticket-outbox-pill.is-stacked{bottom:calc(128px + env(safe-area-inset-bottom,0px))}.ticket-outbox-panel{bottom:calc(130px + env(safe-area-inset-bottom,0px))}.ticket-outbox-panel.is-stacked{bottom:calc(174px + env(safe-area-inset-bottom,0px))}}

/* ── Header › Gençler AI'ye sor (2026-11-04, header-ai.js) ───────────────────
   Arama kutusunun sağında ince hap; basınca kutu AI kipine geçer: çerçeve
   yavaşça dönen mor-mavi bir ışık alır, altında öneriler sırayla süzülür.
   Renk Gençler AI'nin kimliğidir (--hai-a/--hai-b), başka yüzeye yayılmaz. */
.shell-search { --hai-a: var(--ai); --hai-b: var(--ai-2); }
.shell-search .dash-search .search-input { padding-right: 132px; }
.hai-btn {
  position: absolute; top: 50%; right: 7px; z-index: 2; transform: translateY(-50%);
  display: inline-flex; align-items: center; gap: 5px; height: 26px; padding: 0 9px 0 7px;
  border: 1px solid color-mix(in srgb, var(--hai-a) 30%, var(--shell-line));
  border-radius: 999px; overflow: hidden; isolation: isolate;
  background: color-mix(in srgb, var(--hai-a) 7%, var(--shell-paper));
  color: color-mix(in srgb, var(--hai-a) 82%, var(--text));
  font: 650 11.5px var(--font); letter-spacing: -.005em; white-space: nowrap; cursor: pointer;
  transition: border-color .18s ease, background-color .18s ease, color .18s ease, box-shadow .18s ease;
}
.hai-btn svg { width: 14px; height: 14px; flex: none; transition: transform .45s cubic-bezier(.2, .8, .2, 1); }
/* Üzerine gelince hapın içinden tek bir ışık geçer, yıldız hafifçe döner. */
.hai-btn::after {
  content: ""; position: absolute; inset: 0; z-index: -1; transform: translateX(-120%);
  background: linear-gradient(100deg, transparent 20%, color-mix(in srgb, var(--hai-b) 22%, transparent) 50%, transparent 80%);
}
.hai-btn:hover { border-color: color-mix(in srgb, var(--hai-a) 55%, var(--shell-line)); box-shadow: 0 2px 10px color-mix(in srgb, var(--hai-a) 18%, transparent); }
.hai-btn:hover::after { animation: haiSweep .8s ease-out; }
.hai-btn:hover svg { transform: rotate(72deg) scale(1.08); }
.hai-btn:focus-visible { outline: 2px solid var(--hai-a); outline-offset: 2px; }
.hai-btn[aria-pressed="true"] {
  border-color: transparent; color: white;
  background: linear-gradient(120deg, var(--hai-a), var(--hai-b));
  box-shadow: 0 3px 12px color-mix(in srgb, var(--hai-a) 34%, transparent);
}
@keyframes haiSweep { to { transform: translateX(120%); } }
/* 2026-11-05 sadeleştirme (kullanıcı: "aşırı kalabalık"): hap her genişlikte
   yalnız yıldız simgesidir (ad ipucunda: data-shell-tip + aria-label); Ctrl K
   ipucu dinlenirken gizli, yalnız kutunun üzerine gelince çıkar. Böylece yer
   tutucu kesilmeden sığar. */
.shell-search .dash-search .search-input { padding-right: 76px; }
.hai-btn { width: 28px; padding: 0; justify-content: center; }
.hai-btn span { display: none; }
.shell-search-kbd { right: 42px; opacity: 0; transition: opacity .15s ease; }
.shell-search:not(.is-ai) .dash-search:hover:not(:focus-within) .search-input:placeholder-shown ~ .shell-search-kbd { opacity: 1; }
.shell-search .dash-search .field-clear { right: 42px; }

/* AI kipi: dönen ışıklı çerçeve + yıldız simgesi. */
.shell-search.is-ai .dash-search { position: relative; border-color: transparent; }
.shell-search.is-ai .dash-search::before {
  content: ""; position: absolute; inset: -1px; z-index: 0; border-radius: inherit; padding: 1.5px; pointer-events: none;
  background: conic-gradient(from var(--hai-turn, 0deg), var(--hai-a), var(--hai-b), var(--accent), var(--hai-a));
  -webkit-mask: linear-gradient(black 0 0) content-box, linear-gradient(black 0 0);
  -webkit-mask-composite: xor; mask-composite: exclude;
  animation: haiTurn 6s linear infinite;
}
.shell-search.is-ai .dash-search:focus-within { box-shadow: 0 0 0 4px color-mix(in srgb, var(--hai-a) 14%, transparent); }
.shell-search.is-ai .dash-search-icon { color: var(--hai-a); }
.shell-search.is-ai .shell-search-kbd { opacity: 0; }
@property --hai-turn { syntax: '<angle>'; inherits: false; initial-value: 0deg; }
@keyframes haiTurn { to { --hai-turn: 360deg; } }

/* Öneri listesi */
.tk-search-results.is-ai { padding: 6px 6px 8px; max-height: min(66vh, 520px); }
.tk-search-results.is-ai .tk-search-item,
.tk-search-results.is-ai .hai-example { animation: haiRise .34s cubic-bezier(.2, .8, .2, 1) both; animation-delay: calc(var(--hai-i, 0) * 45ms); }
@keyframes haiRise { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
.hai-head { display: flex; align-items: center; gap: 10px; padding: 8px 8px 10px; animation: haiRise .3s ease-out both; }
.hai-head > div { flex: 1; min-width: 0; display: grid; gap: 1px; }
.hai-head b { color: var(--text); font: 700 13px var(--font); letter-spacing: -.01em; }
.hai-head small { overflow: hidden; color: var(--muted); font-size: 11.5px; text-overflow: ellipsis; white-space: nowrap; }
.hai-head kbd { padding: 2px 6px; border: 1px solid var(--shell-line); border-radius: 6px; color: var(--muted); font: 700 9.5px var(--font-numeric); }
.hai-back { display: grid; place-items: center; width: 30px; height: 30px; padding: 0; border: 0; border-radius: 9px; background: color-mix(in srgb, var(--text) 6%, transparent); color: var(--text); cursor: pointer; }
.hai-back svg { width: 16px; height: 16px; }
.hai-back:hover { background: color-mix(in srgb, var(--text) 11%, transparent); }
.hai-ico {
  display: grid; place-items: center; flex: none; width: 30px; height: 30px; border-radius: 9px;
  background: color-mix(in srgb, var(--hai-tone, var(--hai-a)) 12%, transparent);
  color: var(--hai-tone, var(--hai-a));
}
.hai-ico svg { width: 16px; height: 16px; }
.hai-ico.is-lg { width: 30px; height: 30px; background: linear-gradient(135deg, var(--hai-a), var(--hai-b)); color: white; box-shadow: 0 4px 14px color-mix(in srgb, var(--hai-a) 30%, transparent); }
.hai-ico.is-find { --hai-tone: var(--hai-a); }
.hai-ico.is-clock { --hai-tone: var(--warning); }
.hai-ico.is-drop { --hai-tone: var(--accent); }
.hai-ico.is-user { --hai-tone: var(--success); }
.hai-ico.is-spark { --hai-tone: var(--hai-b); }
.tk-search-results.is-ai .tk-search-item { display: flex; align-items: center; gap: 11px; }
.tk-search-results.is-ai .tk-search-item:hover,
.tk-search-results.is-ai .tk-search-item.active { background: color-mix(in srgb, var(--hai-a) 9%, transparent); }
.tk-search-results.is-ai .tk-search-item.active { box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--hai-a) 55%, transparent); }
.tk-search-results.is-ai .tk-search-item .tk-search-go { color: var(--muted); transition: transform .16s ease; }
.tk-search-results.is-ai .tk-search-item .tk-search-go svg { width: 15px; height: 15px; }
.tk-search-results.is-ai .tk-search-item:hover .tk-search-go,
.tk-search-results.is-ai .tk-search-item.active .tk-search-go { transform: translateX(2px); color: var(--hai-a); }
/* İlk öneri öne çıkar: ince ışıklı çerçeve. */
.hai-suggest.is-primary {
  margin-bottom: 4px;
  background: linear-gradient(120deg, color-mix(in srgb, var(--hai-a) 9%, transparent), color-mix(in srgb, var(--hai-b) 6%, transparent));
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--hai-a) 22%, transparent);
}
.hai-suggest.is-primary .tk-search-sip { font-weight: 750; }
.hai-new { padding: 1px 7px; border-radius: 999px; background: linear-gradient(120deg, var(--hai-a), var(--hai-b)); color: white; font: 700 9.5px var(--font); letter-spacing: .04em; text-transform: uppercase; }
.tk-search-results.is-ai .tk-search-item-top { display: flex; align-items: center; gap: 7px; min-width: 0; }
.hai-whys { display: inline-flex; flex-wrap: wrap; gap: 4px; min-width: 0; margin-left: auto; }
.hai-why { max-width: 150px; overflow: hidden; padding: 1px 7px; border-radius: 999px; background: color-mix(in srgb, var(--text) 7%, transparent); color: var(--muted); font-size: 10.5px; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
.hai-why.is-customer { background: color-mix(in srgb, var(--success) 14%, transparent); color: color-mix(in srgb, var(--success) 80%, var(--text)); }
.hai-why.is-date { background: color-mix(in srgb, var(--warning) 15%, transparent); color: color-mix(in srgb, var(--warning) 75%, var(--text)); }
.hai-why.is-fabric, .hai-why.is-color { background: color-mix(in srgb, var(--hai-a) 13%, transparent); color: color-mix(in srgb, var(--hai-a) 80%, var(--text)); }
.hai-why.is-kg, .hai-why.is-no { background: color-mix(in srgb, var(--hai-b) 13%, transparent); color: color-mix(in srgb, var(--hai-b) 80%, var(--text)); }
.tk-search-results.is-ai .tk-search-item.hai-ask { margin-top: 4px; padding-top: 12px; border-top: 1px solid var(--shell-line); border-radius: 0 0 10px 10px; }
.hai-ask .tk-search-item-sub { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.hai-key { display: grid; place-items: center; width: 24px; height: 24px; border: 1px solid var(--shell-line); border-radius: 7px; color: var(--muted); }
.hai-key svg { width: 13px; height: 13px; }
.hai-examples { display: flex; flex-wrap: wrap; gap: 6px; padding: 2px 8px 8px; }
.hai-example {
  padding: 6px 11px; border: 1px dashed color-mix(in srgb, var(--hai-a) 38%, var(--shell-line)); border-radius: 999px;
  background: transparent; color: var(--text); font: 550 12px var(--font); cursor: pointer;
  transition: background-color .15s ease, border-color .15s ease;
}
.hai-example:hover { border-style: solid; background: color-mix(in srgb, var(--hai-a) 9%, transparent); }
.hai-note { padding: 4px 10px 6px; color: var(--muted); font-size: 11px; line-height: 1.45; }

@media (max-width: 1100px) {
  .hai-btn { width: 28px; padding: 0; justify-content: center; }
  .hai-btn span { display: none; }
  .shell-search-open .hai-btn, body.shell-search-open .hai-btn { right: 70px; }
  body.shell-search-open .shell-search .dash-search .search-input { padding-right: 104px; }
}
@media (prefers-reduced-motion: reduce) {
  .shell-search.is-ai .dash-search::before { animation: none; }
  .hai-btn:hover::after, .tk-search-results.is-ai .tk-search-item, .tk-search-results.is-ai .hai-example, .hai-head { animation: none; }
  .hai-btn svg { transition: none; }
}

/* ── assets/styles/typography-refined.css ── */
/* Inter and a calm type/spacing rhythm shared by the application shell. */
:root {
  --type-caption: 11px;
  --type-meta: 12px;
  --type-control: 13px;
  --type-body: 14px;
  --type-section: 16px;
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 24px;
  --space-6: 32px;
}

body { font-family:var(--font); font-size:var(--type-body); line-height:1.55; letter-spacing:-.008em; }
button,
input,
select,
textarea,
option,
kbd,
code { font-family:var(--font); }

/* Headlines get their hierarchy from size and weight, without tight leading. */

body .card-title { font-size:var(--type-section); font-weight:680; line-height:1.35; letter-spacing:-.022em; }

body label { font-size:var(--type-caption); font-weight:650; line-height:1.45; letter-spacing:.035em; }
body :is(.btn, .shell-nav-item) { font-size:var(--type-control); font-weight:600; line-height:1.35; letter-spacing:-.006em; }
body :is(input, select, textarea) { line-height:1.45; }
body :is(.meta, .field-error) { font-size:var(--type-meta); line-height:1.45; }

/* Give headings and groups enough separation while keeping dense tables compact. */
@media (min-width:821px) {
  body .main { padding:24px 28px 40px; }
  
  body .card { padding:22px; }
  body .card-title { margin-bottom:18px; }
  body .card-head-row { gap:16px; }
  body .form-group { margin-bottom:18px; }
  body :is(input[type=text], input[type=email], input[type=number], input[type=password], input[type=date], input[type=time], input[type=search], select, textarea) { min-height:42px; }
  body .btn { min-height:40px; padding:9px 15px; }
  body .shell-nav-item { min-height:40px; padding:9px 11px; }
}

@media (max-width:820px) {
  body .main { padding:14px 14px calc(100px + env(safe-area-inset-bottom)); }
  
  body .card { padding:18px; }
  body .card-title { margin-bottom:14px; }
  body .form-group { margin-bottom:16px; }
  body :is(input[type=text], input[type=email], input[type=number], input[type=password], input[type=date], input[type=time], input[type=search], select, textarea) { min-height:44px; font-size:16px; }
  body .btn { min-height:42px; padding:9px 14px; }
}

/* ── assets/styles/tasarim-v2.css ── */
/* ============================================================================
   TASARIM v2 — kabuk (yan menü + header) ve ana sayfa yükseltmesi
   ----------------------------------------------------------------------------
   Yalnız <html class="ds-v2"> varken çalışır. Sınıfı index.html'in başındaki
   küçük betik koyar: 2026-09-30'dan beri her yerde AÇIK; ?tasarim=v1 bu
   cihazda eski görünüme döndürür, ?tasarim=v2 geri açar.
   Katman kaldırılmak istenirse bu dosya ve o betik silinir; başka hiçbir
   dosya bu sınıfa bağlı değildir.

   Fikir — "iç sayfa" kabuğu:
   · Yan menü ve çerçeve aynı zemindedir (--v2-canvas); menü artık ayrı bir
     beyaz kutu değil, pencerenin kendisidir.
   · İçerik, bu zeminin üstünde köşeleri yuvarlatılmış tek bir sayfa (sheet)
     olarak durur. Header o sayfanın tepesidir; ayrı bir şerit değildir.
   · Ana sayfada kartlar sessizleşir: gölge yerine ince çizgi, dolu mavi ok
     kareleri yerine üzerine gelince beliren sakin oklar, rakam öne çıkar.
   ========================================================================== */

/* ── Jetonlar ─────────────────────────────────────────────────────────── */
html.ds-v2 {
  --v2-canvas: #eceef2;
  --v2-gap: 8px;
  --v2-sheet-radius: 16px;
  --v2-hover: rgba(22, 32, 46, .055);
  --v2-press: rgba(22, 32, 46, .085);
  --v2-lift: 0 1px 2px rgba(16, 24, 40, .06), 0 0 0 1px rgba(16, 24, 40, .06);
  --v2-card-shadow: 0 1px 2px rgba(16, 24, 40, .035);
  --v2-card-hover: 0 6px 22px rgba(16, 24, 40, .07);
  --bg: #f6f7f9;
  --desk-ink: #172131;
  --desk-muted: #6a7587;
  --desk-line: #e4e7ec;
  --desk-paper: #fff;
  --desk-soft: #f2f4f7;
  --shadow: var(--v2-card-shadow);
}
html.ds-v2[data-theme="dark"] {
  --v2-canvas: #0b0f15;
  --v2-hover: rgba(226, 232, 241, .06);
  --v2-press: rgba(226, 232, 241, .09);
  --v2-lift: 0 1px 2px rgba(0, 0, 0, .4), 0 0 0 1px rgba(255, 255, 255, .06);
  --v2-card-shadow: 0 1px 2px rgba(0, 0, 0, .25);
  --v2-card-hover: 0 8px 26px rgba(0, 0, 0, .35);
  --bg: #12171f;
  --desk-ink: #e6ebf2;
  --desk-muted: #8e9aab;
  --desk-line: #242c38;
  --desk-paper: #181e28;
  --desk-soft: #1e2531;
}
html.ds-v2[data-theme="dark"] body { --bg: #12171f; }

/* ── Kabuk çerçevesi (masaüstü) ───────────────────────────────────────── */
@media (min-width: 781px) {
  /* Çerçeve payı (8px) + header (48px) = eski header'ın tam 56px'i. Birçok
     sayfa yüksekliği bu 56px'e göre sabit yazılmış (ör. ticket çalışma alanı
     100dvh - 245px); toplam aynı kaldığı için hiçbiri kaymaz. JS header
     yüksekliğini (48) html'e satır içi yazar; !important toplamı geri koyar. */
  html.ds-v2 { --shell-top: 56px !important; background: var(--v2-canvas) !important; }
  /* Pay gövdenin DOLGUSUDUR, header'ın kenar boşluğu değil: kenar boşluğu
     gövdeyle çöküşüp 100vh'lik gövdeyi 8px aşağı itiyor, boş sayfada bile
     kaydırma çubuğu doğuruyordu. */
  html.ds-v2 body.shell-ready {
    padding-top: var(--v2-gap);
    padding-right: var(--v2-gap);
    background: transparent !important;
  }
  /* Sayfa kâğıdı: içerik bunun üstünde kayar. */
  html.ds-v2 body.shell-ready::before {
    content: "";
    position: fixed;
    top: var(--v2-gap);
    right: var(--v2-gap);
    bottom: 0;
    left: var(--shell-w);
    z-index: -1;
    border: 1px solid var(--desk-line);
    border-bottom: 0;
    border-radius: var(--v2-sheet-radius) var(--v2-sheet-radius) 0 0;
    background: var(--bg);
    pointer-events: none;
  }
  /* Header'ın üstündeki 8px'lik çerçeve payı: kayan içerik orada görünmesin. */
  html.ds-v2 body.shell-ready::after {
    content: "";
    position: fixed;
    top: 0;
    right: 0;
    left: var(--shell-w);
    z-index: 89;
    height: var(--v2-gap);
    background: var(--v2-canvas);
    pointer-events: none;
  }

  html.ds-v2 body.shell-ready > .topbar,
  html.ds-v2[data-theme="dark"] body.shell-ready > .topbar {
    top: var(--v2-gap);
    height: 48px;
    margin: 0;
    padding: 0 16px 0 22px;
    border: 1px solid var(--desk-line);
    border-bottom-color: transparent;
    border-radius: var(--v2-sheet-radius) var(--v2-sheet-radius) 0 0;
    background: var(--bg) !important;
    box-shadow: none;
    transition: border-color .18s ease, box-shadow .18s ease, border-radius .18s ease;
  }
  /* Kaydırınca alt çizgi belirir; header köşeli bir şerit değil, dört köşesi
     yuvarlak bir kart olarak içeriğin üstünde durur. */
  html.ds-v2 body.shell-ready.shell-scrolled > .topbar,
  html.ds-v2[data-theme="dark"] body.shell-ready.shell-scrolled > .topbar {
    border-bottom-color: var(--desk-line);
    border-radius: var(--v2-sheet-radius);
    
  }

  /* Yan menü: çerçevenin kendisi. Sınır çizgisi yok, zemin çerçeveyle aynı. */
  html.ds-v2 body.shell-ready .shell-side:not([hidden]) {
    border-right: 0;
    background: var(--v2-canvas);
  }
}

/* ── Yan menü ─────────────────────────────────────────────────────────── */
html.ds-v2 .shell-brand {
  height: 64px;  /* ortası header'ın ortasıyla aynı hizada: 8 + 48/2 = 32 */
  margin: 0 0 6px;
  padding: 0 18px;
  gap: 10px;
  border-bottom: 0;
}
html.ds-v2 .shell-brand:hover { color: var(--desk-ink); }
html.ds-v2 .shell-brand-mark { width: 30px; height: 30px; flex-basis: 30px; }
html.ds-v2 .shell-brand-name { font-size: 15px; font-weight: 700; letter-spacing: -.028em; color: var(--desk-ink); }
html.ds-v2 .shell-brand-name strong { font-weight: 700; color: var(--desk-muted); }

html.ds-v2 .shell-side-scroll { padding: 0 12px 12px; }
html.ds-v2 .shell-side-chat { padding: 0 12px 6px; }
html.ds-v2 .shell-side-parked { padding: 10px 12px; border-top: 0; }
html.ds-v2 .shell-side-foot { padding: 6px 12px calc(12px + env(safe-area-inset-bottom)); border-top: 0; }
/* Üstteki gezinme listesi ile alttaki ayarlar sessiz bir kısa çizgiyle ayrılır. */
html.ds-v2 .shell-side-foot::before {
  content: "";
  display: block;
  height: 1px;
  margin: 0 8px 8px;
  background: var(--desk-line);
}

html.ds-v2 .shell-nav-list { gap: 1px; }
html.ds-v2 .shell-nav-item {
  min-height: 34px;
  gap: 11px;
  padding: 7px 10px;
  border-radius: 9px;
  color: color-mix(in srgb, var(--desk-ink) 74%, var(--desk-muted));
  font-size: 13px;
  font-weight: 560;
  letter-spacing: -.01em;
}
html.ds-v2 .shell-nav-icon svg { width: 17px; height: 17px; stroke-width: 1.7; color: var(--desk-muted); transition: color .14s ease; }
html.ds-v2 .shell-nav-item:hover { background: var(--v2-hover); color: var(--desk-ink); }
html.ds-v2 .shell-nav-item:hover .shell-nav-icon svg { color: var(--desk-ink); }
html.ds-v2 .shell-nav-item:active { background: var(--v2-press); }
/* Etkin sayfa: kâğıttan kabarık bir satır. Mavi zemin yerine ikon mavi. */
html.ds-v2 .shell-nav-item.active,
html.ds-v2 .shell-nav-item.active:hover {
  background: var(--desk-paper);
  color: var(--desk-ink);
  font-weight: 640;
  box-shadow: var(--v2-lift);
}
html.ds-v2 .shell-nav-item.active .shell-nav-icon svg { color: var(--accent); stroke-width: 1.9; }
/* Grup başlığı (alt dalı açık) kabarmaz: kabarık olan asıl sayfadır. */
html.ds-v2 .shell-nav-item.is-group.active,
html.ds-v2 .shell-nav-item.is-group.active:hover { background: transparent; box-shadow: none; }
html.ds-v2 .shell-nav-item.is-group.active:hover { background: var(--v2-hover); }
/* İkon rayında alt dal görünmediği için grup ikonu etkin sayfanın yerini tutar. */
html.ds-v2 body.shell-side-collapsed .shell-nav-item.is-group.active,
html.ds-v2 body.shell-side-collapsed .shell-nav-item.is-group.active:hover { background: var(--desk-paper); box-shadow: var(--v2-lift); }
html.ds-v2 .shell-nav-chevron { width: 13px; height: 13px; flex-basis: 13px; opacity: .7; }
html.ds-v2 .shell-nav-badge {
  min-width: 19px;
  height: 18px;
  padding: 0 6px;
  border-radius: 999px;
  font: 700 10px var(--font-numeric);
}
html.ds-v2 .shell-nav-sub { margin: 2px 0 4px 19px; padding-left: 9px; border-left-color: color-mix(in srgb, var(--desk-line) 80%, var(--desk-muted)); }
html.ds-v2 .shell-nav-item.is-sub { min-height: 30px; padding: 6px 10px; font-size: 12.5px; font-weight: 540; }
html.ds-v2 .shell-nav-item.is-sub.active { font-weight: 640; }
html.ds-v2 .shell-side-toggle {
  min-height: 34px;
  margin-top: 2px;
  padding: 7px 10px;
  gap: 11px;
  color: var(--desk-muted);
  font-size: 12.5px;
  font-weight: 560;
}
html.ds-v2 .shell-side-toggle:hover { background: var(--v2-hover); color: var(--desk-ink); }
html.ds-v2 body.shell-side-collapsed .shell-side-scroll,
html.ds-v2 body.shell-side-collapsed .shell-side-foot,
html.ds-v2 body.shell-side-collapsed .shell-side-chat { padding-inline: 10px; }
/* Dar rayda gizlenen sipariş kartı 48px'tir: 64px rayda yanlara 8px kalır.
   12px'lik geniş menü boşluğu kartın sağını kırpıyordu. */
html.ds-v2 body.shell-side-collapsed .shell-side-parked { padding-inline: 8px; }
html.ds-v2 body.shell-side-collapsed .shell-brand { padding-inline: 0; }
html.ds-v2 body.shell-side-collapsed .shell-nav-item { min-height: 40px; }
html.ds-v2 body.shell-side-collapsed .shell-nav-badge { border-color: var(--v2-canvas); }

/* ── Header ───────────────────────────────────────────────────────────── */
html.ds-v2 .shell-page-label { gap: 10px; font-size: 15px; font-weight: 680; letter-spacing: -.02em; color: var(--desk-ink); }
html.ds-v2 .shell-page-label .shell-subtab-icon {
  width: 28px;
  height: 28px;
  flex-basis: 28px;
  border-radius: 8px;
  background: var(--desk-paper);
  color: var(--desk-muted);
  box-shadow: var(--v2-lift);
}
html.ds-v2 .shell-page-label .shell-subtab-icon svg { width: 15px; height: 15px; stroke-width: 1.9; }

/* Kardeş sekmeler: tek parça bölümlü denetim (segmented control). */
html.ds-v2 .shell-subtabs-row {
  gap: 2px;
  padding: 3px;
  border-radius: 11px;
  background: color-mix(in srgb, var(--desk-ink) 5%, transparent);
}
html.ds-v2 .shell-subtab {
  min-height: 30px;
  padding: 5px 12px;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: var(--desk-muted);
  font-size: 12.5px;
  font-weight: 600;
}
html.ds-v2 .shell-subtab:hover { border: 0; background: transparent; color: var(--desk-ink); }
html.ds-v2 .shell-subtab.active,
html.ds-v2 .shell-subtab.active:hover {
  border: 0;
  background: var(--desk-paper);
  color: var(--desk-ink);
  box-shadow: var(--v2-lift);
}
html.ds-v2 .shell-subtab.active .shell-subtab-icon svg { color: var(--accent); }

/* Arama: çizgisiz, sakin dolgulu bir alan; odakta kâğıda döner. */
html.ds-v2 .shell-search .dash-search {
  border: 1px solid transparent;
  border-radius: 10px;
  background: color-mix(in srgb, var(--desk-ink) 5%, transparent);
  transition: background-color .16s ease, border-color .16s ease, box-shadow .16s ease;
}
html.ds-v2 .shell-search .dash-search:hover { background: color-mix(in srgb, var(--desk-ink) 7.5%, transparent); }
html.ds-v2 .shell-search .dash-search:focus-within {
  border-color: color-mix(in srgb, var(--accent) 55%, var(--desk-line));
  background: var(--desk-paper);
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--accent) 14%, transparent);
}
html.ds-v2 .shell-search .dash-search .search-input { min-height: 36px; height: 36px; padding-left: 36px; font-size: 13px; }
html.ds-v2 .shell-search .dash-search-icon { left: 12px; width: 15px; height: 15px; }
html.ds-v2 .shell-search-kbd {
  padding: 2px 6px;
  border: 0;
  border-radius: 6px;
  background: var(--desk-paper);
  box-shadow: var(--v2-lift);
  font-size: 10px;
  letter-spacing: .02em;
}
html.ds-v2 .shell-search-trigger { border: 0; background: color-mix(in srgb, var(--desk-ink) 5%, transparent); }

/* Araç düğmeleri: kutusuz ikon düğmeleri; hesap çipi yalnız üzerine gelince kutulanır. */
html.ds-v2 body .topbar .topbar-right { gap: 6px; }
html.ds-v2 body .topbar .topbar-right > .notif-btn,
html.ds-v2[data-theme="dark"] body .topbar .topbar-right > .notif-btn {
  width: 36px;
  height: 36px;
  border: 0 !important;
  border-radius: 10px;
  background: transparent !important;
  color: var(--desk-muted) !important;
  box-shadow: none;
}
html.ds-v2 body .topbar .topbar-right > .notif-btn:hover { background: var(--v2-hover) !important; color: var(--desk-ink) !important; }
html.ds-v2 body .topbar .topbar-right > .notif-btn svg { width: 19px; height: 19px; stroke-width: 1.8; }
html.ds-v2 body .topbar .notif-badge {
  top: 5px;
  right: 5px;
  min-width: 16px;
  height: 16px;
  padding: 0 4px;
  border: 2px solid var(--bg);
  font-size: 9.5px;
  line-height: 12px;
}
html.ds-v2 body .topbar .topbar-right > .account-chip,
html.ds-v2[data-theme="dark"] body .topbar .topbar-right > .account-chip {
  min-height: 38px;
  padding: 3px 10px 3px 3px;
  border: 1px solid transparent !important;
  border-radius: 12px;
  background: transparent !important;
  box-shadow: none;
}
html.ds-v2 body .topbar .topbar-right > .account-chip:hover,
html.ds-v2 body .topbar .topbar-right > .account-chip[aria-expanded="true"] {
  border-color: var(--desk-line) !important;
  background: var(--desk-paper) !important;
}

/* ── Ana sayfa ────────────────────────────────────────────────────────── */
html.ds-v2 #page-dashboard { padding-top: 8px; }

/* Karşılama: büyük, sıkı başlık; gündem dolgulu küçük haplar. */
html.ds-v2 #page-dashboard .dashboard-hero {
  align-items: flex-end;
  margin-bottom: 26px;
  padding-top: 26px;
}
html.ds-v2 #page-dashboard .shell-greeting {
  /* Gün ortası karşılaması tarihe göre değişir ve bazı günler uzundur; ad
     "…" ile KESİLMEZ: punto genişliğe göre küçülür, gerekirse iki dengeli
     satıra bölünür (app-shell testi bunu her gün denetler). */
  font-size: clamp(26px, 3.2vw, 34px);
  white-space: normal;
  overflow: visible;
  text-overflow: clip;
  text-wrap: balance;
  overflow-wrap: anywhere;
  font-weight: 720;
  line-height: 1.12;
  letter-spacing: -.04em;
  color: var(--desk-ink);
  /* overflow:hidden (uzun ad → …) sıkı satırda g/ğ/y kuyruklarını kırpıyordu;
     alt pay kuyruğu kutunun içine alır ve gündem şeridine biraz nefes bırakır. */
  padding-bottom: .14em;
}
html.ds-v2 #page-dashboard .today-agenda {
  gap: 6px;
  min-height: 30px;
  margin: 14px 0 0;
  overflow: visible;
  flex-wrap: wrap;
}
html.ds-v2 #page-dashboard .today-agenda-date {
  padding: 0 6px 0 0;
  color: var(--desk-muted);
  font-weight: 560;
}
html.ds-v2 #page-dashboard .today-agenda-date::after {
  content: "";
  display: inline-block;
  width: 1px;
  height: 14px;
  margin-left: 12px;
  vertical-align: -2px;
  background: var(--desk-line);
}
html.ds-v2 #page-dashboard .today-agenda-item {
  min-height: 30px;
  gap: 7px;
  padding: 5px 11px 5px 10px;
  border: 1px solid var(--desk-line);
  border-radius: 999px;
  background: var(--desk-paper);
  color: var(--desk-muted);
  font-weight: 520;
  box-shadow: var(--v2-card-shadow);
  transition: border-color .15s ease, box-shadow .15s ease, color .15s ease, transform .15s ease;
}
html.ds-v2 #page-dashboard .today-agenda-item:hover {
  border-color: color-mix(in srgb, var(--desk-ink) 18%, var(--desk-line));
  background: var(--desk-paper);
  color: var(--desk-ink);
  transform: translateY(-1px);
  box-shadow: var(--v2-card-hover);
}
html.ds-v2 #page-dashboard .today-agenda-item i { width: 7px; height: 7px; }
html.ds-v2 #page-dashboard .today-agenda-item.is-overdue {
  border-color: color-mix(in srgb, var(--danger) 26%, var(--desk-line));
  background: color-mix(in srgb, var(--danger) 6%, var(--desk-paper));
}
html.ds-v2 #page-dashboard .today-agenda-item.is-soon {
  border-color: color-mix(in srgb, var(--warning-fill) 45%, var(--desk-line));
  background: color-mix(in srgb, var(--warning-fill) 9%, var(--desk-paper));
}
html.ds-v2 #page-dashboard .today-agenda-clear { padding: 5px 0; }

html.ds-v2 #page-dashboard .deck-edit-launch {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 34px;
  padding: 7px 13px;
  border: 1px solid var(--desk-line);
  border-radius: 10px;
  background: var(--desk-paper);
  color: var(--desk-ink);
  font-size: 12.5px;
  font-weight: 600;
  box-shadow: var(--v2-card-shadow);
}
html.ds-v2 #page-dashboard .deck-edit-launch::before {
  content: "";
  width: 14px;
  height: 14px;
  background: currentColor;
  opacity: .7;
  -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'><rect x='3' y='3' width='7' height='7' rx='1.5'/><rect x='14' y='3' width='7' height='7' rx='1.5'/><rect x='3' y='14' width='7' height='7' rx='1.5'/><rect x='14' y='14' width='7' height='7' rx='1.5'/></svg>") center / contain no-repeat;
          mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'><rect x='3' y='3' width='7' height='7' rx='1.5'/><rect x='14' y='3' width='7' height='7' rx='1.5'/><rect x='3' y='14' width='7' height='7' rx='1.5'/><rect x='14' y='14' width='7' height='7' rx='1.5'/></svg>") center / contain no-repeat;
}
html.ds-v2 #page-dashboard .deck-edit-launch:hover { border-color: color-mix(in srgb, var(--desk-ink) 18%, var(--desk-line)); color: var(--desk-ink); }
html.ds-v2 #page-dashboard .deck.is-editing .deck-bar { top: calc(var(--shell-top) + 8px); border-radius: 14px; box-shadow: var(--v2-card-hover); }

/* Widget kartları: çizgi + neredeyse görünmez gölge; üzerine gelince hafifçe kalkar. */
html.ds-v2 #page-dashboard .deck-card {
  padding: 16px 18px;
  border: 1px solid var(--desk-line);
  border-radius: 16px;
  background: var(--desk-paper);
  box-shadow: var(--v2-card-shadow);
  transition: border-color .18s ease, box-shadow .22s ease, transform .22s cubic-bezier(.2, .75, .25, 1);
}
html.ds-v2 #page-dashboard .deck:not(.is-editing) .deck-card:hover { transform: translateY(-2px); }
html.ds-v2 #page-dashboard .deck-card:hover {
  border-color: color-mix(in srgb, var(--desk-ink) 13%, var(--desk-line));
  box-shadow: var(--v2-card-hover);
}
html.ds-v2 #page-dashboard .deck-card.is-tile { padding: 0; }
html.ds-v2 #page-dashboard .deck.is-editing .deck-card:hover { box-shadow: var(--v2-card-shadow); }

/* Başlık: küçük, sakin etiket. Rakam asıl başlıktır. */
html.ds-v2 #page-dashboard .deck-card-title strong {
  color: var(--desk-muted);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: -.008em;
}
html.ds-v2 #page-dashboard .deck-card[data-w="2"] .deck-card-title strong,
html.ds-v2 #page-dashboard .deck-card[data-w="3"] .deck-card-title strong,
html.ds-v2 #page-dashboard .deck-card[data-w="4"] .deck-card-title strong { font-size: 13.5px; letter-spacing: -.01em; }
html.ds-v2 #page-dashboard .deck-card-figure b {
  color: var(--desk-ink);
  font-size: 24px;
  font-weight: 720;
  letter-spacing: -.04em;
}
html.ds-v2 #page-dashboard .deck-card[data-w="2"] .deck-card-figure b,
html.ds-v2 #page-dashboard .deck-card[data-w="3"] .deck-card-figure b,
html.ds-v2 #page-dashboard .deck-card[data-w="4"] .deck-card-figure b { font-size: 29px; letter-spacing: -.045em; }
html.ds-v2 #page-dashboard .deck-figure-unit { color: var(--desk-muted); font-weight: 560; }

/* Yönlendirme oku: dolu mavi kare yerine sakin ikon; kartın üzerine gelince belirginleşir. */
html.ds-v2 #page-dashboard .deck-head-go {
  width: 28px;
  height: 28px;
  border-radius: 8px;
  background: transparent;
  color: color-mix(in srgb, var(--desk-muted) 70%, transparent);
  transition: background .15s ease, color .15s ease, transform .15s ease;
}
html.ds-v2 #page-dashboard .deck-card:hover .deck-head-go { background: var(--desk-soft); color: var(--desk-ink); }
html.ds-v2 #page-dashboard .deck-head-go:hover,
html.ds-v2 #page-dashboard .deck-card:hover .deck-head-go:hover { background: var(--accent); color: var(--on-accent); transform: none; }

html.ds-v2 #page-dashboard .deck-period select {
  min-height: 28px;
  border: 1px solid transparent;
  background-color: var(--desk-soft);
  
}

html.ds-v2 #page-dashboard .deck-period select:hover { border-color: var(--desk-line); background-color: var(--desk-paper); color: var(--desk-ink); }
html.ds-v2 #page-dashboard .deck-period select { color: var(--desk-ink); }
html.ds-v2 #page-dashboard .deck-delta {
  padding: 2px 7px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 650;
}
html.ds-v2 #page-dashboard .deck-delta.is-up { background: color-mix(in srgb, var(--success) 11%, transparent); }
html.ds-v2 #page-dashboard .deck-delta.is-down { background: color-mix(in srgb, var(--danger) 10%, transparent); }

/* Birleşik grafik: sütun zemini boşken neredeyse görünmez, çizgi mürekkep tonu. */
html.ds-v2 #page-dashboard .deck-col-fill.is-zero { background: color-mix(in srgb, var(--desk-ink) 6%, transparent); }

/* Kayıt satırları (ticket, sipariş, bildirim, sohbet): satır zemini üzerine gelince. */
html.ds-v2 #page-dashboard .deck-record { border-radius: 10px; }
html.ds-v2 #page-dashboard .deck-record:hover { background: var(--desk-soft); }
html.ds-v2 #page-dashboard .deck-record-copy b { color: var(--desk-ink); font-weight: 600; }
html.ds-v2 #page-dashboard .deck-record-meta { color: var(--desk-muted); font-variant-numeric: tabular-nums; }
html.ds-v2 #page-dashboard .deck-rotator-order {
  border: 1px solid var(--desk-line);
  border-radius: 12px;
  background: var(--desk-soft);
}
html.ds-v2 #page-dashboard .deck-rotator-order:hover { border-color: color-mix(in srgb, var(--desk-ink) 14%, var(--desk-line)); background: var(--desk-paper); }
html.ds-v2 #page-dashboard .deck-list-nav button { border-radius: 8px; }

/* Kısayol kutucuğu (Maliyet vb.): ikon karesi yumuşak, ok sağ üstte sessiz. */
html.ds-v2 #page-dashboard .deck-tile-icon {
  width: 40px;
  height: 40px;
  border-radius: 12px;
  background: var(--desk-soft);
  color: var(--desk-ink);
  box-shadow: inset 0 0 0 1px var(--desk-line);
}
html.ds-v2 #page-dashboard .deck-tile.has-icon:hover .deck-tile-icon { background: var(--accent); color: var(--on-accent); box-shadow: none; }
html.ds-v2 #page-dashboard .deck-tile-arrow { background: transparent; }
html.ds-v2 #page-dashboard .deck-tile-copy strong { font-size: 14px; }
html.ds-v2 #page-dashboard .deck-tile-copy small { font-size: 12px; }

html.ds-v2 #page-dashboard .deck-empty-action {
  border-radius: 999px;
}

/* ── Takvim ───────────────────────────────────────────────────────────── */
html.ds-v2 #page-dashboard > .card.termin-calendar-card {
  padding: 24px;
  border-radius: 18px;
  box-shadow: var(--v2-card-shadow);
}
html.ds-v2 #page-dashboard .termin-planner-head { margin-bottom: 20px; }
html.ds-v2 #page-dashboard .card-title { font-size: 18px; font-weight: 700; letter-spacing: -.028em; }
html.ds-v2 #page-dashboard .termin-cal-stat {
  min-height: 30px;
  padding: 0 11px;
  border: 1px solid var(--desk-line);
  border-radius: 999px;
  background: var(--desk-paper);
  font-size: 11.5px;
  font-weight: 600;
}
html.ds-v2 #page-dashboard .termin-filter-toggle,
html.ds-v2 #page-dashboard .termin-planner-open {
  min-height: 32px;
  border: 1px solid var(--desk-line);
  border-radius: 10px;
  background: var(--desk-paper);
  color: var(--desk-ink);
  font-size: 12px;
  font-weight: 600;
  box-shadow: var(--v2-card-shadow);
}
html.ds-v2 #page-dashboard .termin-filter-toggle:hover,
html.ds-v2 #page-dashboard .termin-planner-open:hover { border-color: color-mix(in srgb, var(--desk-ink) 18%, var(--desk-line)); }

html.ds-v2 #page-dashboard .cal-header { margin-bottom: 8px; }
html.ds-v2 #page-dashboard .cal-title { font-size: 16px; font-weight: 700; letter-spacing: -.02em; }
html.ds-v2 #page-dashboard .cal-nav {
  width: 32px;
  height: 32px;
  border: 0;
  border-radius: 9px;
  background: transparent;
  color: var(--desk-muted);
}
html.ds-v2 #page-dashboard .cal-nav:hover { background: var(--desk-soft); color: var(--desk-ink); }
html.ds-v2 #page-dashboard .cal-dow { font-size: 11px; font-weight: 600; letter-spacing: .02em; }
html.ds-v2 #page-dashboard .cal-grid { gap: 6px; }

/* Günler: kutu çizgisi yerine sakin dolgu; bugün mavi daire, seçili gün halka. */
html.ds-v2 #page-dashboard .cal-big .cal-cell,
html.ds-v2[data-theme="dark"] #page-dashboard .cal-big .cal-cell {
  border: 1px solid transparent;
  border-radius: 12px;
  background: var(--desk-soft);
  transition: background-color .14s ease, border-color .14s ease;
}
html.ds-v2 #page-dashboard .cal-big .cal-cell:hover {
  border-color: var(--desk-line);
  background: var(--desk-paper);
}
html.ds-v2 #page-dashboard .cal-big .cal-cell.outside-month,
html.ds-v2[data-theme="dark"] #page-dashboard .cal-big .cal-cell.outside-month { border-color: transparent; background: transparent; opacity: 1; }
html.ds-v2 #page-dashboard .cal-big .cal-cell.outside-month .cal-num { color: color-mix(in srgb, var(--desk-muted) 55%, transparent); }
html.ds-v2 #page-dashboard .cal-cell .cal-num {
  display: inline-grid;
  place-items: center;
  min-width: 24px;
  height: 24px;
  margin: -3px 0 0 -5px;
  padding: 0 5px;
  border-radius: 999px;
  font-size: 12.5px;
  font-weight: 600;
}
html.ds-v2 #page-dashboard .cal-big .cal-cell.today,
html.ds-v2 #page-dashboard .cal-big .cal-cell:is(.today, .selected) {
  border-color: transparent;
  background: color-mix(in srgb, var(--accent) 7%, var(--desk-paper));
}
html.ds-v2 #page-dashboard .cal-big .cal-cell.today .cal-num {
  background: var(--accent);
  color: var(--on-accent);
}
html.ds-v2 #page-dashboard .cal-big .cal-cell.selected {
  border-color: var(--accent);
  background: color-mix(in srgb, var(--accent) 7%, var(--desk-paper));
}
html.ds-v2 #page-dashboard .cal-big .cal-cell.selected .cal-num { color: var(--accent); }
html.ds-v2 #page-dashboard .cal-big .cal-cell.today.selected .cal-num { color: var(--on-accent); }
/* Başka bir gün seçiliyken bugün geri çekilir (dashboard-refined.css), ama
   v2'de bugünün rakamı dolu mavi dairenin İÇİNDEDİR: geri çekilen soluk mavi
   rakam daireyle aynı renge düşüp kayboluyordu. Rakam dairenin mürekkebinde
   kalır; geri çekilme yalnız hücre zemininde ve çerçevesinde olur. */
html.ds-v2 #page-dashboard .cal-big:has(.cal-cell.selected) .cal-cell.today:not(.selected) .cal-num { color: var(--on-accent); font-weight: 600; }
html.ds-v2 #page-dashboard .cal-chip { border-radius: 6px; }

/* Yan panel: kutulu satırlar yerine ince çizgili liste. */
html.ds-v2 #page-dashboard .termin-calendar-card:not(.termin-planner-expanded) .termin-upcoming { padding-left: 24px; }
html.ds-v2 #page-dashboard .termin-upcoming-row,
html.ds-v2[data-theme="dark"] #page-dashboard .termin-upcoming-row {
  margin-bottom: 2px;
  padding: 7px 13px;
  border: 1px solid transparent !important;
  border-radius: 10px;
  background: transparent !important;
  transition: background-color .14s ease;
}
html.ds-v2 #page-dashboard .termin-upcoming-row:hover { background: var(--desk-soft) !important; }
html.ds-v2 #page-dashboard .termin-upcoming-title { font-size: 11.5px; font-weight: 700; letter-spacing: .06em; color: var(--desk-muted); }
html.ds-v2 #page-dashboard .termin-section-count { border: 0; background: var(--desk-soft); }

/* ── Ticket Önizleme ──────────────────────────────────────────────────── */
html.ds-v2 #page-dashboard .dashboard-section-label { margin: 8px 0 14px; }
html.ds-v2 #page-dashboard .dashboard-section-label h2 { font-size: 18px; font-weight: 700; letter-spacing: -.028em; }
html.ds-v2 #page-dashboard > .dashboard-ticket-hub-card { overflow: hidden; border-radius: 18px; box-shadow: var(--v2-card-shadow); }

/* ── İnce yüzey detayları ─────────────────────────────────────────────── */
html.ds-v2 ::selection { background: color-mix(in srgb, var(--accent) 22%, transparent); color: inherit; }
/* Koyu temada kartın üst kenarında tek piksellik ışık: yüzey kâğıt gibi durur. */
html.ds-v2[data-theme="dark"] #page-dashboard .deck-card,
html.ds-v2[data-theme="dark"] #page-dashboard > .card { box-shadow: inset 0 1px 0 rgba(255, 255, 255, .035), var(--v2-card-shadow); }
html.ds-v2[data-theme="dark"] #page-dashboard .deck-card:hover { box-shadow: inset 0 1px 0 rgba(255, 255, 255, .05), var(--v2-card-hover); }
@media (min-width: 781px) {
  /* Kaydırınca header çizgisinin altında yumuşak bir gölge de belirir. */
  html.ds-v2 body.shell-ready.shell-scrolled > .topbar,
  html.ds-v2[data-theme="dark"] body.shell-ready.shell-scrolled > .topbar {
    box-shadow: 0 10px 22px -18px rgba(16, 24, 40, .35);
  }
  /* Arama odakta biraz genişler; sağa yaslı olduğu için sola doğru büyür. */
  html.ds-v2 .shell-search-field { transition: width .22s cubic-bezier(.2, .75, .25, 1); }
  html.ds-v2 .shell-search-field:focus-within { width: clamp(300px, 34vw, 460px); }
}
html.ds-v2 .shell-search-kbd { transition: opacity .15s ease; }
/* Bugünün dairesi: ince bir halka ile takvimde ilk bakışta bulunur. */
html.ds-v2 #page-dashboard .cal-big .cal-cell.today .cal-num { box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent) 20%, transparent); }

/* Dar kart: 2 kutuluk grafik başlığı rakama, döneme ve yüzdeye yer
   bırakmadığında ("Sip…") önce rakam ve yüzde küçülür, başlık kırpılmaz. */
html.ds-v2 #page-dashboard .deck-card { container-type: inline-size; }
@container (max-width: 420px) {
  html.ds-v2 #page-dashboard .deck-card .deck-card-figure b { font-size: 24px; }
  html.ds-v2 #page-dashboard .deck-card .deck-delta { padding: 0; background: none; }
  html.ds-v2 #page-dashboard .deck-card .deck-head-go { width: 24px; }
}

/* ── Hareket ──────────────────────────────────────────────────────────────
   Kurallar (TASARIM-DILI §2.4 + §3.22): süre .15–.45s, tek yumuşama eğrisi,
   yalnız transform/opacity/box-shadow (düzen hesabı yok). Hareket azaltma
   açıksa HİÇBİRİ oynamaz. */
@media (prefers-reduced-motion: no-preference) {
  html.ds-v2 { --v2-ease: cubic-bezier(.2, .75, .25, 1); }

  /* Basılma: tıklanan her düğme bir an içe çöker. */
  html.ds-v2 .shell-nav-item,
  html.ds-v2 .shell-side-toggle,
  html.ds-v2 .shell-subtab,
  html.ds-v2 body .topbar .topbar-right > .notif-btn,
  html.ds-v2 #page-dashboard :is(.today-agenda-item, .deck-edit-launch, .deck-pill, .deck-head-go, .termin-filter-toggle, .termin-planner-open, .cal-nav, .termin-cal-stat, .deck-empty-action) {
    transition-property: background-color, border-color, color, box-shadow, transform;
    transition-duration: .16s;
    transition-timing-function: var(--v2-ease);
  }
  html.ds-v2 .shell-nav-item:active,
  html.ds-v2 .shell-side-toggle:active { transform: scale(.985); }
  html.ds-v2 .shell-subtab:active,
  html.ds-v2 body .topbar .topbar-right > .notif-btn:active,
  html.ds-v2 #page-dashboard :is(.today-agenda-item, .deck-edit-launch, .deck-pill, .deck-head-go, .termin-filter-toggle, .termin-planner-open, .cal-nav, .termin-cal-stat, .deck-empty-action):active { transform: scale(.96); }
  html.ds-v2 #page-dashboard .cal-big .cal-cell:active { transform: scale(.985); }
  html.ds-v2 #page-dashboard .cal-big .cal-cell { transition: background-color .14s ease, border-color .14s ease, transform .14s var(--v2-ease); }

  /* Etkin menü satırı yumuşakça kabarır; ikon hafifçe öne gelir. */
  html.ds-v2 .shell-nav-icon { transition: transform .18s var(--v2-ease); }
  html.ds-v2 .shell-nav-item:hover .shell-nav-icon { transform: translateX(1px); }
  html.ds-v2 .shell-nav-item.active .shell-nav-icon { animation: v2-nav-pop .32s var(--v2-ease); }

  /* Logo = yenile düğmesi. Üzerine gelince düğüm yarım çeyrek döner
     (yenileneceğini sezdirir); basılınca hafif çöker. Yükleme dönüşü JS'te
     (refreshFromBrand) `rotate` ile oynar, buradaki `transform` ile çakışmaz. */
  html.ds-v2 .shell-brand-mark { transition: transform .45s var(--v2-ease); }
  html.ds-v2 .shell-brand:hover .shell-brand-mark { transform: rotate(45deg); }
  html.ds-v2 .shell-brand:active .shell-brand-mark { transform: rotate(45deg) scale(.9); transition-duration: .15s; }
  html.ds-v2 .shell-brand.is-refreshing .shell-brand-mark { transform: none; }

  /* Zil: üzerine gelince kısa bir sallanma; rozet belirirken "pop". */
  html.ds-v2 #notifBtn:hover svg { animation: v2-bell .6s var(--v2-ease); transform-origin: 50% 12%; }
  html.ds-v2 body .topbar .notif-badge:not(.hidden) { animation: v2-pop .34s var(--v2-ease); }

  /* Yönlendirme okları gittikleri yöne kayar. */
  html.ds-v2 #page-dashboard :is(.deck-head-go, .deck-tile-arrow) { transition: background .15s ease, color .15s ease, transform .18s var(--v2-ease); }
  html.ds-v2 #page-dashboard .deck-card:hover .deck-head-go,
  html.ds-v2 #page-dashboard .deck-tile:hover .deck-tile-arrow { transform: translate(1.5px, -1.5px); }
  html.ds-v2 #page-dashboard .deck-tile-icon { transition: background .18s ease, color .18s ease, transform .22s var(--v2-ease), box-shadow .18s ease; }
  html.ds-v2 #page-dashboard .deck-tile.has-icon:hover .deck-tile-icon { transform: translateY(-2px) rotate(-4deg); }

  /* Geçmiş termin noktası sayfa açılınca üç kez nabız atıp susar: gündemde
     gözün ilk durağı olur ama sürekli kıpırdamaz (sonsuz animasyon ayrıca
     "animasyonlar bitti mi" bekleyen testleri kilitlerdi). */
  html.ds-v2 #page-dashboard.active .today-agenda-item.is-overdue i { animation: v2-pulse 2.2s .6s ease-out 3; }

  /* Sayfa açılışı: selamlama ve gündem sırayla gelir (sayfa her açıldığında). */
  html.ds-v2 #page-dashboard.active .shell-greeting { animation: v2-rise .5s var(--v2-ease) both; }
  html.ds-v2 #page-dashboard.active .today-agenda { animation: v2-rise .5s .06s var(--v2-ease) both; }
  html.ds-v2 #page-dashboard.active .deck-edit-launch { animation: v2-rise .5s .1s var(--v2-ease) both; }

  /* Pano ilk kez veriyle çizildiğinde kartlar okuma sırasıyla belirir
     (dashboard-and-analysis.js deckIntroAfterRender; yalnız bir kez). */
  html.ds-v2 #page-dashboard .deck-grid.is-intro .deck-card { animation: v2-rise .52s var(--v2-ease) both; animation-delay: calc(var(--order, 0) * 45ms + 40ms); }
}

@keyframes v2-rise { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
@keyframes v2-pop { 0% { transform: scale(.4); opacity: 0; } 70% { transform: scale(1.12); opacity: 1; } 100% { transform: scale(1); } }
@keyframes v2-nav-pop { 0% { transform: scale(.82); } 60% { transform: scale(1.1); } 100% { transform: scale(1); } }
@keyframes v2-bell { 0%, 100% { transform: rotate(0); } 20% { transform: rotate(14deg); } 40% { transform: rotate(-11deg); } 60% { transform: rotate(6deg); } 80% { transform: rotate(-3deg); } }
@keyframes v2-pulse {
  0% { box-shadow: 0 0 0 0 color-mix(in srgb, var(--danger) 45%, transparent); }
  70%, 100% { box-shadow: 0 0 0 6px color-mix(in srgb, var(--danger) 0%, transparent); }
}

/* ── Dar ekran ────────────────────────────────────────────────────────── */
@media (max-width: 780px) {
  html.ds-v2 #page-dashboard .dashboard-hero { padding-top: 22px; margin-bottom: 20px; }
  html.ds-v2 #page-dashboard .shell-greeting { font-size: 28px; }
  html.ds-v2 #page-dashboard .today-agenda-date { flex-basis: 100%; padding: 0; }
  html.ds-v2 #page-dashboard .today-agenda-date::after { display: none; }
  html.ds-v2 #page-dashboard .deck-grid { gap: 12px; }
  html.ds-v2 #page-dashboard .deck-edit-launch { display: none; }
  html.ds-v2 #page-dashboard .deck-card { padding: 16px; }
  html.ds-v2 #page-dashboard > .card.termin-calendar-card { padding: 16px; }
  html.ds-v2 #page-dashboard .cal-grid { gap: 4px; }
  html.ds-v2 #page-dashboard .cal-big .cal-cell { border-radius: 10px; }
  html.ds-v2 #page-dashboard .termin-calendar-card:not(.termin-planner-expanded) .termin-upcoming { padding-left: 0; }
}
@media (prefers-reduced-motion: reduce) {
  html.ds-v2 #page-dashboard .today-agenda-item:hover { transform: none; }
}
/* Dönem seçici sıkışıp "Aylık" yazısını okunaksız kırpmasın. */
html.ds-v2 #page-dashboard .deck-period { flex: none; }
/* Orta genişlik: bölümlü sekmeler app-shell.css'teki sıkıştırmayı korur
   (Rehber'in üç sekmesi 820px'te kırpılmadan sığar). */
@media (min-width: 781px) and (max-width: 1100px) {
  html.ds-v2 .shell-subtab { gap: 6px; padding-inline: 9px; font-size: 12px; }
  html.ds-v2 .shell-subtabs-row:has(> .shell-subtab:nth-child(3)) .shell-subtab { padding-inline: 7px; }
  html.ds-v2 .shell-subtabs-row { padding: 2px; }
}

/* ============================================================================
   SAYFALAR — v2 dilinin kabuktan içeriye taşınması (2026-09-30)
   ----------------------------------------------------------------------------
   Her sayfanın kendi bileşeni aynı beş kalıba bağlanır:
     1. Bölümlü sekme (segmented): sakin iz + kabarık beyaz etkin parça
     2. Dolgulu arama: çizgisiz, odakta kâğıda döner + yumuşak halka
     3. Düğme hiyerarşisi: ikincil = kâğıt + ince çizgi; birincil = vurgu dolgu
     4. Panel yüzeyi: 16px köşe, ince çizgi, neredeyse görünmez gölge
     5. Tablo: sakin başlık, satır üstünde yumuşak zemin
   Sekmeli pencere (.sc-tabs, alt çizgili) §3.14'tür, olduğu gibi kalır.
   ========================================================================== */

/* 1 ── Bölümlü sekmeler ───────────────────────────────────────────────── */
html.ds-v2 body :is(.order-list-tabs, .order-flow-tabs, .photo-section-tabs, .customers-view-tabs, .fason-page-tabs, .analysis-periods, .settings-segmented),
html.ds-v2[data-theme="dark"] body :is(.order-list-tabs, .order-flow-tabs, .photo-section-tabs, .customers-view-tabs, .fason-page-tabs, .analysis-periods, .settings-segmented) {
  gap: 2px;
  padding: 3px;
  border: 0;
  border-radius: 11px;
  background: color-mix(in srgb, var(--desk-ink) 5.5%, transparent);
  box-shadow: none;
}
html.ds-v2 body :is(.order-list-tab, .order-flow-tab, .photo-section-tab, .customers-view-tabs > button, .fason-page-tabs > button, .analysis-period-btn, .settings-segmented > button),
html.ds-v2[data-theme="dark"] body :is(.order-list-tab, .order-flow-tab, .photo-section-tab, .customers-view-tabs > button, .fason-page-tabs > button, .analysis-period-btn, .settings-segmented > button) {
  min-height: 30px;
  padding: 5px 12px;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: var(--desk-muted);
  font-size: 12.5px;
  font-weight: 600;
  letter-spacing: -.005em;
  box-shadow: none;
  transform: none;
}
html.ds-v2 body :is(.order-list-tab, .order-flow-tab, .photo-section-tab, .customers-view-tabs > button, .fason-page-tabs > button, .analysis-period-btn, .settings-segmented > button):hover {
  background: transparent;
  color: var(--desk-ink);
  transform: none;
}
html.ds-v2 body :is(.order-list-tab, .order-flow-tab, .photo-section-tab, .customers-view-tabs > button, .fason-page-tabs > button, .analysis-period-btn, .settings-segmented > button).active,
html.ds-v2[data-theme="dark"] body :is(.order-list-tab, .order-flow-tab, .photo-section-tab, .customers-view-tabs > button, .fason-page-tabs > button, .analysis-period-btn, .settings-segmented > button).active {
  background: var(--desk-paper);
  color: var(--desk-ink);
  box-shadow: var(--v2-lift);
}

/* Sayfa kimlikli eski kurallar (ör. #page-orders .order-list-tab.active)
   yukarıdaki genel kuraldan güçlü; aynı görünüm sayfa kimliğiyle yinelenir. */
html.ds-v2 body :is(#page-orders, #page-past-orders, #page-new-orders, #page-order-entry, #page-photos, #page-customers, #page-fason, #page-analysis, #page-settings) :is(.order-list-tab, .order-flow-tab, .photo-section-tab, .customers-view-tabs > button, .fason-page-tabs > button, .analysis-period-btn, .settings-segmented > button),
html.ds-v2[data-theme="dark"] body :is(#page-orders, #page-past-orders, #page-new-orders, #page-order-entry, #page-photos, #page-customers, #page-fason, #page-analysis, #page-settings) :is(.order-list-tab, .order-flow-tab, .photo-section-tab, .customers-view-tabs > button, .fason-page-tabs > button, .analysis-period-btn, .settings-segmented > button) { border: 0; background: transparent; color: var(--desk-muted); box-shadow: none; }
html.ds-v2 body :is(#page-orders, #page-past-orders, #page-new-orders, #page-order-entry, #page-photos, #page-customers, #page-fason, #page-analysis, #page-settings) :is(.order-list-tab, .order-flow-tab, .photo-section-tab, .customers-view-tabs > button, .fason-page-tabs > button, .analysis-period-btn, .settings-segmented > button):hover { background: transparent; color: var(--desk-ink); }
html.ds-v2 body :is(#page-orders, #page-past-orders, #page-new-orders, #page-order-entry, #page-photos, #page-customers, #page-fason, #page-analysis, #page-settings) :is(.order-list-tab, .order-flow-tab, .photo-section-tab, .customers-view-tabs > button, .fason-page-tabs > button, .analysis-period-btn, .settings-segmented > button).active,
html.ds-v2[data-theme="dark"] body :is(#page-orders, #page-past-orders, #page-new-orders, #page-order-entry, #page-photos, #page-customers, #page-fason, #page-analysis, #page-settings) :is(.order-list-tab, .order-flow-tab, .photo-section-tab, .customers-view-tabs > button, .fason-page-tabs > button, .analysis-period-btn, .settings-segmented > button).active { background: var(--desk-paper); color: var(--desk-ink); box-shadow: var(--v2-lift); }

/* 2 ── Dolgulu arama ──────────────────────────────────────────────────── */
html.ds-v2 body .page :is(.orders-search-wrap, .ticket-workspace-search, .rh-search, .field-clear-wrap.is-track) > input,
html.ds-v2[data-theme="dark"] body .page :is(.orders-search-wrap, .ticket-workspace-search, .rh-search, .field-clear-wrap.is-track) > input {
  border: 1px solid transparent;
  border-radius: 10px;
  background-color: color-mix(in srgb, var(--desk-ink) 5%, transparent);
  box-shadow: none;
  color: var(--desk-ink);
  transition: background-color .16s ease, border-color .16s ease, box-shadow .16s ease;
}
html.ds-v2 body .page :is(.orders-search-wrap, .ticket-workspace-search, .rh-search, .field-clear-wrap.is-track) > input:hover {
  background-color: color-mix(in srgb, var(--desk-ink) 7.5%, transparent);
}
html.ds-v2 body .page :is(.orders-search-wrap, .ticket-workspace-search, .rh-search, .field-clear-wrap.is-track) > input:focus,
html.ds-v2[data-theme="dark"] body .page :is(.orders-search-wrap, .ticket-workspace-search, .rh-search, .field-clear-wrap.is-track) > input:focus {
  border-color: color-mix(in srgb, var(--accent) 55%, var(--desk-line));
  background-color: var(--desk-paper);
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--accent) 14%, transparent);
  outline: none;
}
/* Ticket arama çubuğunun etrafındaki beyaz kutu kalkar: arama sayfanın
   üstünde yalın bir şerit olur. */
html.ds-v2 body #page-tickets .ticket-workspace-controls,
html.ds-v2[data-theme="dark"] body #page-tickets .ticket-workspace-controls {
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}

/* 3 ── Düğme hiyerarşisi ──────────────────────────────────────────────── */
html.ds-v2 body .page :is(.btn-outline, .order-filters-toggle, .orders-view-toggle, .lean-tools-btn, .ticket-workspace-filter-toggle, .settings-secondary-btn, .of-tool, .tedarik-icon-btn),
html.ds-v2[data-theme="dark"] body .page :is(.btn-outline, .order-filters-toggle, .orders-view-toggle, .lean-tools-btn, .ticket-workspace-filter-toggle, .settings-secondary-btn, .of-tool, .tedarik-icon-btn) {
  border: 1px solid var(--desk-line);
  border-radius: 10px;
  background: var(--desk-paper);
  color: var(--desk-ink);
  font-weight: 600;
  box-shadow: var(--v2-card-shadow);
  transition: border-color .16s ease, box-shadow .16s ease, color .16s ease, transform .16s cubic-bezier(.2, .75, .25, 1);
}
html.ds-v2 body .page :is(.btn-outline, .order-filters-toggle, .orders-view-toggle, .lean-tools-btn, .ticket-workspace-filter-toggle, .settings-secondary-btn, .of-tool, .tedarik-icon-btn):hover:not(:disabled) {
  border-color: color-mix(in srgb, var(--desk-ink) 18%, var(--desk-line));
  background: var(--desk-paper);
  color: var(--desk-ink);
}
html.ds-v2 body .page :is(.order-filters-toggle.is-open, .ticket-workspace-filter-toggle[aria-expanded="true"]) {
  border-color: color-mix(in srgb, var(--accent) 40%, var(--desk-line));
  color: var(--accent);
}
html.ds-v2 body .page :is(.btn-primary, .new-ticket-cta, .settings-primary-btn),
html.ds-v2[data-theme="dark"] body .page :is(.btn-primary, .new-ticket-cta, .settings-primary-btn) {
  border-radius: 10px;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .16), 0 1px 2px color-mix(in srgb, var(--accent) 35%, transparent);
}
@media (prefers-reduced-motion: no-preference) {
  html.ds-v2 body .page :is(.btn, .btn-outline, .btn-primary, .order-filters-toggle, .orders-view-toggle, .lean-tools-btn, .ticket-workspace-filter-toggle, .settings-secondary-btn, .settings-primary-btn, .of-tool, .of-act, .tedarik-icon-btn, .tedarik-chip, .order-list-tab, .order-flow-tab, .photo-section-tab, .analysis-period-btn, .sc-tab):active:not(:disabled) { transform: scale(.965); }
}

/* 4 ── Panel yüzeyi ───────────────────────────────────────────────────── */
html.ds-v2 body :is(#page-tickets .ticket-workspace, #page-orders .table-wrap, #page-past-orders .table-wrap, #page-notes .workspace-notes-app, #page-customers .rh-index, #page-customers .rh-card, #page-analysis .analysis-card, #page-admin .admin-panel, #page-new-orders .order-flow-main, #page-order-entry .card, #page-fason .card, #page-settings .settings-card),
html.ds-v2[data-theme="dark"] body :is(#page-tickets .ticket-workspace, #page-orders .table-wrap, #page-past-orders .table-wrap, #page-notes .workspace-notes-app, #page-customers .rh-index, #page-customers .rh-card, #page-analysis .analysis-card, #page-admin .admin-panel, #page-new-orders .order-flow-main, #page-order-entry .card, #page-fason .card, #page-settings .settings-card) {
  border-color: var(--desk-line);
  border-radius: 16px;
  box-shadow: var(--v2-card-shadow);
}
html.ds-v2[data-theme="dark"] body :is(#page-tickets .ticket-workspace, #page-orders .table-wrap, #page-notes .workspace-notes-app, #page-analysis .analysis-card, #page-admin .admin-panel, #page-settings .settings-card) {
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .035), var(--v2-card-shadow);
}
/* Eski karanlık temanın nötr grileri (#2c2c2e, #1c1c1e) lacivert zeminde
   kahverengi görünüyordu; açılır ticket yüzeyleri kâğıt jetonuna bağlanır. */
html.ds-v2[data-theme="dark"] :is(.ticket-action-menu, .tk-photo-pop) { border-color: var(--desk-line); background: var(--desk-paper); }
html.ds-v2[data-theme="dark"] .tk-photo-search { border-color: var(--desk-line); background: var(--desk-soft); }
html.ds-v2 body #page-watchlist .watch-order-card { border-radius: 16px; }
html.ds-v2 body #page-watchlist .watch-order-card:hover { box-shadow: var(--v2-card-hover); }

/* 5 ── Tablo ──────────────────────────────────────────────────────────── */
html.ds-v2 body :is(#page-orders, #page-past-orders) .table-wrap thead th {
  color: var(--desk-muted);
  font-size: 11.5px;
  font-weight: 600;
  letter-spacing: 0;
  text-transform: none;
}
html.ds-v2 body :is(#page-orders, #page-past-orders) .table-wrap tbody tr { transition: background-color .12s ease; }
html.ds-v2 body :is(#page-orders, #page-past-orders) .table-wrap tbody tr:hover > * { background-color: color-mix(in srgb, var(--desk-soft) 80%, var(--desk-paper)); }

/* ── Analiz: ölçü kutularında dekoratif leke yok; rakam öne çıkar ─────── */
html.ds-v2 body .analysis-kpi,
html.ds-v2[data-theme="dark"] body .analysis-kpi {
  border: 1px solid var(--desk-line);
  border-radius: 16px;
  background: var(--desk-paper);
  box-shadow: var(--v2-card-shadow);
}
html.ds-v2 body .analysis-kpi::before,
html.ds-v2 body .analysis-kpi::after { display: none; }
html.ds-v2 body .analysis-kpi .k { color: var(--desk-muted); font-size: 12px; font-weight: 600; letter-spacing: 0; text-transform: none; }
html.ds-v2 body .analysis-kpi .v { margin-top: 10px; color: var(--desk-ink); font-size: 30px; font-weight: 720; letter-spacing: -.04em; }
@media (prefers-reduced-motion: no-preference) {
  html.ds-v2 body .analysis-kpi { transition: border-color .18s ease, box-shadow .22s ease, transform .22s cubic-bezier(.2, .75, .25, 1); }
  html.ds-v2 body .analysis-kpi:hover { border-color: color-mix(in srgb, var(--desk-ink) 13%, var(--desk-line)); box-shadow: var(--v2-card-hover); transform: translateY(-2px); }
}

/* Envanter kendi tam genişlik zeminini çiziyordu; sayfa kâğıdının sol
   çizgisini örtmesin diye zemin kâğıda bırakılır. */
html.ds-v2 body .inventory-app { background: transparent; }

/* ============================================================================
   SİPARİŞ DETAYI — v2 (2026-09-30)
   ----------------------------------------------------------------------------
   İskelet (§3.12) ve içerik AYNEN; yalnız yüzey, hiyerarşi ve okunuş:
   · Pencere sayfa kâğıdı (--bg) rengindedir; bilgi blokları onun üstünde beyaz
     kartlardır. Beyazın içinde beyaz kutu (hiyerarşisiz düz yüzey) biter.
   · Başlık: büyük numara, sakin künye; eylemler çerçevesiz simgeler.
   · Özet şeridi: Örgü/Boya hücresinin altında ince ilerleme izi + yüzde
     (Tedarik Zinciri ile aynı hesap) — sipariş nerede, tek bakışta.
   · Tablo: başlık bandı yok, "—" sessiz, satır üstünde yumuşak zemin.
   · Tedarik Zinciri: aşama düğümleri sakin, çizgi yüzde kadar dolar; hareketler
     kutu yığını değil, tek raylı zaman çizelgesi.
   ========================================================================== */
html.ds-v2 #orderModal { background: rgba(11, 18, 32, .42); }
html.ds-v2 #orderModal .order-modal,
html.ds-v2[data-theme="dark"] #orderModal .order-modal {
  border: 1px solid color-mix(in srgb, var(--desk-line) 70%, transparent);
  border-radius: 22px;
  background: var(--bg);
  box-shadow: 0 30px 80px -20px rgba(8, 15, 30, .45), 0 0 0 1px rgba(8, 15, 30, .04);
}
@media (prefers-reduced-motion: no-preference) {
  html.ds-v2 #orderModal[style*="flex"] .order-modal { animation: v2-modal-in .26s cubic-bezier(.2, .75, .25, 1) both; }
}
@keyframes v2-modal-in { from { opacity: 0; transform: translateY(10px) scale(.985); } to { opacity: 1; transform: none; } }

/* Başlık — sayfa kâğıdı üstünde yapışkan; kayınca ince çizgi */
html.ds-v2 #orderModal .om-head {
  padding: 26px var(--space-6) 18px;
  background: var(--bg);
  box-shadow: 0 1px 0 color-mix(in srgb, var(--desk-line) 80%, transparent);
}
html.ds-v2 #orderModal .om-sip {
  font-size: 30px;
  font-weight: 740;
  letter-spacing: -.035em;
  line-height: 1.1;
  font-variant-numeric: tabular-nums lining-nums;
}
html.ds-v2 #orderModal .om-title-row { gap: var(--space-2) 12px; }
html.ds-v2 #orderModal .om-status { height: 24px; padding: 0 10px; font-size: 11.5px; font-weight: 650; }
html.ds-v2 #orderModal .om-meta { margin-top: 8px; font-size: 13px; }
html.ds-v2 #orderModal .om-meta-item.om-firm { color: var(--desk-ink); font-weight: 650; }
html.ds-v2 #orderModal .order-modal-actions { gap: 2px; }
html.ds-v2 #orderModal .order-modal-actions > .modal-act-btn,
html.ds-v2 #orderModal .order-modal-actions .order-modal-more-btn {
  border: 0;
  border-radius: 10px;
  background: transparent;
  color: var(--desk-muted);
  transition: background-color .15s ease, color .15s ease, transform .15s cubic-bezier(.2, .75, .25, 1);
}
html.ds-v2 #orderModal .order-modal-actions > .modal-act-btn:hover,
html.ds-v2 #orderModal .order-modal-actions .order-modal-more-btn:hover,
html.ds-v2 #orderModal .order-modal-menu-wrap.is-open .order-modal-more-btn {
  border: 0;
  background: var(--v2-hover);
  color: var(--desk-ink);
}
/* Kapat da çıplak simgedir (2026-10-30, A düzeni); ayracı order-detail-refined.css çizer. */
html.ds-v2 #orderModal .order-modal-actions > .modal-act-btn.act-close { margin-left: 13px; }
html.ds-v2 #orderModal .order-modal-actions > .modal-act-btn.act-close:hover { color: var(--danger); }
@media (prefers-reduced-motion: no-preference) {
  html.ds-v2 #orderModal .order-modal-actions > .modal-act-btn:active,
  html.ds-v2 #orderModal .order-modal-actions .order-modal-more-btn:active { transform: scale(.94); }
}

/* Özet şeridi — tek beyaz kart; hücre: etiket · değer · ayrıntı · ilerleme izi */
html.ds-v2 #orderModal .order-overview-grid {
  border: 1px solid var(--desk-line);
  border-radius: 16px;
  background: var(--desk-paper);
  box-shadow: var(--v2-card-shadow);
}
html.ds-v2 #orderModal .order-fact { padding: 16px 18px 18px; border-left-color: color-mix(in srgb, var(--desk-line) 75%, transparent); }
html.ds-v2 #orderModal .order-fact > span { font-size: 11px; letter-spacing: .09em; }
html.ds-v2 #orderModal .order-fact strong { margin-top: 2px; font-size: 16px; font-weight: 680; letter-spacing: -.015em; }
html.ds-v2 #orderModal .order-fact-sub { font-size: 12px; }
html.ds-v2 #orderModal .order-fact-pct {
  position: absolute;
  top: 15px;
  right: 18px;
  color: var(--accent);
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: 0;
  font-variant-numeric: tabular-nums;
}
html.ds-v2 #orderModal .order-fact.is-complete .order-fact-pct { color: var(--success); }
html.ds-v2 #orderModal .order-fact.is-waiting .order-fact-pct { color: var(--warning); }
html.ds-v2 #orderModal .order-fact-progress {
  position: absolute;
  right: 18px;
  bottom: 9px;
  left: 18px;
  height: 3px;
  overflow: hidden;
  border-radius: 999px;
  background: color-mix(in srgb, var(--desk-ink) 7%, transparent);
}
html.ds-v2 #orderModal .order-fact-progress::after {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: var(--p, 0%);
  border-radius: inherit;
  background: var(--accent);
}
html.ds-v2 #orderModal .order-fact.is-complete .order-fact-progress::after { background: var(--success); }
/* Fasonda bekleyen kilo: gelenin ardından açık renk (Tedarik Zinciri .sc-seg-out ile aynı) */
html.ds-v2 #orderModal .order-fact-progress::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 var(--p, 0%);
  width: var(--po, 0%);
  background: color-mix(in srgb, var(--accent) 32%, transparent);
}
@media (prefers-reduced-motion: no-preference) {
  html.ds-v2 #orderModal .order-fact-progress::after { animation: v2-grow .7s .12s cubic-bezier(.2, .75, .25, 1) both; transform-origin: left; }
}
@keyframes v2-grow { from { transform: scaleX(0); } to { transform: scaleX(1); } }
html.ds-v2 #orderModal .order-fact-dot { width: 7px; height: 7px; box-shadow: 0 0 0 3px color-mix(in srgb, currentColor 0%, transparent); }
html.ds-v2 #orderModal .order-fact-termin.t-overdue .order-fact-dot { box-shadow: 0 0 0 3px color-mix(in srgb, var(--danger) 18%, transparent); }
html.ds-v2 #orderModal .order-fact-termin.t-soon .order-fact-dot { box-shadow: 0 0 0 3px color-mix(in srgb, var(--warning-fill) 25%, transparent); }
html.ds-v2 #orderModal .order-termin-panel { border-radius: 16px; box-shadow: var(--v2-card-shadow); }

/* Sekmeler — alt çizgili şerit (§3.14) daha net: kalın etkin çizgi, sakin geri kalan */
html.ds-v2 #orderModal .sc-body { margin-top: 26px; }
html.ds-v2 #orderModal .sc-tabs-row { margin-bottom: 18px; }
html.ds-v2 #orderModal .sc-tab { font-size: 14px; font-weight: 600; color: var(--desk-muted); }
html.ds-v2 #orderModal .sc-tab:hover { color: var(--desk-ink); }
html.ds-v2 #orderModal .sc-tab.active { color: var(--desk-ink); font-weight: 680; }
@media (prefers-reduced-motion: no-preference) {
  html.ds-v2 #orderModal .sc-pane.active { animation: v2-rise .28s cubic-bezier(.2, .75, .25, 1) both; }
}

/* Kumaş tablosu — başlık bandı yok, satır rahat, "—" sessiz */
html.ds-v2 #orderModal .planning-table-shell {
  overflow: hidden;
  border: 1px solid var(--desk-line);
  border-radius: 16px;
  background: var(--desk-paper);
  box-shadow: var(--v2-card-shadow);
}
html.ds-v2 #orderModal .planning-table-summary { padding: 16px 18px; }
html.ds-v2 #orderModal .planning-table-summary > div:last-child strong { font-size: 20px; font-weight: 740; letter-spacing: -.03em; }
html.ds-v2 #orderModal .planning-fabric-table thead th {
  padding: 12px 18px 10px;
  border-bottom: 1px solid var(--desk-line);
  background: transparent;
  color: var(--desk-muted);
  font-size: 11.5px;
  font-weight: 600;
}
html.ds-v2 #orderModal .planning-fabric-table tbody :is(th, td) { padding: 13px 18px; }
html.ds-v2 #orderModal .planning-fabric-table tbody tr { transition: background-color .12s ease; }
html.ds-v2 #orderModal .planning-fabric-table tbody tr:hover > :is(td, th) { background: color-mix(in srgb, var(--desk-soft) 70%, transparent); }
html.ds-v2 #orderModal .planning-spec-missing { color: color-mix(in srgb, var(--desk-muted) 45%, transparent); }
html.ds-v2 #orderModal .planning-fabric-name span { font-size: 13.5px; font-weight: 680; }
html.ds-v2 #orderModal .planning-kg strong { font-size: 15px; font-weight: 740; letter-spacing: -.01em; }

/* Alt bölümler — aynı beyaz kart dili */
html.ds-v2 #orderModal :is(.order-ticket-disclosure, .om-data, .order-photo-rail, .order-notes-panel-unified, .production-facts, .order-production-fabric) {
  border: 1px solid var(--desk-line);
  border-radius: 16px;
  background: var(--desk-paper);
  box-shadow: var(--v2-card-shadow);
}
html.ds-v2 #orderModal .om-data-head { transition: background-color .14s ease; }
html.ds-v2 #orderModal .om-data-head:hover { background: color-mix(in srgb, var(--desk-soft) 60%, transparent); }
html.ds-v2 #orderModal .order-production-fabric { overflow: hidden; }
html.ds-v2 #orderModal .order-production-fabric header { background: transparent; }
html.ds-v2 #orderModal .om-foot { color: var(--desk-muted); }

/* Tedarik Zinciri — bölmeli çubuk + aşama sütunları (listedeki çubuğun büyük hâli) */
html.ds-v2 #orderModal .sc-board {
  padding: 16px 18px;
  border: 1px solid var(--desk-line);
  border-radius: 16px;
  background: var(--desk-paper);
  box-shadow: var(--v2-card-shadow);
}
html.ds-v2 #orderModal .sc-board .sc-seg { background: color-mix(in srgb, var(--desk-ink) 9%, transparent); }
html.ds-v2 #orderModal .sc-label { color: var(--desk-ink); }
html.ds-v2 #orderModal .sc-stage.pending .sc-label,
html.ds-v2 #orderModal .sc-detail,
html.ds-v2 #orderModal .sc-board-total:not(.is-complete) { color: var(--desk-muted); }

/* Üretim akışı ölçüleri — sade ölçü kutuları */
html.ds-v2 #orderModal .production-detail-title { font-size: 15px; font-weight: 700; letter-spacing: -.015em; text-transform: none; }
html.ds-v2 #orderModal .production-metric,
html.ds-v2[data-theme="dark"] #orderModal .production-metric {
  padding: 12px 14px;
  border: 1px solid var(--desk-line);
  border-radius: 14px;
  background: var(--desk-paper);
  box-shadow: var(--v2-card-shadow);
}
html.ds-v2 #orderModal .production-metric .k { font-size: 11.5px; font-weight: 600; letter-spacing: 0; text-transform: none; }
html.ds-v2 #orderModal .production-metric .v { margin-top: 4px; font-size: 18px; font-weight: 720; letter-spacing: -.02em; font-variant-numeric: tabular-nums; }

/* Hareketler — kutu yığını yerine tek raylı zaman çizelgesi */
html.ds-v2 #orderModal .production-timeline {
  position: relative;
  display: grid;
  gap: 0;
  padding: 6px 0;
  border: 1px solid var(--desk-line);
  border-radius: 16px;
  background: var(--desk-paper);
  box-shadow: var(--v2-card-shadow);
}
html.ds-v2 #orderModal .production-timeline::before {
  content: "";
  position: absolute;
  top: 26px;
  bottom: 26px;
  left: 31px;
  width: 2px;
  border-radius: 2px;
  background: color-mix(in srgb, var(--desk-ink) 8%, transparent);
}
html.ds-v2 #orderModal .production-event,
html.ds-v2[data-theme="dark"] #orderModal .production-event {
  position: relative;
  grid-template-columns: 28px minmax(0, 1fr) auto;
  gap: 14px;
  margin: 0 6px;
  padding: 11px 12px;
  border: 0;
  border-radius: 12px;
  background: transparent;
  box-shadow: none;
  transition: background-color .14s ease;
}
html.ds-v2 #orderModal .production-event:hover { background: color-mix(in srgb, var(--desk-soft) 75%, transparent); }
html.ds-v2 #orderModal .production-event-mark {
  position: relative;
  z-index: 1;
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--desk-paper);
  color: var(--accent);
  font-size: 11.5px;
  font-weight: 750;
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--accent) 30%, var(--desk-line));
}
html.ds-v2 #orderModal .production-event[data-stage^="Boya"] .production-event-mark { color: var(--istanbul); box-shadow: 0 0 0 2px color-mix(in srgb, var(--istanbul) 30%, var(--desk-line)); }
html.ds-v2 #orderModal .production-event-title { font-size: 13.5px; font-weight: 650; }
html.ds-v2 #orderModal .production-event-sub { margin-top: 2px; font-size: 12px; color: var(--desk-muted); }
html.ds-v2 #orderModal .production-event-days {
  align-self: center;
  padding: 3px 9px;
  border-radius: 999px;
  background: var(--desk-soft);
  color: var(--desk-muted);
  font-size: 11.5px;
  font-weight: 650;
  font-variant-numeric: tabular-nums;
}
/* Bekleme satırında hap yalnız gün yazısını sarar; bekleme altında hapsız. */
html.ds-v2 #orderModal .production-event-days.has-wait { padding: 0; background: none; }
html.ds-v2 #orderModal .production-event-days.has-wait > span:first-child { padding: 3px 9px; border-radius: 999px; background: var(--desk-soft); }
html.ds-v2 #orderModal .production-event-wait { padding-right: 9px; color: var(--warning); font-size: 11.5px; }

/* Gezinme okları ve konum hapı — kâğıt daireler */
html.ds-v2 #orderModal .order-nav-arrow {
  width: 44px;
  height: 44px;
  border: 1px solid color-mix(in srgb, var(--desk-line) 60%, transparent);
  background: var(--desk-paper);
  color: var(--desk-ink);
  box-shadow: 0 8px 24px -8px rgba(8, 15, 30, .35);
  transition: transform .18s cubic-bezier(.2, .75, .25, 1), box-shadow .18s ease;
}
html.ds-v2 #orderModal .order-nav-arrow:hover { transform: scale(1.06); }

@media (max-width: 760px) {
  html.ds-v2 #orderModal .om-head { padding: 18px 14px 14px; }
  html.ds-v2 #orderModal .om-sip { font-size: 22px; }
  html.ds-v2 #orderModal .order-fact { padding: 14px 14px 16px; }
  html.ds-v2 #orderModal .order-fact-progress { right: 14px; left: 14px; bottom: 7px; }
  html.ds-v2 #orderModal .order-fact-pct { top: 13px; right: 14px; }
  html.ds-v2 #orderModal .production-timeline::before { left: 29px; }
}
/* Sekme kabı artık zemin taşımaz: sekmeler ve içerik doğrudan sayfa kâğıdında. */
html.ds-v2 #orderModal .sc-card,
html.ds-v2[data-theme="dark"] #orderModal .sc-card { border: 0; background: transparent; box-shadow: none; }
/* Eski koyu tema tabloya ayrı bir gri boyuyordu; başlık satırında bant gibi
   görünüyordu. Tablo kartın kâğıdını taşır. */
html.ds-v2 #orderModal .planning-fabric-table,
html.ds-v2[data-theme="dark"] #orderModal .planning-fabric-table { background: transparent; }

/* ═══ TAKVİM v2 (2026-11-05) — TASARIM-DILI.md §3.56 ══════════════════════
   Okunur termin hapı, risk çizgisi, yoğunluk, Gecikti şeridi, Ay/Hafta/Ajanda,
   not kutusunun sonuç hapları. Renkler: yeşil yetişir, sarı sınırda, kırmızı
   yetişmez / gecikti, gri tahmin yok, nötr (mavi) = tahmin henüz yüklenmedi. */
html[data-theme="dark"] 
/* Görünüm seçici: başlığın yanında küçük bölümlü düğme */
.termin-planner-title-wrap { display:flex; align-items:center; gap:14px; }
.cal-view-switch { display:inline-flex; gap:2px; padding:3px; border-radius:10px; background:var(--desk-soft); border:1px solid var(--desk-line, var(--border)); }
.cal-view-switch button { border:0; background:none; box-shadow:none; padding:4px 12px; border-radius:7px; font:inherit; font-size:12.5px; font-weight:650; color:var(--desk-muted, var(--muted)); cursor:pointer; }
.cal-view-switch button:hover { color:var(--desk-ink, var(--text)); }
.cal-view-switch button.is-on { background:var(--desk-paper); color:var(--desk-ink, var(--text)); box-shadow:var(--cal-shadow-sm); }
#terminPlannerCard.termin-planner-expanded .cal-view-switch { display:none; }

/* Ay hücresi: termin hapı "00486 · 320" */
.cal-tchips { display:flex; flex-direction:column; gap:3px; margin-top:3px; min-width:0; }
html #page-dashboard .cal-pin.cal-tchip { position:relative; display:flex; align-items:center; gap:5px; width:100%; height:19px; min-width:0; padding:0 6px 0 8px; border-radius:5px; background:var(--desk-paper); color:var(--desk-ink, var(--text)); font:inherit; font-size:11px; line-height:1; text-align:left; transform:none; cursor:pointer; overflow:hidden; }
html #page-dashboard .cal-pin.cal-tchip::before { content:""; position:absolute; left:0; top:3px; bottom:3px; width:3px; border-radius:2px; background:var(--risk); }
html #page-dashboard .cal-pin.cal-tchip b { font-weight:700; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; min-width:0; }
html #page-dashboard .cal-pin.cal-tchip span { margin-left:auto; color:var(--desk-muted, var(--muted)); font-weight:550; font-variant-numeric:tabular-nums; white-space:nowrap; }
html #page-dashboard .cal-pin.cal-tchip:hover { transform:none; background:color-mix(in srgb, var(--risk) 16%, var(--desk-paper)); }
html #page-dashboard .cal-pin.cal-tchip[draggable="true"] { cursor:grab; }
.cal-tchip, .cal-wcard, .cal-aline { --risk:var(--accent); }
#terminCalendar .cal-tchip.is-ok, #terminCalendar .cal-wcard.is-ok, #terminCalendar .cal-aline.is-ok { --risk:var(--cal-ok); }
#terminCalendar .cal-tchip.is-warn, #terminCalendar .cal-wcard.is-warn, #terminCalendar .cal-aline.is-warn { --risk:var(--cal-warn); }
#terminCalendar .cal-tchip.is-bad, #terminCalendar .cal-wcard.is-bad, #terminCalendar .cal-aline.is-bad,
#terminCalendar .cal-tchip.is-late, #terminCalendar .cal-wcard.is-late, #terminCalendar .cal-aline.is-late { --risk:var(--cal-bad); }
#terminCalendar .cal-tchip.is-none, #terminCalendar .cal-wcard.is-none, #terminCalendar .cal-aline.is-none { --risk:var(--cal-none); }
.cal-warn { width:11px; height:11px; flex:0 0 auto; color:var(--cal-warn); stroke-width:2; }
.cal-tchip-more { align-self:flex-start; border:0; background:none; box-shadow:none; padding:1px 2px; font:inherit; font-size:10.5px; font-weight:650; color:var(--desk-muted, var(--muted)); cursor:pointer; }
.cal-tchip-more:hover { color:var(--accent); }

/* Yoğunluk: günün termin kilosu (style="--cal-heat:N%") */
html #page-dashboard .cal-big .cal-cell.has-termin[style*="--cal-heat"]:not(.today):not(.selected) { background:color-mix(in srgb, var(--accent) var(--cal-heat), var(--desk-soft)); }
/* Geçmiş günler ve hafta sonu sönük */
html #page-dashboard .cal-big .cal-cell.is-past:not(.today):not(.selected) .cal-num { opacity:.55; }
html #page-dashboard .cal-big .cal-cell.is-past:not(.today):not(.selected) .cal-cell-body { opacity:.72; }
html #page-dashboard .cal-big .cal-cell.is-weekend:not(.today):not(.selected):not(.has-termin):not(.outside-month) { background:color-mix(in srgb, var(--desk-soft) 55%, transparent); }
/* Sürükle-bırak */
#terminCalendar.is-dragging .cal-cell[data-date], #terminCalendar.is-dragging .cal-wrow { transition:outline-color .1s; }
#terminCalendar .is-drop { outline:2px dashed var(--accent); outline-offset:-2px; }

/* Gecikti: başlıkta kırmızı hap + küçük liste (kullanıcı seçimi A) */
button.termin-cal-stat.is-late-btn { font:inherit; cursor:pointer; border-color:color-mix(in srgb, var(--cal-bad) 45%, var(--desk-line, var(--border))); color:var(--cal-bad); }
button.termin-cal-stat.is-late-btn .dot { background:var(--cal-bad); }
button.termin-cal-stat.is-late-btn:hover, button.termin-cal-stat.is-late-btn[aria-expanded="true"] { background:color-mix(in srgb, var(--cal-bad) 10%, transparent); }
.cal-late-pop { position:fixed; z-index:60; padding:6px; border-radius:12px; border:1px solid var(--desk-line, var(--border)); background:var(--desk-paper); box-shadow:var(--cal-shadow-pop); }
.cal-late-head { padding:4px 8px 6px; font-size:10.5px; font-weight:750; letter-spacing:.07em; text-transform:uppercase; color:var(--desk-muted, var(--muted)); }
.cal-late-row { width:100%; display:grid; grid-template-columns:auto minmax(0,1fr) auto; gap:10px; align-items:center; padding:6px 8px; border:0; border-radius:8px; background:none; box-shadow:none; font:inherit; font-size:12.5px; text-align:left; color:var(--desk-ink, var(--text)); cursor:pointer; }
.cal-late-row:hover { background:var(--desk-soft); }
.cal-late-row b { font-weight:700; }
.cal-late-who { color:var(--desk-muted, var(--muted)); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; font-size:12px; }
.cal-late-days { color:var(--cal-bad); font-weight:650; font-size:12px; white-space:nowrap; }
.cal-late-more { padding:6px 8px 3px; font-size:11.5px; color:var(--desk-muted, var(--muted)); }

/* Hafta: her gün bir satır, kartlar yan yana */
.cal-week { display:flex; flex-direction:column; gap:7px; }
.cal-wrow { display:grid; grid-template-columns:78px minmax(0,1fr); gap:14px; align-items:start; padding:10px 12px; border-radius:11px; border:1px solid transparent; background:var(--desk-soft); cursor:pointer; }
.cal-wrow:hover { border-color:var(--desk-line, var(--border)); }
.cal-wrow.is-weekend { background:color-mix(in srgb, var(--desk-soft) 55%, transparent); }
.cal-wrow.is-selected { border-color:color-mix(in srgb, var(--accent) 50%, transparent); }
.cal-wrow.is-today { border-color:var(--accent); }
.cal-wrow.is-past .cal-wday { opacity:.6; }
.cal-wrow.is-empty { padding:7px 12px; }
.cal-wday { display:flex; flex-direction:column; gap:1px; }
.cal-wday span { font-size:11px; font-weight:750; letter-spacing:.06em; color:var(--desk-muted, var(--muted)); }
.cal-wday b { font-size:19px; line-height:1.1; color:var(--desk-ink, var(--text)); }
.cal-wrow.is-empty .cal-wday { flex-direction:row; align-items:baseline; gap:8px; }
.cal-wrow.is-empty .cal-wday b { font-size:14px; }
.cal-wday i { font-style:normal; font-size:11.5px; color:var(--desk-muted, var(--muted)); font-variant-numeric:tabular-nums; margin-top:2px; }
.cal-witems { display:grid; grid-template-columns:repeat(auto-fill, minmax(230px, 1fr)); gap:7px; min-width:0; }
.cal-wempty { font-size:12px; color:var(--desk-muted, var(--muted)); opacity:.7; align-self:center; }
.cal-wrow.is-empty .cal-witems { display:flex; align-items:center; }
.cal-wcard { position:relative; display:flex; flex-direction:column; gap:2px; min-width:0; padding:8px 11px 8px 13px; border-radius:9px; border:0; background:var(--desk-paper); box-shadow:none; font:inherit; text-align:left; color:var(--desk-ink, var(--text)); cursor:pointer; }
.cal-wcard[draggable="true"] { cursor:grab; }
.cal-wcard::before { content:""; position:absolute; left:0; top:7px; bottom:7px; width:3px; border-radius:2px; background:var(--risk); }
.cal-wcard:hover { background:color-mix(in srgb, var(--risk) 12%, var(--desk-paper)); }
.cal-wcard-a { display:flex; align-items:baseline; gap:8px; min-width:0; font-size:13.5px; }
.cal-wcard-a b { font-weight:750; }
.cal-wcard-a > span { color:var(--desk-muted, var(--muted)); font-size:12.5px; font-variant-numeric:tabular-nums; }
.cal-wcard-a em { margin-left:auto; display:inline-flex; align-items:center; gap:4px; font-style:normal; font-size:11.5px; font-weight:650; color:var(--risk); white-space:nowrap; }
.cal-wcard.is-ok .cal-wcard-a em { color:var(--cal-ok); }
.cal-wcard-b { font-size:12px; color:var(--desk-muted, var(--muted)); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
html #page-dashboard .cal-note-line.cal-wnote, .cal-wnote { position:relative; display:block; min-width:0; padding:8px 11px 8px 13px; border-radius:9px; font-size:13px; font-weight:550; line-height:1.4; white-space:normal; overflow:visible; text-overflow:clip; cursor:pointer; }
.cal-wnote::before { content:""; position:absolute; left:0; top:7px; bottom:7px; width:3px; border-radius:2px; background:currentColor; opacity:.7; }
.cal-wnote small { display:block; margin-top:2px; font-size:11.5px; font-weight:500; color:var(--desk-muted, var(--muted)); }
.cal-wnote.is-order { background:color-mix(in srgb, var(--accent) 10%, transparent); color:var(--accent); }
.cal-wnote.is-holiday, .cal-wnote.is-bday { background:var(--cal-holiday-bg); color:var(--cal-holiday-ink); cursor:default; }
.cal-wnote.is-bday .cal-bday-ico { width:13px; height:13px; vertical-align:-2px; margin-right:5px; }
.cal-week .cal-note-line:not(.cal-wnote) { font-size:12px; padding:6px 10px; border-radius:8px; white-space:normal; }

/* Ajanda */
.cal-agenda { display:flex; flex-direction:column; }
.cal-aday { display:grid; grid-template-columns:110px minmax(0,1fr); gap:14px; padding:10px 4px; border-bottom:1px solid var(--desk-line, var(--border)); cursor:pointer; }
.cal-aday.is-today .cal-aday-date b { color:var(--accent); }
.cal-aday-date b { display:block; font-size:14px; color:var(--desk-ink, var(--text)); }
.cal-aday-date span { font-size:11.5px; color:var(--desk-muted, var(--muted)); }
.cal-aday-lines { display:flex; flex-direction:column; gap:4px; min-width:0; }
.cal-aline { display:grid; grid-template-columns:8px auto auto minmax(0,1fr) auto; gap:10px; align-items:center; padding:5px 8px; border-radius:8px; border:0; background:none; box-shadow:none; font:inherit; font-size:13px; text-align:left; color:var(--desk-ink, var(--text)); cursor:pointer; }
.cal-aline:hover { background:var(--desk-soft); }
.cal-aline i { width:8px; height:8px; border-radius:50%; background:var(--risk); }
.cal-aline b { font-weight:700; }
.cal-aline > span { color:var(--risk); font-size:12px; font-weight:600; white-space:nowrap; }
.cal-aline .cal-aline-who { color:var(--desk-muted, var(--muted)); font-weight:500; overflow:hidden; text-overflow:ellipsis; }
.cal-aline em { font-style:normal; color:var(--desk-muted, var(--muted)); font-variant-numeric:tabular-nums; }
.cal-agenda .cal-wnote { margin-left:0; }
.cal-agenda-empty { padding:24px 4px; font-size:13px; color:var(--desk-muted, var(--muted)); }

/* Alt bilgi: risk anahtarı */
.cal-legend .lg-risk { width:3px; height:12px; border-radius:2px; }
.cal-legend .lg-risk.is-ok { background:var(--cal-ok); }
.cal-legend .lg-risk.is-warn { background:var(--cal-warn); }
.cal-legend .lg-risk.is-bad, .cal-legend .lg-risk.is-late { background:var(--cal-bad); }
.cal-legend .lg-risk.is-none { background:var(--cal-none); }
.cal-legend .cal-legend-sep { width:1px; height:12px; background:var(--desk-line, var(--border)); }

/* Yan panel: termin satırında risk çizgisi; notta saat */
html #page-dashboard .termin-upcoming-row[class*="risk-"] .termin-up-sip::before { content:""; display:inline-block; width:7px; height:7px; margin-right:7px; border-radius:50%; vertical-align:1px; background:var(--row-risk, var(--accent)); }
html #page-dashboard .termin-upcoming-row.risk-ok { --row-risk:var(--cal-ok); }
html #page-dashboard .termin-upcoming-row.risk-warn { --row-risk:var(--cal-warn); }
html #page-dashboard .termin-upcoming-row.risk-bad, html #page-dashboard .termin-upcoming-row.risk-late { --row-risk:var(--cal-bad); }
html #page-dashboard .termin-upcoming-row.risk-none { --row-risk:var(--cal-none); }
.termin-badge.is-time { background:none; color:var(--desk-muted, var(--muted)); font-variant-numeric:tabular-nums; }
.termin-badge.is-time.is-reminder { color:var(--accent); }
/* Künye kartında Plan tahmini */
.thc-risk { display:flex; align-items:center; gap:7px; margin-top:6px; font-size:12px; font-weight:650; }
.thc-risk i { width:8px; height:8px; border-radius:50%; background:currentColor; }
.thc-risk small { margin-left:auto; font-weight:500; color:var(--desk-muted, var(--muted)); }
.thc-risk.is-ok { color:var(--cal-ok); }
.thc-risk.is-warn { color:var(--cal-warn); }
.thc-risk.is-bad { color:var(--cal-bad); }
.thc-risk.is-none { color:var(--cal-none); }

/* Not kutusu: @ / önerileri ve sonuç hapları */
.quick-calendar-suggestions button .quick-note-ref-side { margin-left:auto; padding-left:12px; font-style:normal; font-size:11.5px; font-weight:600; color:var(--accent); white-space:nowrap; }
.quick-calendar-suggestions button.is-cmd .quick-note-ref-side { color:var(--desk-muted, var(--muted)); font-weight:500; }
.quick-note-ref-icon.date, .quick-note-ref-icon.cmd { display:inline-flex; align-items:center; justify-content:center; background:var(--accent-soft); color:var(--accent); }
.quick-note-ref-icon.date svg, .quick-note-ref-icon.cmd svg { width:15px; height:15px; stroke-width:1.9; }
.quick-note-detection.is-outcome { font-size:10.5px; }
.quick-note-detection.is-outcome.private { background:var(--cal-private-bg); color:var(--cal-private-ink); }
.quick-note-detection.is-outcome.public { background:var(--cal-public-bg); color:var(--cal-public-ink); }
.quick-note-detection.is-outcome.termin, .quick-note-detection.is-outcome.remind, .quick-note-detection.remind { background:var(--cal-info-bg); color:var(--cal-info-ink); }
.quick-note-detection.warn { background:var(--cal-alert-bg); color:var(--cal-alert-ink); }
.quick-note-detection.chat { background:var(--cal-chat-bg); color:var(--cal-chat-ink); }
.quick-note-detection.is-btn { border:1px solid var(--desk-line, var(--border)); background:none; cursor:pointer; font:inherit; font-size:10px; font-weight:700; color:var(--desk-ink, var(--text)); }
.quick-note-detection.is-btn:hover { border-color:var(--accent); color:var(--accent); }
/* Not yazmayan komutta Özel/Genel geçersiz: sönük ve tıklanmaz */
.quick-calendar-note-form.is-command .calendar-note-mode { opacity:.38; pointer-events:none; }

/* Sohbetteki takvim kartı */
.ct-card.is-calendar { border-left:3px solid var(--accent); }

/* Telefon: haplar ince şerit, hafta tek sütun */
@media (max-width:760px) {
  .termin-planner-title-wrap { flex-wrap:wrap; gap:8px; }
  html #page-dashboard .cal-pin.cal-tchip { height:5px; padding:0; font-size:0; }
  html #page-dashboard .cal-pin.cal-tchip::before { inset:0; width:auto; border-radius:3px; }
  html #page-dashboard .cal-pin.cal-tchip > * { display:none; }
  .cal-tchip-more { font-size:9.5px; padding:0; }
  .cal-wrow { grid-template-columns:56px minmax(0,1fr); gap:10px; padding:9px 10px; }
  .cal-witems { grid-template-columns:minmax(0,1fr); }
  .cal-aday { grid-template-columns:minmax(0,1fr); gap:4px; }
  .cal-aline { grid-template-columns:8px auto minmax(0,1fr) auto; }
  .cal-aline .cal-aline-who { display:none; }
}

/* ── assets/styles/chat-page.css ── */
/* Sohbet sayfası (#/sohbet) + Genel köşe penceresi — TASARIM-DILI.md §3.54.
   Kod: assets/scripts/chat-page.js. Açılışta yüklenir: köşe penceresi her
   sayfada görünebilir. */

#page-chat { padding-top: var(--space-2, 8px); }
/* Çok geniş ekranda sohbet sayfası genel 1440px sınırına takılmaz (2026-11-04):
   okuma sütunu standardıyla birlikte geniş ekranda konuşma alanı da büyür. */
body #page-chat.page { max-width: 1920px; }
#page-chat .cp-app {
  height: calc(100dvh - var(--shell-top, 56px) - 48px); min-height: 520px;
  display: grid; grid-template-columns: 288px minmax(0, 1fr) 264px; overflow: hidden;
  border: 1px solid var(--desk-line); border-radius: 16px; background: var(--desk-paper);
  color: var(--desk-ink); box-shadow: var(--v2-card-shadow, var(--shadow));
}
#page-chat .cp-app.no-info { grid-template-columns: 288px minmax(0, 1fr); }
#page-chat .cp-app.no-info .cp-info { display: none; }
#page-chat :is(button, .cp-row):focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
.cp-app svg, .ct-view svg, .ct-mini svg { flex: 0 0 auto; }

/* ── Sol liste ── */
.cp-list { min-width: 0; min-height: 0; display: flex; flex-direction: column; border-right: 1px solid var(--desk-line); background: var(--desk-paper); }
.cp-list-head { display: flex; align-items: center; gap: 8px; padding: 16px 14px 10px 18px; }
.cp-list-head h2 { flex: 1; margin: 0; font-size: 18px; font-weight: 700; letter-spacing: -.02em; }
.cp-search { display: flex; align-items: center; gap: 8px; margin: 0 12px 8px; padding: 0 10px; height: 34px; border-radius: 9px; background: var(--desk-soft); color: var(--desk-muted); }
.cp-search svg { width: 14px; height: 14px; stroke-width: 1.8; }
#page-chat .cp-search input[type="text"], #page-chat .cp-search input[type="text"]:focus { box-shadow: none; border: 0; border-radius: 0; outline: 0; background: none; padding: 0; height: auto; }
.cp-search:focus-within { box-shadow: 0 0 0 2px color-mix(in srgb, var(--accent) 45%, transparent); }
.cp-search input { flex: 1; min-width: 0; border: 0; outline: 0; background: none; color: var(--desk-ink); font: inherit; font-size: var(--type-control, 13px); }
.cp-rows { flex: 1; min-height: 0; overflow: auto; padding: 2px 8px 8px; scrollbar-width: none; }
.cp-rows::-webkit-scrollbar { display: none; }
.cp-grp { padding: 12px 10px 4px; font-size: var(--type-caption, 11px); font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--desk-muted); }
.cp-row {
  all: unset; box-sizing: border-box; cursor: pointer; width: 100%;
  display: grid; grid-template-columns: 36px minmax(0, 1fr) auto; gap: 10px; align-items: center;
  padding: 8px; border-radius: 10px;
}
.cp-row:hover { background: var(--desk-soft); }
.cp-row.is-on { background: var(--accent-soft); }
.cp-row:focus-visible { outline: 2px solid var(--accent); outline-offset: -2px; }
.cp-row-txt { min-width: 0; display: grid; }
.cp-row-name { font-size: var(--type-control, 13px); font-weight: 650; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.cp-row-pv { font-size: var(--type-meta, 12px); color: var(--desk-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.cp-row.is-unread .cp-row-pv { color: var(--desk-ink); }
.cp-row-pv .is-online { color: var(--success); }
.cp-row-side { display: grid; justify-items: end; gap: 3px; font-size: var(--type-caption, 11px); color: var(--desk-muted); }
.cp-cnt { min-width: 18px; height: 18px; padding: 0 5px; border-radius: 999px; display: inline-grid; place-items: center; font-size: 11px; font-weight: 700; background: var(--desk-soft); color: var(--desk-muted); border: 1px solid var(--desk-line); }
.cp-cnt.is-at { background: var(--accent); border-color: transparent; color: var(--on-accent, #fff); }
.cp-empty { padding: 18px 10px; font-size: var(--type-meta, 12px); color: var(--desk-muted); }
.cp-voice { border-top: 1px solid var(--desk-line); padding: 6px 8px 8px; }
.cp-voice-btn { all: unset; box-sizing: border-box; cursor: pointer; width: 100%; display: flex; align-items: center; gap: 10px; padding: 8px 10px; border-radius: 10px; font-size: var(--type-meta, 12px); color: var(--desk-muted); }
.cp-voice-btn svg { width: 16px; height: 16px; stroke-width: 1.8; }
.cp-voice-btn b { color: var(--desk-ink); font-weight: 600; }
.cp-voice-btn:hover { background: var(--desk-soft); }
.cp-voice-btn.is-live svg { color: var(--success); }

/* ── Avatarlar ── */
.cp-av { position: relative; width: 36px; height: 36px; border-radius: 50%; display: grid; place-items: center; flex: none; color: var(--on-accent, #fff); font-size: 12px; font-weight: 700; }
.cp-av.is-s { width: 28px; height: 28px; font-size: 11px; }
.cp-av.is-xs { width: 20px; height: 20px; font-size: 9px; box-shadow: 0 0 0 2px var(--desk-paper); }
.cp-av.is-group { background: var(--desk-soft); color: var(--desk-ink); border: 1px solid var(--desk-line); }
.cp-av.is-group svg { width: 16px; height: 16px; stroke-width: 1.8; }
/* Ofis grubu (İstanbul / Bursa): Genel'in kutusu, içinde şehir kısaltması. */
.cp-av.is-group.is-room { font-size: 10.5px; font-weight: 750; letter-spacing: .02em; }
.cp-av.is-s.is-group.is-room { font-size: 8.5px; }
.cp-av.is-xs.is-group svg { width: 11px; height: 11px; }
.cp-av.is-ai { background: var(--desk-ink); color: var(--desk-paper); font-size: 11px; }
.cp-av-on { position: absolute; right: -1px; bottom: -1px; width: 11px; height: 11px; border-radius: 50%; background: var(--success); box-shadow: 0 0 0 2px var(--desk-paper); }

.cp-ibtn { all: unset; box-sizing: border-box; cursor: pointer; width: 30px; height: 30px; border-radius: 8px; display: grid; place-items: center; color: var(--desk-muted); flex: none; }
.cp-ibtn svg { width: 16px; height: 16px; stroke-width: 1.8; }
.cp-ibtn:hover { background: var(--desk-soft); color: var(--desk-ink); }
.cp-ibtn.is-on { color: var(--accent); background: var(--accent-soft); }
.cp-ibtn:focus-visible { outline: 2px solid var(--accent); outline-offset: 1px; }
.cp-back { display: none; }

/* ── Orta: yuvalar ── */
.cp-main { position: relative; min-width: 0; min-height: 0; display: flex; flex-direction: column; background: var(--bg); }
/* Okuma sütunu standardı (2026-11-04): Genel, kişi sohbeti ve sesli oda aynı
   ortalanmış sütunda durur. Sütun ortanın %76'sı; en az 720px, en çok 1200px.
   Dar ortada kenar boşluğu 22px'e iner, geniş ekranda sütun da büyür. */
#page-chat .cp-main { container-type: inline-size; --cp-col: clamp(720px, 76cqi, 1200px); --cp-pad: max(22px, calc((100cqi - var(--cp-col)) / 2)); }
#page-chat .ct-msg { padding-left: var(--cp-pad); padding-right: var(--cp-pad); }
#page-chat .ct-day, #page-chat .ct-new, #page-chat .ct-catch, #page-chat .ct-sum { margin-left: var(--cp-pad); margin-right: var(--cp-pad); }
#page-chat .ct-seen { padding-left: var(--cp-pad); padding-right: var(--cp-pad); }
#page-chat .ct-foot { padding-left: var(--cp-pad); padding-right: var(--cp-pad); }
#page-chat .ct-acts { right: var(--cp-pad); }
#page-chat .ct-pop, #page-chat .ct-gif, #page-chat .ct-gal { left: var(--cp-pad); }
#page-chat .ct-gif, #page-chat .ct-gal { right: var(--cp-pad); }
#page-chat .ct-typing { left: calc(var(--cp-pad) + 2px); }
.cp-slot { flex: 1; min-height: 0; display: flex; flex-direction: column; }
.cp-slot[hidden] { display: none; }

/* Kişi sohbeti: mevcut panel yuvaya taşınır, sayfanın parçası gibi durur. */
/* Kimlik seçicisi (2,1,0) yan menü kuralını (body.shell-ready #msgPanel) ve
   chat-refined'ı öncelik bayrağı olmadan geçer. Panelin animasyonu taşınırken iptal edilir. */
#page-chat #msgPanel.is-in-page {
  position: relative; inset: auto; width: 100%; max-width: none; height: 100%; max-height: none;
  border: 0; border-radius: 0; box-shadow: none; transform: none; animation: none;
  background: var(--desk-paper); z-index: auto; display: flex; flex-direction: column;
}
#page-chat #msgPanel.is-in-page .msg-panel-body { flex: 1; min-height: 0; }
#msgPanel.is-in-page #msgPanelHead,
#msgPanel.is-in-page #msgListView,
#msgPanel.is-in-page #msgBulkView { display: none; }
#msgPanel.is-in-page .msg-convo-head > .msg-icon-btn { display: none; }
#msgPanel.is-in-page .msg-convo-head { min-height: 60px; padding: 0 18px; border-bottom: 1px solid var(--desk-line); }
#page-chat #msgPanel.is-in-page .msg-convo-scroll { padding-left: var(--cp-pad); padding-right: var(--cp-pad); }
#page-chat #msgPanel.is-in-page .msg-convo-input { margin: 0 var(--cp-pad) 14px; }
#msgPanel:not(.is-in-page) .msg-info-btn { display: none; }
#msgPanel.is-in-page .msg-convo-head > .msg-icon-btn.msg-info-btn { display: grid; place-items: center; }
#msgPanel .msg-info-btn.is-on { color: var(--accent); background: var(--accent-soft); }

/* Gençler AI: kendi sayfası yuvaya taşınır. */
#page-chat #page-ai.is-embedded { display: flex; flex: 1; min-height: 0; width: 100%; max-width: none; margin: 0; padding: 0; animation: none; }
#page-chat #page-ai.is-embedded .gai-host { height: 100%; min-height: 0; flex: 1; }
#page-chat #page-ai.is-embedded .gai-app { border: 0; border-radius: 0; box-shadow: none; }
/* C düzeni (2026-11-05, kullanıcı seçimi): geçmiş soldaki listede (cp-subs), AI'nin
   kendi geçmiş sütunu yok; başlık "Gençler AI · sohbet", soru da cevap gibi
   avatar + ad + saat satırıyla (Genel'deki dil). Sağ sütun sohbet sayfasının #cpInfo'su. */
/* Telefon genişliğinde (≤760) AI'nin kendi çekmecesi kalır: liste ile konuşma tek sütundur. */
@media (min-width: 761px) {
  #page-chat #page-ai.is-embedded .gai-app { grid-template-columns: minmax(0, 1fr); }
  #page-chat #page-ai.is-embedded :is(.gai-side, .gai-scrim, .gai-side-toggle) { display: none; }
}
#page-chat #page-ai.is-embedded .gai-bar { height: 60px; padding: 0 14px 0 18px; border-bottom: 1px solid var(--desk-line); background: var(--desk-paper); }
#page-chat #page-ai.is-embedded .gai-bar-title { font-size: 16px; font-weight: 680; }
#page-chat #page-ai.is-embedded .gai-bar-title::before { content: "Gençler AI"; color: var(--desk-ink); }
#page-chat #page-ai.is-embedded .gai-bar-title::after { content: ""; }
#page-chat #page-ai.is-embedded .gai-app:not(.is-empty) .gai-bar-title::before { content: "Gençler AI · "; color: var(--desk-muted); font-weight: 600; }
#page-chat #page-ai.is-embedded .gai-app.is-empty .gai-bar-title { visibility: visible; font-size: 0; }
#page-chat #page-ai.is-embedded .gai-app.is-empty .gai-bar-title::before { font-size: 16px; }
#page-chat #page-ai.is-embedded .gai-bar-new { display: inline-flex; align-items: center; gap: 6px; width: auto; padding: 0 12px; border: 1px solid var(--desk-line); color: var(--desk-ink); font: 600 var(--type-control, 13px) var(--font); }
#page-chat #page-ai.is-embedded .gai-bar-new svg { width: 15px; height: 15px; }
#page-chat #page-ai.is-embedded .gai-bar-new span { display: inline; }
#page-chat #page-ai.is-embedded .gai-info-btn { display: grid; }
#page-chat #page-ai.is-embedded .gai-info-btn.is-on { color: var(--accent); background: var(--accent-soft); }
#page-chat #page-ai.is-embedded .gai-who { display: flex; align-items: baseline; gap: 8px; margin-bottom: 2px; }
#page-chat #page-ai.is-embedded .gai-who b { color: var(--desk-ink); font: 650 var(--type-control, 13px) var(--font); }
#page-chat #page-ai.is-embedded .gai-who time { color: var(--desk-muted); font-size: var(--type-caption, 11px); }
#page-chat #page-ai.is-embedded .gai-msg.is-user { display: grid; grid-template-columns: 28px minmax(0, 1fr); column-gap: var(--space-3); align-items: start; }
#page-chat #page-ai.is-embedded .gai-me-av {
  grid-row: 1 / span 3; display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%;
  background: color-mix(in srgb, var(--desk-ink) 10%, var(--desk-paper)); color: var(--desk-ink); font: 700 10.5px var(--font);
}
#page-chat #page-ai.is-embedded .gai-msg.is-user .gai-who { padding-top: 3px; }
#page-chat #page-ai.is-embedded .gai-msg.is-user .gai-bubble { max-width: none; padding: 0; border-radius: 0; background: none; }
#page-chat #page-ai.is-embedded .gai-msg.is-user .gai-msg-foot time { display: none; }
#page-chat #page-ai.is-embedded .gai-msg.is-ai .gai-msg-foot > time,
#page-chat #page-ai.is-embedded .gai-msg.is-ai .gai-msg-foot > time + i { display: none; }

/* Sol listede Gençler AI sohbetleri: yan menüdeki kişi satırları gibi girintili. */
.cp-subs { display: grid; gap: 1px; margin: 2px 0 6px 46px; padding-left: 8px; border-left: 1px solid var(--desk-line); }
.cp-sub { position: relative; display: flex; align-items: center; min-width: 0; border-radius: 8px; }
button.cp-sub, .cp-sub-main { all: unset; box-sizing: border-box; cursor: pointer; display: flex; align-items: center; gap: 6px; min-width: 0; width: 100%; padding: 6px 8px; border-radius: 8px; color: var(--desk-muted); font-size: var(--type-meta, 12px); }
.cp-sub-main { flex: 1; }
.cp-sub:hover, button.cp-sub:hover { background: var(--desk-soft); color: var(--desk-ink); }
.cp-sub.is-on, button.cp-sub.is-on { background: var(--desk-soft); color: var(--desk-ink); font-weight: 650; }
.cp-sub.is-on .cp-sub-name { font-weight: 650; }
.cp-sub-name { flex: 1; min-width: 0; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.cp-sub-time { flex: none; color: var(--desk-muted); font-size: var(--type-caption, 11px); font-weight: 450; }
.cp-sub-pin { display: inline-grid; flex: none; color: var(--desk-muted); }
.cp-sub-pin svg { width: 12px; height: 12px; }
.cp-sub-plus { width: 12px; flex: none; text-align: center; font-size: 15px; line-height: 1; }
.cp-sub-busy { flex: none; }
.cp-sub-more { all: unset; box-sizing: border-box; cursor: pointer; display: none; place-items: center; width: 24px; height: 24px; margin-right: 4px; border-radius: 6px; color: var(--desk-muted); }
.cp-sub-more svg { width: 15px; height: 15px; }
.cp-sub:hover .cp-sub-more, .cp-sub-more:focus-visible, .cp-sub-more[aria-expanded="true"] { display: grid; }
.cp-sub:hover .cp-sub-time { display: none; }
.cp-sub-more:hover { background: color-mix(in srgb, var(--desk-ink) 8%, transparent); color: var(--desk-ink); }
button.cp-sub.cp-sub-all { color: var(--accent); font-weight: 650; }
.cp-av.is-ai.is-l svg { width: 22px; height: 22px; }

/* ── Genel ── */
.ct-view { flex: 1; min-height: 0; display: flex; flex-direction: column; background: var(--bg); position: relative; }
.ct-head { height: 60px; flex: none; display: flex; align-items: center; gap: 12px; padding: 0 14px 0 18px; border-bottom: 1px solid var(--desk-line); background: var(--desk-paper); }
.ct-head-txt { min-width: 0; }
.ct-head-name { font-size: 16px; font-weight: 680; letter-spacing: -.015em; line-height: 1.2; }
.ct-head-meta { font-size: var(--type-meta, 12px); color: var(--desk-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ct-stack { display: inline-flex; }
.ct-stack .cp-av { margin-left: -5px; }
.ct-stack .cp-av:first-child { margin-left: 0; }
.ct-head-r { margin-left: auto; display: flex; align-items: center; gap: 6px; }

.ct-catch { flex: none; margin: 12px 22px 0; display: flex; align-items: center; gap: 10px; padding: 8px 8px 8px 14px; border: 1px solid var(--desk-line); border-radius: 12px; background: var(--desk-paper); font-size: var(--type-control, 13px); }
.ct-catch[hidden] { display: none; }
.ct-catch-txt { flex: 1; min-width: 0; }
.ct-catch-txt b { font-weight: 650; }
.ct-catch-txt .is-at { color: var(--accent); font-weight: 650; }
.ct-btn { all: unset; cursor: pointer; height: 28px; padding: 0 10px; border-radius: 8px; font-size: var(--type-meta, 12px); font-weight: 600; color: var(--desk-muted); }
.ct-btn:hover { background: var(--desk-soft); color: var(--desk-ink); }

.ct-scroll { flex: 1; min-height: 0; overflow: auto; padding: 8px 0 10px; scrollbar-width: thin; }
.ct-empty { margin: auto; max-width: 360px; padding: 40px 22px; text-align: center; font-size: var(--type-control, 13px); color: var(--desk-muted); }
.ct-older { all: unset; cursor: pointer; display: block; margin: 8px auto; padding: 4px 12px; border: 1px solid var(--desk-line); border-radius: 999px; font-size: var(--type-meta, 12px); font-weight: 600; color: var(--desk-muted); background: var(--desk-paper); }
.ct-older:hover { color: var(--desk-ink); }
.ct-day, .ct-new { display: flex; align-items: center; gap: 12px; margin: 14px 22px 6px; font-size: var(--type-caption, 11px); font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: var(--desk-muted); }
.ct-day::before, .ct-day::after { content: ""; flex: 1; height: 1px; background: var(--desk-line); }
.ct-new { color: var(--danger); margin: 8px 22px; }
.ct-new::before { content: ""; flex: 1; height: 1px; background: color-mix(in srgb, var(--danger) 45%, transparent); }

.ct-msg { position: relative; display: grid; grid-template-columns: 36px minmax(0, 1fr); gap: 12px; padding: 5px 22px; }
.ct-msg.is-cont { padding-top: 1px; }
.ct-msg:hover { background: color-mix(in srgb, var(--desk-paper) 70%, transparent); }
.ct-msg.is-at-me { background: color-mix(in srgb, var(--accent) 7%, transparent); box-shadow: inset 3px 0 0 var(--accent); }
.ct-msg.is-pending { opacity: .62; }
.ct-msg.is-flash { animation: ct-flash 1.6s ease; }
@keyframes ct-flash { 0%, 30% { background: color-mix(in srgb, var(--accent) 16%, transparent); } 100% { background: transparent; } }
.ct-gut { width: 36px; }
.ct-body { min-width: 0; }
.ct-who { display: flex; align-items: baseline; gap: 8px; font-size: var(--type-control, 13px); }
.ct-who b { font-weight: 650; }
.ct-office { font-size: var(--type-caption, 11px); font-weight: 650; }
.ct-office.is-bursa { color: var(--bursa); }
.ct-office.is-istanbul { color: var(--istanbul); }
.ct-tm { font-size: var(--type-caption, 11px); color: var(--desk-muted); }
.ct-tx { font-size: var(--type-body, 14px); line-height: 1.5; overflow-wrap: anywhere; }
.ct-quote { all: unset; cursor: pointer; display: block; margin: 2px 0 4px; padding: 1px 0 1px 10px; border-left: 2px solid var(--desk-line); font-size: var(--type-meta, 12px); color: var(--desk-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 100%; box-sizing: border-box; }
.ct-quote b { color: var(--desk-ink); font-weight: 600; }
.ct-at { color: var(--accent); font-weight: 600; background: var(--accent-soft); border-radius: 5px; padding: 0 3px; }
.ct-sending { font-size: var(--type-caption, 11px); color: var(--desk-muted); }
.ct-fail { font-size: var(--type-caption, 11px); color: var(--danger); }
.ct-fail button { all: unset; cursor: pointer; font-weight: 650; text-decoration: underline; }

.ct-ord { all: unset; cursor: pointer; display: inline-flex; align-items: center; gap: 5px; height: 20px; padding: 0 6px; vertical-align: 1px; border: 1px solid var(--desk-line); border-radius: 6px; background: var(--desk-paper); font-size: var(--type-control, 13px); line-height: 1; }
.ct-ord b { font-weight: 650; }
.ct-ord span { font-size: var(--type-caption, 11px); color: var(--desk-muted); }
.ct-ord:hover, .ct-ord:focus-visible { border-color: var(--accent); }
.ct-ord-dot { width: 6px; height: 6px; border-radius: 50%; background: var(--desk-muted); }
.ct-ord-dot.is-orme { background: var(--accent); }
.ct-ord-dot.is-boyahane { background: var(--warning); }
.ct-ord-dot.is-sevkiyat, .ct-ord-dot.is-tamamlandi { background: var(--success); }

.ct-acts { position: absolute; right: 22px; top: -12px; display: none; padding: 2px; border: 1px solid var(--desk-line); border-radius: 9px; background: var(--desk-paper); box-shadow: var(--v2-lift, 0 6px 18px rgba(15, 23, 42, .12)); }
.ct-msg:hover .ct-acts, .ct-msg:focus-within .ct-acts { display: flex; }
.ct-acts button { all: unset; cursor: pointer; display: inline-flex; align-items: center; gap: 5px; height: 26px; padding: 0 8px; border-radius: 7px; font-size: var(--type-meta, 12px); font-weight: 600; color: var(--desk-muted); }
.ct-acts button:hover { background: var(--desk-soft); color: var(--desk-ink); }
.ct-acts svg { width: 14px; height: 14px; stroke-width: 1.8; }
.ct-seen { display: flex; align-items: center; justify-content: flex-end; gap: 6px; min-height: 18px; padding: 2px 22px 0; font-size: var(--type-caption, 11px); color: var(--desk-muted); }
.ct-seen .cp-av { margin-left: -5px; }

.ct-foot { position: relative; flex: none; padding: 6px 22px 16px; }
.ct-comp { border: 1px solid var(--desk-line); background: var(--desk-paper); border-radius: 14px; padding: 6px 8px 6px 12px; }
.ct-comp:focus-within { border-color: color-mix(in srgb, var(--accent) 55%, var(--desk-line)); }
.ct-view .ct-comp textarea, .ct-view .ct-comp textarea:focus { box-shadow: none; border: 0; border-radius: 0; outline: 0; background: none; }
.ct-comp textarea { display: block; width: 100%; min-height: 24px; max-height: 140px; padding: 4px 2px; border: 0; outline: 0; resize: none; background: none; color: var(--desk-ink); font: inherit; font-size: var(--type-body, 14px); line-height: 1.5; }
.ct-tools { display: flex; align-items: center; gap: 2px; }
.ct-hint { display: inline-flex; align-items: center; gap: 5px; margin-left: 6px; font-size: var(--type-caption, 11px); color: var(--desk-muted); }
.ct-hint svg { width: 12px; height: 12px; stroke-width: 1.8; }
/* "/ komutlar" ipucu hapı (2026-11-05): gönder düğmesinin hemen solunda, sessiz. */
.ct-cmd-tip { all: unset; cursor: pointer; margin-left: auto; display: inline-flex; align-items: center; gap: 5px; padding: 3px 7px; border-radius: 7px; font-size: var(--type-caption, 11px); color: var(--desk-muted); white-space: nowrap; }
.ct-cmd-tip kbd { font: 600 10px/1 var(--font-mono, ui-monospace, monospace); min-width: 14px; padding: 2px 4px; border-radius: 4px; border: 1px solid var(--desk-line); text-align: center; color: var(--desk-ink); }
.ct-cmd-tip:hover { color: var(--desk-ink); background: var(--desk-soft); }
.ct-cmd-tip:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
.ct-cmd-tip + .ct-send { margin-left: 6px; }
.ct-mini .ct-cmd-tip { display: none; }
@media (max-width: 760px) { .ct-cmd-tip { display: none; } }
.ct-send { all: unset; cursor: pointer; margin-left: auto; width: 32px; height: 32px; border-radius: 9px; display: grid; place-items: center; background: var(--accent); color: var(--on-accent, #fff); }
.ct-send svg { width: 16px; height: 16px; stroke-width: 2; }
.ct-send:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
.ct-reply, .ct-ctx { display: flex; align-items: center; gap: 8px; margin-bottom: 6px; padding: 4px 4px 4px 10px; border-left: 2px solid var(--accent); font-size: var(--type-meta, 12px); color: var(--desk-muted); }
.ct-reply[hidden], .ct-ctx[hidden] { display: none; }
.ct-reply svg { width: 14px; height: 14px; stroke-width: 1.8; }
.ct-reply span { flex: 1; min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ct-reply b { color: var(--desk-ink); font-weight: 600; }
.ct-ctx { border-left: 0; padding-left: 2px; }
.ct-ctx button { all: unset; cursor: pointer; padding: 1px 9px; border: 1px dashed var(--desk-line); border-radius: 999px; font-weight: 600; color: var(--desk-ink); }
.ct-ctx button:hover { border-color: var(--accent); color: var(--accent); }
.ct-pop { position: absolute; left: 22px; bottom: calc(100% - 2px); z-index: 5; width: 300px; padding: 6px; border: 1px solid var(--desk-line); border-radius: 12px; background: var(--desk-paper); box-shadow: var(--v2-pop, 0 18px 44px rgba(15, 23, 42, .18)); }
.ct-pop[hidden] { display: none; }
.ct-pop-h { padding: 6px 8px 4px; font-size: var(--type-caption, 11px); font-weight: 700; letter-spacing: .05em; text-transform: uppercase; color: var(--desk-muted); }
.ct-pop button { all: unset; box-sizing: border-box; cursor: pointer; width: 100%; display: flex; align-items: center; gap: 10px; padding: 6px 8px; border-radius: 8px; font-size: var(--type-control, 13px); }
.ct-pop button small { margin-left: auto; font-size: var(--type-caption, 11px); color: var(--desk-muted); }
.ct-pop button:hover, .ct-pop button.is-key { background: var(--desk-soft); }

/* ── Sağ panel: Genel (ananlar/siparişler/medya) · kişi (kart/sabit/siparişler/medya) ── */
.cp-info { min-width: 0; overflow: auto; padding: 18px 16px; border-left: 1px solid var(--desk-line); background: var(--desk-paper); scrollbar-width: none; }
.cp-info::-webkit-scrollbar { display: none; }
.cp-info section { padding-bottom: 14px; margin-bottom: 14px; border-bottom: 1px solid var(--desk-line); }
.cp-info section:last-child { border: 0; }
.cp-info h3 { margin: 0 0 4px; font-size: var(--type-caption, 11px); font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--desk-muted); }
.cp-irow { display: flex; align-items: center; gap: 10px; padding: 6px 0; font-size: var(--type-control, 13px); }
.cp-irow.is-order { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 8px; }
.cp-irow.is-person { all: unset; box-sizing: border-box; cursor: pointer; width: 100%; display: flex; align-items: center; gap: 10px; padding: 6px 4px; border-radius: 8px; }
.cp-irow.is-person:hover { background: var(--desk-soft); }
.cp-irow-name { display: block; font-size: var(--type-control, 13px); }
.cp-irow-sub { display: block; font-size: var(--type-meta, 12px); color: var(--desk-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.cp-irow.is-msg { all: unset; box-sizing: border-box; cursor: pointer; width: 100%; display: grid; grid-template-columns: 20px minmax(0, 1fr); gap: 10px; align-items: start; padding: 7px 4px; border-radius: 8px; }
.cp-irow.is-msg:hover { background: var(--desk-soft); }
.cp-irow.is-msg:focus-visible { outline: 2px solid var(--accent); outline-offset: -2px; }
.cp-irow.is-msg .cp-av { margin-top: 1px; }
.cp-irow-txt { min-width: 0; display: grid; }
.cp-irow-txt .cp-irow-name { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.cp-irow-ico { width: 20px; height: 20px; display: grid; place-items: center; color: var(--desk-muted); }
.cp-irow-ico svg { width: 14px; height: 14px; stroke-width: 1.8; }
.cp-person { display: grid; justify-items: center; text-align: center; gap: 2px; padding-top: 6px; }
.cp-av.is-l { width: 64px; height: 64px; font-size: 20px; margin-bottom: 8px; }
.cp-av.is-l .cp-av-on { width: 14px; height: 14px; right: 1px; bottom: 1px; }
.cp-person-name { font-size: 15px; font-weight: 680; letter-spacing: -.01em; max-width: 100%; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.cp-person-sub { font-size: var(--type-meta, 12px); color: var(--desk-muted); }
.cp-person-sub .is-online { color: var(--success); }
.cp-media { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 4px; margin-top: 6px; }
.cp-media-cell { all: unset; box-sizing: border-box; cursor: pointer; position: relative; aspect-ratio: 1; border-radius: 8px; overflow: hidden; background: var(--desk-soft); }
.cp-media-cell img { width: 100%; height: 100%; object-fit: cover; display: block; }
.cp-media-cell span { position: absolute; left: 4px; bottom: 4px; padding: 0 4px; border-radius: 4px; background: rgba(0, 0, 0, .55); color: var(--on-accent); font-size: 9px; font-weight: 800; letter-spacing: .05em; }
.cp-media-cell:hover, .cp-media-cell:focus-visible { outline: 2px solid var(--accent); outline-offset: -2px; }

/* ── GIF: tık durdurur/oynatır; durunca ortada oynat simgesi ── */
.ct-gif-play { position: relative; cursor: pointer; }
.ct-gif-play video.ct-gif-video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; pointer-events: none; }
.ct-gif-play::after { content: ""; position: absolute; left: 50%; top: 50%; width: 44px; height: 44px; margin: -22px 0 0 -22px; border-radius: 50%; background: rgba(0, 0, 0, .55) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='white'%3E%3Cpath d='M8 5.5v13l11-6.5-11-6.5Z'/%3E%3C/svg%3E") center / 20px no-repeat; opacity: 0; transition: opacity .12s ease; pointer-events: none; }
.ct-gif-play.is-paused::after { opacity: 1; }
.ct-att-img.is-gif { cursor: pointer; }

/* ── Kişi sohbetinde GIF ── */
#msgPanel .msg-convo-input { position: relative; }
#msgPanel .msg-gif-btn { all: unset; box-sizing: border-box; cursor: pointer; flex: 0 0 auto; height: 36px; padding: 0 8px; border-radius: 9px; display: grid; place-items: center; font-size: 11px; font-weight: 800; letter-spacing: .04em; color: var(--muted, var(--desk-muted)); align-self: flex-end; }
#msgPanel .msg-gif-btn:hover, #msgPanel .msg-gif-btn.is-on { background: var(--accent-soft); color: var(--accent); }
#msgPanel .msg-gif-btn:focus-visible { outline: 2px solid var(--accent); outline-offset: 1px; }
#msgPanel .msg-gif-pop { left: 0; right: auto; width: min(460px, 100%); max-width: none; bottom: calc(100% + 6px); z-index: 30; box-sizing: border-box; }
#page-chat #msgPanel .msg-gif-pop { left: 0; right: auto; }
#msgPanel .msg-bubble.is-gif:is(.in, .out) { background: none; border: 0; box-shadow: none; padding: 0; display: flex; align-items: flex-end; gap: 6px; max-width: min(340px, 80%); }
#msgPanel .msg-bubble.is-gif.out { flex-direction: row-reverse; }
#msgPanel .msg-gif { all: unset; position: relative; cursor: pointer; display: block; border-radius: 12px; overflow: hidden; border: 1px solid var(--desk-line, var(--border)); background: var(--desk-soft, var(--bg)); max-width: 100%; }
#msgPanel .msg-gif img { display: block; width: auto; height: auto; max-width: 100%; max-height: 220px; }
#msgPanel .msg-gif:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
#msgPanel .msg-giphy { font-size: 9px; font-weight: 700; letter-spacing: .08em; color: var(--desk-muted, var(--muted)); }
#msgPanel .msg-bubble.is-flash { animation: ct-flash-ring 1.6s ease; }
@keyframes ct-flash-ring { 0%, 35% { box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent) 55%, transparent); } 100% { box-shadow: 0 0 0 0 transparent; } }

/* ── Sesli oda (sayfa içi, 2026-11-04) ── */
.cp-voice-row { display: flex; align-items: center; gap: 2px; border-radius: 10px; }
.cp-voice-row .cp-voice-btn { flex: 1; min-width: 0; }
.cp-voice-row.is-on .cp-voice-btn { background: var(--accent-soft); }
.cp-voice-txt { min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.cp-voice-row.is-call .cp-voice-btn b { color: var(--success); }
.cp-voice-row .cp-ibtn.is-off { color: var(--danger); }
.cp-voice-row .cp-ibtn.is-leave:hover { color: var(--danger); background: color-mix(in srgb, var(--danger) 12%, transparent); }
.cv-dot { width: 9px; height: 9px; margin: 0 3px 0 4px; border-radius: 50%; background: var(--success); flex: none; box-shadow: 0 0 0 0 color-mix(in srgb, var(--success) 55%, transparent); animation: cv-pulse 1.8s ease-out infinite; }
@keyframes cv-pulse { 0% { box-shadow: 0 0 0 0 color-mix(in srgb, var(--success) 55%, transparent); } 100% { box-shadow: 0 0 0 8px transparent; } }
.cv-view { flex: 1; min-height: 0; display: flex; flex-direction: column; background: var(--bg); }
.cv-body { flex: 1; min-height: 0; overflow: auto; padding: 22px var(--cp-pad, 22px); scrollbar-width: none; }
.cv-body::-webkit-scrollbar { display: none; }
.cv-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 14px; }
.cv-ch { display: flex; flex-direction: column; gap: 14px; min-height: 168px; padding: 14px; border: 1px solid var(--desk-line); border-radius: 14px; background: var(--desk-paper); }
.cv-ch.is-on { border-color: color-mix(in srgb, var(--success) 55%, var(--desk-line)); box-shadow: 0 0 0 1px color-mix(in srgb, var(--success) 25%, transparent); }
.cv-ch-top { display: flex; align-items: center; gap: 10px; }
.cv-ch-ico { width: 34px; height: 34px; border-radius: 10px; display: grid; place-items: center; background: var(--desk-soft); color: var(--desk-muted); flex: none; }
.cv-ch-ico svg { width: 17px; height: 17px; stroke-width: 1.8; }
.cv-ch.is-live .cv-ch-ico, .cv-ch.is-on .cv-ch-ico { color: var(--success); background: color-mix(in srgb, var(--success) 12%, transparent); }
.cv-ch-txt { flex: 1; min-width: 0; display: grid; }
.cv-ch-name { font-size: var(--type-body, 14px); font-weight: 660; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.cv-ch-sub { font-size: var(--type-meta, 12px); color: var(--desk-muted); }
.cv-ch.is-on .cv-ch-sub, .cv-ch.is-live .cv-ch-sub { color: var(--success); }
.cv-join { all: unset; box-sizing: border-box; cursor: pointer; height: 30px; padding: 0 14px; border-radius: 9px; background: var(--accent); color: var(--on-accent, #fff); font-size: var(--type-meta, 12px); font-weight: 650; flex: none; }
.cv-join:hover { filter: brightness(1.06); }
.cv-join:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
.cv-mems { flex: 1; display: flex; flex-wrap: wrap; gap: 12px 10px; align-content: flex-start; }
.cv-mem { width: 60px; display: grid; justify-items: center; gap: 5px; }
#page-chat .cv-av { position: relative; width: 46px; height: 46px; border-radius: 50%; display: grid; place-items: center; color: var(--on-accent); font-size: 14px; font-weight: 700; transition: box-shadow .15s ease; }
#page-chat .cv-av.speaking { box-shadow: 0 0 0 3px var(--desk-paper), 0 0 0 5px var(--success); }
.cv-mute { position: absolute; right: -3px; bottom: -3px; width: 19px; height: 19px; border-radius: 50%; display: grid; place-items: center; background: var(--danger); color: var(--on-accent); box-shadow: 0 0 0 2px var(--desk-paper); }
.cv-mute svg { width: 11px; height: 11px; stroke-width: 2.2; }
.cv-mem-name { max-width: 60px; font-size: var(--type-caption, 11px); color: var(--desk-ink); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.cv-empty { flex: 1; min-height: 70px; display: grid; place-items: center; border: 1px dashed var(--desk-line); border-radius: 10px; font-size: var(--type-meta, 12px); color: var(--desk-muted); }
.cv-bar { flex: none; display: flex; align-items: center; gap: 8px; margin: 0 var(--cp-pad, 22px) 16px; padding: 10px 10px 10px 14px; border: 1px solid var(--desk-line); border-radius: 14px; background: var(--desk-paper); box-shadow: var(--v2-lift, 0 6px 18px rgba(15, 23, 42, .12)); }
.cv-bar-txt { flex: 1; min-width: 0; display: grid; font-size: var(--type-meta, 12px); color: var(--desk-muted); }
.cv-bar-txt b { color: var(--desk-ink); font-size: var(--type-control, 13px); font-weight: 650; }
.cv-ctl { all: unset; box-sizing: border-box; cursor: pointer; height: 36px; padding: 0 12px; border-radius: 10px; display: inline-flex; align-items: center; gap: 7px; background: var(--desk-soft); color: var(--desk-ink); font-size: var(--type-meta, 12px); font-weight: 600; }
.cv-ctl svg { width: 16px; height: 16px; stroke-width: 1.8; }
.cv-ctl:hover { filter: brightness(1.08); }
.cv-ctl:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
.cv-ctl.is-off { color: var(--danger); background: color-mix(in srgb, var(--danger) 12%, transparent); }
.cv-ctl.is-leave { background: var(--danger); color: var(--on-accent); }
@media (prefers-reduced-motion: reduce) { .cv-dot { animation: none; } }

/* ── Köşe penceresi (Genel) ── */
.ct-mini {
  position: fixed; z-index: 380; bottom: 12px; left: calc(var(--shell-w, 0px) + 12px);
  width: 380px; height: min(540px, calc(100dvh - var(--shell-top, 56px) - 24px));
  display: flex; flex-direction: column; overflow: hidden;
  border: 1px solid var(--desk-line); border-radius: 14px; background: var(--desk-paper); color: var(--desk-ink);
  box-shadow: 0 18px 40px rgba(0, 0, 0, .16), 0 2px 8px rgba(0, 0, 0, .08);
}
.ct-mini[hidden] { display: none; }
.ct-mini.is-min { height: 54px; width: 320px; }
.ct-mini-head { flex: none; height: 54px; display: flex; align-items: center; gap: 10px; padding: 0 6px 0 12px; border-bottom: 1px solid var(--desk-line); cursor: pointer; }
.ct-mini.is-min .ct-mini-head { border-bottom: 0; }
.ct-mini-head .ct-head-txt { flex: 1; }
.ct-mini-head .ct-head-name { font-size: var(--type-control, 13px); }
.ct-mini-body { flex: 1; min-height: 0; display: flex; }
.ct-mini.is-min .ct-mini-body { display: none; }
.ct-mini .ct-head { display: none; }
.ct-mini .ct-catch { margin: 8px 10px 0; flex-wrap: wrap; gap: 2px 6px; font-size: var(--type-meta, 12px); }
.ct-mini .ct-catch-txt { flex-basis: 100%; }
.ct-mini .ct-catch .ct-btn { height: 24px; padding: 0 6px; }
.ct-mini .ct-catch .cp-ibtn { margin-left: auto; width: 24px; height: 24px; }
.ct-mini .ct-msg { padding: 4px 12px; grid-template-columns: 28px minmax(0, 1fr); gap: 8px; }
.ct-mini .ct-msg > .cp-av { width: 28px; height: 28px; font-size: 11px; }
.ct-mini .ct-gut { width: 28px; }
.ct-mini .ct-tx { font-size: var(--type-control, 13px); }
.ct-mini .ct-acts { right: 10px; }
.ct-mini .ct-day, .ct-mini .ct-new { margin-left: 12px; margin-right: 12px; }
.ct-mini .ct-seen { padding: 2px 12px 0; }
.ct-mini .ct-foot { padding: 6px 10px 10px; }
.ct-mini .ct-hint:not(.has-at) { display: none; }
.ct-mini .ct-pop { left: 10px; width: calc(100% - 20px); }

/* ── Genel v2 (2026-11-04): ek, düzelt/geri çek, arama, menü, özet, yazıyor ── */
.ct-link { color: var(--accent); text-decoration: underline; text-underline-offset: 2px; overflow-wrap: anywhere; }
.ct-date { vertical-align: 1px; }
.ct-tx.is-retracted { font-style: italic; color: var(--desk-muted); }
.ct-msg.is-retracted .cp-av { opacity: .55; }
.ct-quote.is-missing { cursor: default; font-style: italic; }
.ct-edited { all: unset; cursor: pointer; font-size: var(--type-caption, 11px); color: var(--desk-muted); }
.ct-edited:hover, .ct-edited:focus-visible { color: var(--desk-ink); text-decoration: underline; }
.ct-who.is-cont { margin-top: 1px; }
.ct-edits { margin: 4px 0 2px; padding-left: 10px; border-left: 2px solid var(--desk-line); display: grid; gap: 2px; font-size: var(--type-meta, 12px); color: var(--desk-muted); }
.ct-edits .ct-tm { margin-right: 4px; }

.ct-atts { display: flex; flex-wrap: wrap; gap: 6px; margin: 4px 0 2px; align-items: flex-end; }
.ct-att-img { all: unset; cursor: zoom-in; display: block; border-radius: 10px; overflow: hidden; border: 1px solid var(--desk-line); background: var(--desk-soft); max-width: min(320px, 100%); }
.ct-att-img img { display: block; width: auto; height: auto; max-width: 100%; max-height: 260px; object-fit: cover; }
.ct-atts.is-multi .ct-att-img img { width: 140px; height: 140px; max-height: none; }
.ct-att-img.is-gif img { max-height: 200px; }
.ct-att-img:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
.ct-giphy { font-size: 9px; font-weight: 700; letter-spacing: .08em; color: var(--desk-muted); }
.ct-mini .ct-att-img { max-width: 220px; }
.ct-mini .ct-atts.is-multi .ct-att-img img { width: 96px; height: 96px; }

.ct-acts .ct-more { width: 26px; padding: 0; justify-content: center; }
.ct-menu { position: absolute; left: 0; top: 0; z-index: 8; min-width: 210px; padding: 5px; border: 1px solid var(--desk-line); border-radius: 12px; background: var(--desk-paper); box-shadow: var(--v2-pop, 0 18px 44px rgba(15, 23, 42, .18)); }
.ct-menu[hidden] { display: none; }
.ct-menu button { all: unset; box-sizing: border-box; cursor: pointer; display: block; width: 100%; padding: 7px 10px; border-radius: 8px; font-size: var(--type-control, 13px); color: var(--desk-ink); }
.ct-menu button:hover, .ct-menu button:focus-visible { background: var(--desk-soft); }
.ct-menu button.is-danger { color: var(--danger); }
.ct-menu-h { padding: 8px 10px 2px; font-size: var(--type-caption, 11px); font-weight: 700; letter-spacing: .05em; color: var(--desk-muted); }
.ct-menu-sep { height: 1px; margin: 4px 6px; background: var(--desk-line); }

.ct-jump { all: unset; box-sizing: border-box; cursor: pointer; position: absolute; left: 50%; bottom: 96px; z-index: 6; transform: translateX(-50%); display: inline-flex; align-items: center; gap: 6px; height: 30px; padding: 0 12px; border: 1px solid var(--desk-line); border-radius: 999px; background: var(--desk-paper); box-shadow: var(--v2-lift, 0 6px 18px rgba(15, 23, 42, .12)); font-size: var(--type-meta, 12px); font-weight: 650; color: var(--desk-ink); }
.ct-jump[hidden] { display: none; }
.ct-jump svg { width: 14px; height: 14px; stroke-width: 2; }
.ct-jump.is-at { color: var(--accent); border-color: color-mix(in srgb, var(--accent) 45%, var(--desk-line)); }

.ct-find { position: relative; z-index: 7; flex: none; display: flex; align-items: center; gap: 6px; padding: 8px 14px 8px 18px; border-bottom: 1px solid var(--desk-line); background: var(--desk-paper); }
.ct-find[hidden] { display: none; }
.ct-find .cp-search { flex: 1; margin: 0; }
.ct-find .cp-search input[type="text"], .ct-find .cp-search input[type="text"]:focus { box-shadow: none; border: 0; border-radius: 0; outline: 0; background: none; padding: 0; height: auto; }
.ct-find-res { position: absolute; left: 18px; right: 14px; top: calc(100% + 2px); max-height: 360px; overflow: auto; border: 1px solid var(--desk-line); border-radius: 12px; background: var(--desk-paper); box-shadow: var(--v2-pop, 0 18px 44px rgba(15, 23, 42, .18)); }
.ct-find-res:empty { display: none; }
.ct-find-h, .ct-find-empty { padding: 8px 12px; font-size: var(--type-caption, 11px); font-weight: 700; letter-spacing: .05em; color: var(--desk-muted); }
.ct-find-empty { font-weight: 500; letter-spacing: 0; font-size: var(--type-meta, 12px); }
.ct-find-res button { all: unset; box-sizing: border-box; cursor: pointer; width: 100%; display: flex; align-items: flex-start; gap: 10px; padding: 8px 12px; border-top: 1px solid var(--desk-line); }
.ct-find-res button:hover, .ct-find-res button:focus-visible { background: var(--desk-soft); }
.ct-find-txt { min-width: 0; font-size: var(--type-meta, 12px); color: var(--desk-muted); }
.ct-find-txt b { color: var(--desk-ink); font-weight: 650; }
.ct-find-txt > span { display: block; color: var(--desk-ink); font-size: var(--type-control, 13px); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ct-find-txt mark { background: var(--accent-soft); color: inherit; border-radius: 3px; }

.ct-btn { display: inline-flex; align-items: center; gap: 5px; }
.ct-btn svg { width: 13px; height: 13px; stroke-width: 1.8; }
.ct-btn.is-primary { background: var(--accent); color: var(--on-accent, #fff); }
.ct-btn.is-primary:hover { background: var(--accent); color: var(--on-accent, #fff); filter: brightness(1.05); }
.ct-sum { flex: none; margin: 8px 22px 0; padding: 10px 12px 12px 14px; border: 1px solid var(--desk-line); border-left: 3px solid var(--accent); border-radius: 12px; background: var(--desk-paper); }
.ct-sum[hidden] { display: none; }
.ct-sum-h { display: flex; align-items: center; gap: 6px; font-size: var(--type-meta, 12px); color: var(--desk-muted); }
.ct-sum-h svg { width: 14px; height: 14px; stroke-width: 1.8; color: var(--accent); }
.ct-sum-h b { color: var(--desk-ink); font-weight: 650; }
.ct-sum-h .cp-ibtn { margin-left: auto; width: 24px; height: 24px; }
.ct-sum-body { margin-top: 4px; font-size: var(--type-control, 13px); line-height: 1.5; max-height: 200px; overflow: auto; }
.ct-sum-body.is-busy, .ct-sum-body.is-err { color: var(--desk-muted); }
.ct-sum-body.is-err { color: var(--danger); }
.ct-mini .ct-sum { margin: 8px 10px 0; }

.ct-typing { position: absolute; left: 24px; top: -14px; height: 16px; font-size: var(--type-caption, 11px); color: var(--desk-muted); pointer-events: none; }
.ct-typing:empty { display: none; }
.ct-mini .ct-typing { left: 12px; }

.ct-hint.has-at { color: var(--accent); font-weight: 600; }
.ct-hint.is-warn { color: var(--warning); }
.ct-gif-btn { width: auto; padding: 0 7px; font-size: 11px; font-weight: 800; letter-spacing: .04em; }
.ct-att-tools { display: inline-flex; gap: 2px; }
.ct-att-tools[hidden] { display: none; }
.ct-comp.is-busy { opacity: .7; pointer-events: none; }
.ct-comp.is-editing { border-color: color-mix(in srgb, var(--warning) 55%, var(--desk-line)); }
.ct-reply.is-edit { border-left-color: var(--warning); }
.ct-reply.is-edit[hidden] { display: none; }
.ct-view.is-drop .ct-comp { border-style: dashed; border-color: var(--accent); background: var(--accent-soft); }

.ct-tray { display: flex; flex-wrap: wrap; gap: 6px; padding: 4px 0 6px; }
.ct-tray[hidden] { display: none; }
.ct-tray-item { position: relative; width: 64px; height: 64px; border-radius: 9px; overflow: hidden; border: 1px solid var(--desk-line); background: var(--desk-soft); }
.ct-tray-item img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ct-tray-item.is-up img { opacity: .5; }
.ct-tray-item.is-err { border-color: var(--danger); }
.ct-tray-spin { position: absolute; inset: 0; margin: auto; width: 18px; height: 18px; border-radius: 50%; border: 2px solid var(--desk-line); border-top-color: var(--accent); animation: ct-spin .8s linear infinite; }
.ct-tray-err { position: absolute; left: 0; right: 0; bottom: 0; padding: 2px; font-size: 9px; font-style: normal; text-align: center; color: var(--on-accent); background: var(--danger); }
.ct-tray-x { all: unset; cursor: pointer; position: absolute; top: 3px; right: 3px; width: 18px; height: 18px; border-radius: 50%; display: grid; place-items: center; background: rgba(0, 0, 0, .55); color: var(--on-accent); }
.ct-tray-x svg { width: 11px; height: 11px; stroke-width: 2.2; }
@keyframes ct-spin { to { transform: rotate(360deg); } }

.ct-gif, .ct-gal { position: absolute; left: 22px; right: 22px; bottom: calc(100% - 2px); z-index: 5; max-width: 460px; padding: 8px; border: 1px solid var(--desk-line); border-radius: 12px; background: var(--desk-paper); box-shadow: var(--v2-pop, 0 18px 44px rgba(15, 23, 42, .18)); }
.ct-gif[hidden], .ct-gal[hidden] { display: none; }
.ct-gif-head, .ct-gal-head { display: flex; align-items: center; gap: 6px; margin-bottom: 8px; font-size: var(--type-meta, 12px); color: var(--desk-muted); }
.ct-gal-head span { flex: 1; }
.ct-gif-head .cp-search { flex: 1; margin: 0; }
.ct-gif .cp-search input[type="text"], .ct-gif .cp-search input[type="text"]:focus { box-shadow: none; border: 0; border-radius: 0; outline: 0; background: none; padding: 0; height: auto; }
.ct-gif-grid, .ct-gal-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; max-height: 300px; overflow: auto; }
.ct-gif-grid > button, .ct-gal-grid > button { all: unset; box-sizing: border-box; cursor: pointer; aspect-ratio: 1; border-radius: 8px; overflow: hidden; background: var(--desk-soft); }
.ct-gif-grid img, .ct-gal-grid > button img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ct-gif-grid > button:hover, .ct-gal-grid > button:hover, .ct-gif-grid > button:focus-visible, .ct-gal-grid > button:focus-visible { outline: 2px solid var(--accent); outline-offset: -2px; }
.ct-gal-empty { grid-column: 1 / -1; padding: 16px 4px; font-size: var(--type-meta, 12px); color: var(--desk-muted); text-align: center; }
.ct-gif-foot { margin-top: 6px; font-size: 10px; font-weight: 700; letter-spacing: .06em; color: var(--desk-muted); text-align: right; }
.ct-mini .ct-gif, .ct-mini .ct-gal { left: 10px; right: 10px; }

/* GIF seçici: Favoriler · Son kullanılanlar · Trend + köşe yıldızı */
.ct-gif-tabs { display: flex; gap: 4px; margin: -2px 0 8px; }
.ct-gif-tabs button { all: unset; cursor: pointer; height: 26px; padding: 0 10px; border-radius: 999px; font-size: var(--type-meta, 12px); font-weight: 600; color: var(--desk-muted); }
.ct-gif-tabs button:hover { background: var(--desk-soft); color: var(--desk-ink); }
.ct-gif-tabs button.is-on { background: var(--accent-soft); color: var(--accent); }
.ct-gif-tabs button:focus-visible { outline: 2px solid var(--accent); outline-offset: 1px; }
.ct-gif-cell { position: relative; display: block; aspect-ratio: 1; border-radius: 8px; overflow: hidden; background: var(--desk-soft); }
.ct-gif-grid .ct-gif-pick { all: unset; box-sizing: border-box; cursor: pointer; display: block; width: 100%; height: 100%; }
.ct-gif-grid .ct-gif-pick:focus-visible { outline: 2px solid var(--accent); outline-offset: -2px; }
.ct-fav-star, .emj-star { all: unset; box-sizing: border-box; cursor: pointer; position: absolute; display: grid; place-items: center; border-radius: 50%; opacity: 0; transition: opacity .12s ease, transform .12s ease; }
.ct-fav-star { top: 4px; right: 4px; width: 24px; height: 24px; background: rgba(0, 0, 0, .5); color: var(--on-accent); }
.ct-fav-star svg, .emj-star svg { width: 14px; height: 14px; fill: none; stroke: currentColor; stroke-width: 1.8; }
.ct-gif-cell:hover .ct-fav-star, .ct-fav-star:focus-visible, .ct-gif-cell.is-fav .ct-fav-star { opacity: 1; }
.ct-gif-cell.is-fav .ct-fav-star { color: var(--warning); }
.ct-gif-cell.is-broken img { visibility: hidden; }
.ct-gif-cell.is-fav .ct-fav-star svg, .emj-cell.is-fav .emj-star svg { fill: currentColor; }
.ct-fav-star:hover { transform: scale(1.1); }

/* Yalnız emojiden oluşan mesaj büyük (1–3 emoji) */
.ct-tx.is-emoji { font-size: 34px; line-height: 1.2; }
.ct-mini .ct-tx.is-emoji { font-size: 28px; }
#msgPanel .msg-bubble.is-emoji { background: none; box-shadow: none; border: 0; padding: 2px 4px; font-size: 34px; line-height: 1.2; }

/* ── Ortak emoji seçici (emoji-picker.js): gövdeye takılı tek yüzen kutu ── */
.emj-pop { position: fixed; left: 0; top: 0; z-index: 2600; width: 336px; max-width: calc(100vw - 16px); display: flex; flex-direction: column; border: 1px solid var(--desk-line, var(--border)); border-radius: 14px; background: var(--desk-paper, var(--surface-solid, var(--surface))); color: var(--desk-ink, var(--text)); box-shadow: var(--v2-pop, 0 18px 44px rgba(15, 23, 42, .18)); }
.emj-pop[hidden] { display: none; }
.emj-head { padding: 8px 8px 4px; }
.emj-search { display: flex; align-items: center; gap: 8px; height: 32px; padding: 0 10px; border-radius: 9px; background: var(--desk-soft, var(--bg)); color: var(--desk-muted, var(--text-muted)); }
.emj-search:focus-within { box-shadow: 0 0 0 2px color-mix(in srgb, var(--accent) 45%, transparent); }
.emj-search svg { width: 14px; height: 14px; fill: none; stroke: currentColor; stroke-width: 1.8; flex: none; }
.emj-pop .emj-search input, .emj-pop .emj-search input:focus { flex: 1; min-width: 0; height: auto; padding: 0; border: 0; border-radius: 0; outline: 0; box-shadow: none; background: none; color: inherit; font: inherit; font-size: var(--type-control, 13px); }
.emj-tabs { display: grid; grid-template-columns: repeat(8, minmax(0, 1fr)); gap: 2px; padding: 2px 8px 6px; border-bottom: 1px solid var(--desk-line, var(--border)); }
.emj-tabs button { all: unset; box-sizing: border-box; cursor: pointer; height: 30px; border-radius: 8px; display: grid; place-items: center; font-size: 17px; line-height: 1; filter: grayscale(.6); opacity: .75; color: var(--desk-muted, var(--text-muted)); }
.emj-tabs button svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.8; }
.emj-tabs button:hover { background: var(--desk-soft, var(--bg)); opacity: 1; filter: none; }
.emj-tabs button.is-on { background: var(--accent-soft); color: var(--accent); opacity: 1; filter: none; box-shadow: inset 0 -2px 0 var(--accent); }
.emj-tabs button.is-on.is-svg svg { fill: color-mix(in srgb, var(--accent) 25%, transparent); }
.emj-tabs button:focus-visible { outline: 2px solid var(--accent); outline-offset: -2px; }
.emj-title { padding: 8px 12px 2px; font-size: var(--type-caption, 11px); font-weight: 700; letter-spacing: .05em; text-transform: uppercase; color: var(--desk-muted, var(--text-muted)); }
.emj-grid { display: grid; grid-template-columns: repeat(8, 36px); justify-content: space-between; gap: 2px; height: var(--emj-grid-h, 236px); overflow-y: auto; align-content: start; padding: 4px 10px 10px; scrollbar-width: thin; }
.emj-cell { position: relative; width: 36px; height: 36px; }
.emj-e { all: unset; box-sizing: border-box; cursor: pointer; width: 36px; height: 36px; border-radius: 9px; display: grid; place-items: center; font-size: 22px; line-height: 1; }
.emj-e:hover, .emj-cell.is-key .emj-e { background: var(--desk-soft, var(--bg)); }
.emj-cell.is-key .emj-e { box-shadow: inset 0 0 0 2px color-mix(in srgb, var(--accent) 55%, transparent); }
.emj-e:focus-visible { outline: 2px solid var(--accent); outline-offset: -2px; }
.emj-star { top: -3px; right: -3px; width: 17px; height: 17px; background: var(--desk-paper, var(--surface)); color: var(--desk-muted, var(--text-muted)); box-shadow: 0 1px 3px rgba(0, 0, 0, .18); }
.emj-star svg { width: 11px; height: 11px; }
.emj-cell:hover .emj-star, .emj-cell.is-key .emj-star { opacity: 1; }
.emj-cell.is-fav .emj-star { opacity: 1; color: var(--warning); box-shadow: none; background: transparent; }
.emj-cell.is-fav:hover .emj-star { background: var(--desk-paper, var(--surface)); box-shadow: 0 1px 3px rgba(0, 0, 0, .18); }
.emj-star:hover { transform: scale(1.15); color: var(--warning); }
.emj-empty { grid-column: 1 / -1; padding: 24px 6px; font-size: var(--type-meta, 12px); color: var(--desk-muted, var(--text-muted)); text-align: center; line-height: 1.5; }
@media (max-width: 420px) {
  .emj-pop { width: calc(100vw - 16px); }
  .emj-grid { grid-template-columns: repeat(auto-fill, 36px); }
  .emj-tabs { grid-template-columns: repeat(8, minmax(0, 1fr)); }
}
@media (prefers-reduced-motion: reduce) { .ct-fav-star, .emj-star { transition: none; } }

/* Sipariş detayı başlığı: "Genel'de N" bağı */
.ct-ord-ref:empty { display: none; }
.ct-ord-ref-btn { all: unset; cursor: pointer; display: inline-flex; align-items: center; gap: 5px; height: 24px; padding: 0 9px; border: 1px solid var(--desk-line, var(--border)); border-radius: 999px; font-size: var(--type-meta, 12px); font-weight: 600; color: var(--desk-muted, var(--text-muted)); }
.ct-ord-ref-btn svg { width: 13px; height: 13px; stroke-width: 1.8; }
.ct-ord-ref-btn:hover, .ct-ord-ref-btn:focus-visible { color: var(--accent); border-color: var(--accent); }

/* Sohbet sayfasında sağ alttaki "Hızlı not" hapı yazma kutusunun üstüne biner. */
body.is-chat-page #floatingQuickNoteBtn.floating-quick-note { display: none; }

/* ── Dar ekran ── */
@media (max-width: 1180px) {
  #page-chat .cp-app, #page-chat .cp-app.no-info { grid-template-columns: 260px minmax(0, 1fr); }
  #page-chat .cp-info { display: none; }
  .ct-head-r .ct-info-btn { display: none; }
  #msgPanel.is-in-page .msg-convo-head > .msg-icon-btn.msg-info-btn { display: none; }
}
@media (max-width: 760px) {
  #page-chat .cp-app, #page-chat .cp-app.no-info { grid-template-columns: minmax(0, 1fr); height: calc(100dvh - var(--shell-top, 56px) - 96px); border-radius: 12px; }
  #page-chat .cp-app.is-conv-open .cp-list { display: none; }
  #page-chat .cp-app:not(.is-conv-open) .cp-main { display: none; }
  #page-chat .cp-back { display: grid; }
  .ct-stack { display: none; }
  .ct-hint:not(.has-at) { display: none; }
  .ct-gif, .ct-gal { left: 12px; right: 12px; }
  #page-chat .cp-main { --cp-pad: 14px; }
  .cv-ctl span { display: none; }
  .ct-find-res { left: 12px; right: 12px; }
  .ct-msg { padding-left: 14px; padding-right: 14px; }
  .ct-foot { padding: 6px 12px 12px; }
  .ct-mini { left: 8px; right: 8px; width: auto; }
  .ct-mini.is-min { width: auto; }
}
@media (prefers-reduced-motion: reduce) { .ct-msg.is-flash, .ct-tray-spin { animation: none; } }

/* ── Fotoğraflardan sohbete gönder (2026-11-04) ── */
.cs-back { position: fixed; inset: 0; z-index: 2400; display: grid; place-items: center; padding: 16px; background: rgba(8, 12, 20, .45); }
.cs-back[hidden] { display: none; }
.cs-dlg { width: min(420px, 100%); max-height: min(640px, calc(100dvh - 32px)); display: flex; flex-direction: column; border: 1px solid var(--desk-line); border-radius: 16px; background: var(--desk-paper); color: var(--desk-ink); box-shadow: var(--v2-pop, 0 18px 44px rgba(15, 23, 42, .18)); overflow: hidden; }
.cs-dlg.is-busy .cs-rows, .cs-dlg.is-busy .cs-search { opacity: .55; pointer-events: none; }
.cs-head { display: flex; align-items: center; gap: 8px; padding: 14px 10px 8px 18px; }
.cs-head h2 { margin: 0; font-size: 16px; font-weight: 680; letter-spacing: -.015em; }
.cs-head span { flex: 1; font-size: var(--type-meta, 12px); color: var(--desk-muted); }
.cs-strip { display: flex; gap: 6px; padding: 0 18px 10px; overflow: hidden; }
.cs-strip img { width: 44px; height: 44px; border-radius: 8px; object-fit: cover; background: var(--desk-soft); flex: none; }
.cs-strip span { width: 44px; height: 44px; border-radius: 8px; display: grid; place-items: center; background: var(--desk-soft); font-size: var(--type-meta, 12px); font-weight: 650; color: var(--desk-muted); flex: none; }
.cs-search { margin: 0 12px 6px; }
.cs-back .cs-search input[type="text"], .cs-back .cs-search input[type="text"]:focus { box-shadow: none; border: 0; border-radius: 0; outline: 0; background: none; padding: 0; height: auto; }
.cs-rows { flex: 1; min-height: 120px; overflow: auto; padding: 2px 8px 8px; scrollbar-width: none; }
.cs-rows::-webkit-scrollbar { display: none; }
.cs-foot { display: flex; align-items: center; gap: 8px; padding: 10px 12px 12px; border-top: 1px solid var(--desk-line); }
.cs-back .cs-foot input[type="text"] { flex: 1; min-width: 0; height: 36px; padding: 0 12px; border: 1px solid var(--desk-line); border-radius: 10px; background: var(--desk-soft); color: var(--desk-ink); font: inherit; font-size: var(--type-control, 13px); box-shadow: none; }
.cs-back .cs-foot input[type="text"]:focus { outline: 0; border-color: color-mix(in srgb, var(--accent) 55%, var(--desk-line)); }
.cs-send { width: 36px; height: 36px; margin-left: 0; }
.cs-send:disabled { opacity: .4; cursor: default; }
.cs-send.is-busy { animation: ct-spin-soft 1s linear infinite; }
@keyframes ct-spin-soft { 50% { opacity: .55; } }

/* Genel GIF düğmesi de durdurma karesine konum verir (all:unset position'ı siler). */
.ct-att-img.is-gif { position: relative; cursor: pointer; }

/* ── Sipariş çipi düzeltmesi (2026-11-04): üzerine gelince "Sipariş değil" ×; elle bağlanan çip kesik çizgili ── */
.ct-ord-wrap { position: relative; display: inline-flex; vertical-align: 1px; }
.ct-ord-wrap .ct-ord { vertical-align: 0; }
.ct-ord.is-manual { border-style: dashed; }
.ct-ord-x { all: unset; box-sizing: border-box; cursor: pointer; position: absolute; top: -7px; right: -7px; width: 16px; height: 16px; border-radius: 50%; display: grid; place-items: center; background: var(--desk-paper); color: var(--desk-muted); box-shadow: 0 0 0 1px var(--desk-line); opacity: 0; transition: opacity .12s ease; }
.ct-ord-x svg { width: 10px; height: 10px; stroke-width: 2.2; }
.ct-ord-wrap:hover .ct-ord-x, .ct-ord-x:focus-visible { opacity: 1; }
.ct-ord-x:hover { color: var(--danger); box-shadow: 0 0 0 1px var(--danger); }
.ct-ord-x:focus-visible { outline: 2px solid var(--accent); outline-offset: 1px; }
@media (hover: none) { .ct-ord-x { display: none; } }
.ct-menu.is-link { width: 300px; }
.ct-link-nums { display: flex; flex-wrap: wrap; gap: 4px; padding: 4px 6px 6px; }
.ct-menu .ct-link-num { all: unset; box-sizing: border-box; cursor: pointer; display: inline-block; width: auto; min-width: 34px; height: 26px; padding: 0 8px; border: 1px solid var(--desk-line); border-radius: 7px; text-align: center; font-size: var(--type-control, 13px); font-weight: 600; line-height: 24px; }
.ct-menu .ct-link-num.is-linked { border-color: color-mix(in srgb, var(--accent) 45%, var(--desk-line)); color: var(--accent); }
.ct-menu .ct-link-num.is-on { background: var(--accent); border-color: var(--accent); color: var(--on-accent); }
.ct-link-state { display: flex; align-items: center; gap: 6px; padding: 4px 8px 6px; font-size: var(--type-meta, 12px); color: var(--desk-muted); }
.ct-link-state b { color: var(--desk-ink); }
.ct-menu .ct-link-state .ct-btn { all: unset; cursor: pointer; margin-left: auto; padding: 2px 8px; border-radius: 7px; font-weight: 600; color: var(--danger); white-space: nowrap; }
.ct-menu .ct-link-state .ct-btn:hover { background: color-mix(in srgb, var(--danger) 10%, transparent); }
.ct-link-q { margin: 2px 4px 4px; }
.ct-menu .ct-link-q input[type="text"], .ct-menu .ct-link-q input[type="text"]:focus { box-shadow: none; border: 0; border-radius: 0; outline: 0; background: none; padding: 0; height: auto; }
.ct-link-res { max-height: 220px; overflow: auto; }
.ct-link-res button { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ct-link-res button span { color: var(--desk-muted); font-size: var(--type-meta, 12px); }
.ct-link-empty { display: block; padding: 8px 10px; font-size: var(--type-meta, 12px); color: var(--desk-muted); }
.ct-menu .ct-link-state .ct-btn.is-undo { color: var(--accent); }
.ct-menu .ct-link-state .ct-btn.is-undo:hover { background: var(--accent-soft); }

/* ══ Genel entegrasyonu (2026-11-04) ══════════════════════════════════ */
/* Kart ekleri: sipariş (canlı durum özeti) · ticket · not */
.ct-cards { display: grid; gap: 6px; margin: 4px 0 2px; max-width: 640px; }
.ct-card { all: unset; box-sizing: border-box; display: block; border: 1px solid var(--desk-line); border-radius: 12px; background: var(--desk-paper); overflow: hidden; }
button.ct-card { cursor: pointer; padding: 10px 12px; }
button.ct-card:hover, button.ct-card:focus-visible { border-color: color-mix(in srgb, var(--accent) 45%, var(--desk-line)); }
button.ct-card:focus-visible { outline: 2px solid var(--accent); outline-offset: 1px; }
.ct-card-h { display: flex; align-items: center; gap: 7px; font-size: var(--type-meta, 12px); color: var(--desk-muted); }
.ct-card.is-order .ct-card-h { padding: 9px 12px 7px; border-bottom: 1px solid var(--desk-line); }
.ct-card-h svg { width: 14px; height: 14px; stroke-width: 1.8; }
.ct-card-h b { color: var(--desk-ink); font-weight: 650; }
.ct-card-h span { margin-left: auto; font-size: var(--type-caption, 11px); }
.ct-card-h span.is-open { color: var(--accent); font-weight: 650; }
.ct-card-h span.is-done { color: var(--success); font-weight: 650; }
.ct-card-t { margin-top: 4px; font-size: var(--type-control, 13px); font-weight: 650; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ct-card-p { margin-top: 2px; font-size: var(--type-meta, 12px); color: var(--desk-muted); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.ct-card-empty { padding: 9px 12px; font-size: var(--type-meta, 12px); color: var(--desk-muted); }
.ct-oc-cols, .ct-oc-row { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1.3fr) minmax(0, .8fr); gap: 10px; align-items: center; }
.ct-oc-cols { padding: 6px 12px 2px; font-size: var(--type-caption, 11px); font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: var(--desk-muted); }
.ct-oc-row { all: unset; box-sizing: border-box; cursor: pointer; width: 100%; display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1.3fr) minmax(0, .8fr); gap: 4px 10px; align-items: center; padding: 8px 12px; border-top: 1px solid var(--desk-line); font-size: var(--type-control, 13px); }
.ct-card.is-order:not(.is-multi) .ct-oc-row { border-top: 0; }
.ct-oc-cols + .ct-oc-row { border-top: 0; }
.ct-oc-row:hover, .ct-oc-row:focus-visible { background: var(--desk-soft); }
.ct-oc-row:focus-visible { outline: 2px solid var(--accent); outline-offset: -2px; }
.ct-oc-id { display: flex; align-items: center; gap: 6px; min-width: 0; }
.ct-oc-id b { font-weight: 650; }
.ct-oc-id small { min-width: 0; font-size: var(--type-meta, 12px); color: var(--desk-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ct-oc-kg, .ct-oc-termin { min-width: 0; font-size: var(--type-meta, 12px); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ct-oc-termin { text-align: right; }
.ct-oc-termin.is-late { color: var(--danger); font-weight: 650; }
.ct-oc-termin.is-none { color: var(--desk-muted); }
.ct-oc-note { grid-column: 1 / -1; min-width: 0; font-size: var(--type-meta, 12px); color: var(--desk-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ct-oc-note b { color: var(--desk-ink); font-weight: 600; margin-right: 4px; }
.ct-oc-note em { font-style: normal; }
.ct-mini .ct-oc-cols, .ct-mini .ct-oc-row { grid-template-columns: minmax(0, 1fr) auto; }
.ct-mini .ct-oc-kg, .ct-mini .ct-oc-cols span:nth-child(2) { display: none; }

/* "Not · 00486": bu mesajdan siparişe not düştü */
.ct-noted { display: inline-flex; align-items: center; gap: 4px; height: 18px; padding: 0 6px; border-radius: 999px; background: var(--accent-soft); color: var(--accent); font-size: var(--type-caption, 11px); font-weight: 650; }
.ct-noted svg { width: 11px; height: 11px; stroke-width: 2; }
.watch-note-genel { all: unset; cursor: pointer; display: inline-flex; align-items: center; height: 16px; padding: 0 6px; margin-right: 4px; border-radius: 999px; background: var(--accent-soft, rgba(37, 99, 235, .1)); color: var(--accent); font-size: 10px; font-weight: 700; letter-spacing: .02em; }
.watch-note-genel:hover, .watch-note-genel:focus-visible { background: var(--accent); color: var(--on-accent); }

/* Komut listesi (/) */
.ct-pop .ct-cmd { display: grid; grid-template-columns: auto auto minmax(0, 1fr); gap: 8px; align-items: baseline; }
.ct-pop .ct-cmd b { font-weight: 700; color: var(--accent); }
.ct-pop .ct-cmd span { font-size: var(--type-meta, 12px); color: var(--desk-muted); }
.ct-pop .ct-cmd small { margin-left: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
#page-chat .ct-pop.is-cmd { width: min(520px, calc(100% - 2 * var(--cp-pad, 22px))); }

/* Doğal tarih çipi: @tarih çipinin aynısı, düğme */
.ct-ndate { all: unset; cursor: pointer; display: inline-flex; align-items: center; gap: 3px; }
.ct-ndate:focus-visible { outline: 2px solid var(--accent); outline-offset: 1px; }
.cp-popmenu { position: fixed; left: 0; top: 0; z-index: 2500; }
.ct-linkbtn { all: unset; cursor: pointer; color: var(--accent); font-weight: 600; }
.ct-linkbtn:hover { text-decoration: underline; }

/* Sipariş çekmecesi (sağ panel) */
.cp-info.is-drawer { padding-top: 10px; }
.cp-dr-head { display: flex; align-items: center; gap: 4px; margin: 0 -6px 6px; font-size: var(--type-caption, 11px); font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--desk-muted); }
.cp-dr-head span { flex: 1; }
.cp-info section.cp-dr-id { display: grid; gap: 4px; }
.cp-dr-no { display: flex; align-items: center; gap: 7px; font-size: 16px; }
.cp-dr-no b { font-weight: 700; letter-spacing: -.01em; }
.cp-dr-firm { font-size: var(--type-control, 13px); color: var(--desk-muted); }
.cp-dr-acts { display: flex; align-items: center; gap: 4px; margin-top: 6px; flex-wrap: wrap; }
.cp-dr-acts .ct-btn { border: 1px solid var(--desk-line); height: 28px; }
.cp-dr-acts .ct-btn.is-primary { border-color: transparent; }
.cp-dr-bar { display: flex; height: 7px; gap: 2px; margin: 8px 0 6px; border-radius: 999px; overflow: hidden; background: var(--desk-soft); }
.cp-dr-bar span { min-width: 3px; }
.cp-dr-kv { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 3px 0; font-size: var(--type-control, 13px); }
.cp-dr-kv span { display: inline-flex; align-items: center; gap: 6px; color: var(--desk-ink); }
.cp-dr-kv b { font-weight: 650; font-variant-numeric: tabular-nums; }
.cp-dr-kv .is-late { color: var(--danger); font-weight: 650; }
.cp-dr-kv .ct-btn { border: 1px solid var(--desk-line); height: 26px; }
.cp-dr-sw { width: 8px; height: 8px; border-radius: 3px; }
.cp-dr-bar .is-wait, .cp-dr-sw.is-wait { background: color-mix(in srgb, var(--desk-ink) 30%, var(--desk-paper)); }
.cp-dr-bar .is-knit, .cp-dr-sw.is-knit { background: color-mix(in srgb, var(--warning-fill, var(--warning)) 86%, var(--danger)); }
.cp-dr-bar .is-raw, .cp-dr-sw.is-raw { background: color-mix(in srgb, var(--warning) 34%, color-mix(in srgb, var(--desk-ink) 46%, var(--desk-paper))); }
.cp-dr-bar .is-dye, .cp-dr-sw.is-dye { background: var(--accent); }
.cp-dr-bar .is-ready, .cp-dr-sw.is-ready { background: var(--success); }
.cp-dr-bar .is-shipped, .cp-dr-sw.is-shipped { background: color-mix(in srgb, var(--success) 58%, black); }
.cp-dr-add { display: flex; align-items: center; gap: 6px; margin: 6px 0 8px; }
#page-chat .cp-dr-add input[type="text"] { flex: 1; min-width: 0; height: 34px; padding: 0 10px; border: 1px solid var(--desk-line); border-radius: 9px; background: var(--desk-soft); color: var(--desk-ink); font: inherit; font-size: var(--type-control, 13px); box-shadow: none; }
#page-chat .cp-dr-add input[type="text"]:focus { outline: 0; border-color: color-mix(in srgb, var(--accent) 55%, var(--desk-line)); }
.cp-dr-add .ct-send { width: 32px; height: 32px; margin: 0; }
.cp-dr-note { padding: 6px 0; border-top: 1px solid var(--desk-line); }
.cp-dr-note:first-of-type { border-top: 0; }
.cp-dr-note-t { font-size: var(--type-control, 13px); line-height: 1.45; overflow-wrap: anywhere; display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden; }

/* Paylaş penceresi: önizleme + çoklu hedef */
.cs-prev { margin: 0 18px 10px; padding: 8px 10px; border: 1px solid var(--desk-line); border-radius: 10px; background: var(--desk-soft); display: grid; gap: 4px; }
.cs-prev-row { display: flex; align-items: baseline; gap: 8px; min-width: 0; font-size: var(--type-control, 13px); }
.cs-prev-row b { font-weight: 650; flex: none; }
.cs-prev-row span { min-width: 0; color: var(--desk-ink); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.cs-prev-row small { margin-left: auto; flex: none; font-size: var(--type-caption, 11px); color: var(--desk-muted); }
.cs-prev-p, .cs-prev-more { font-size: var(--type-meta, 12px); color: var(--desk-muted); }
.cs-hint { margin: -4px 18px 10px; font-size: var(--type-caption, 11px); color: var(--desk-muted); }
.cs-check { width: 20px; height: 20px; border-radius: 6px; border: 1.5px solid var(--desk-line); display: grid; place-items: center; color: transparent; }
.cs-check svg { width: 14px; height: 14px; stroke-width: 2.4; }
.cp-row.is-on .cs-check { background: var(--accent); border-color: var(--accent); color: var(--on-accent); }

/* ══ Kişi sohbeti: Genel'le aynı iki katlı yazma kutusu (2026-11-04) ══ */
body #msgPanel form.msg-convo-input.is-v2 { position: relative; display: flex; flex-direction: column; align-items: stretch; gap: 0; padding: 6px 8px 6px 12px; border: 1px solid var(--desk-line, var(--border)); border-radius: 14px; background: var(--desk-paper, var(--surface-solid, var(--surface))); box-shadow: none; }
body #msgPanel form.msg-convo-input.is-v2:focus-within { border-color: color-mix(in srgb, var(--accent) 55%, var(--desk-line, var(--border))); box-shadow: none; }
body #msgPanel form.msg-convo-input.is-v2 textarea, body #msgPanel form.msg-convo-input.is-v2 textarea:focus { flex: none; width: 100%; min-height: 24px; padding: 4px 2px; border: 0; border-radius: 0; background: none; box-shadow: none; outline: 0; font-size: var(--type-body, 14px); line-height: 1.5; color: var(--desk-ink, var(--text)); }
#msgPanel .msg-comp-tools { display: flex; align-items: center; gap: 2px; }
body #msgPanel .msg-convo-input.is-v2 :is(.msg-emoji-btn, .msg-tool-btn, .msg-gif-btn) { all: unset; box-sizing: border-box; cursor: pointer; flex: 0 0 auto; width: 30px; height: 30px; border-radius: 8px; display: grid; place-items: center; color: var(--desk-muted, var(--muted)); transform: none; }
body #msgPanel .msg-convo-input.is-v2 :is(.msg-emoji-btn, .msg-tool-btn) svg { width: 17px; height: 17px; }
body #msgPanel .msg-convo-input.is-v2 .msg-gif-btn { width: auto; padding: 0 7px; font-size: 11px; font-weight: 800; letter-spacing: .04em; }
body #msgPanel .msg-convo-input.is-v2 :is(.msg-emoji-btn, .msg-tool-btn, .msg-gif-btn):hover,
body #msgPanel .msg-convo-input.is-v2 :is(.msg-emoji-btn, .msg-tool-btn, .msg-gif-btn).is-on,
body #msgPanel .msg-convo-input.is-v2 .msg-emoji-btn.active { background: var(--desk-soft, var(--accent-soft)); color: var(--desk-ink, var(--text)); }
body #msgPanel .msg-convo-input.is-v2 :is(.msg-emoji-btn, .msg-tool-btn, .msg-gif-btn):focus-visible { outline: 2px solid var(--accent); outline-offset: 1px; }
#msgPanel .msg-comp-hint { min-width: 0; margin-left: 6px; font-size: var(--type-caption, 11px); color: var(--desk-muted, var(--muted)); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
#msgPanel .msg-comp-hint b { color: var(--accent); font-weight: 700; }
body #msgPanel .msg-convo-input.is-v2 .msg-send-btn { flex: 0 0 auto; margin-left: auto; width: 32px; height: 32px; border-radius: 9px; background: var(--accent); color: var(--on-accent); box-shadow: none; }
#msgPanel .msg-convo-input.is-v2 :is(.msg-pop, .msg-gif-pop) { position: absolute; left: 0; right: auto; bottom: calc(100% + 6px); width: min(460px, 100%); max-width: none; box-sizing: border-box; z-index: 30; }
#page-chat #msgPanel .msg-convo-input.is-v2 :is(.msg-pop, .msg-gif-pop) { left: 0; right: auto; }
/* iPhone katmanı yalnız ≤500px'te geçerli (iphone.css ile aynı koşul). */
@media (max-width: 500px) {
  html.ds-iphone body #msgPanel form.msg-convo-input.is-v2 { margin: 0; border-radius: 0; border-width: .5px 0 0; padding-bottom: max(8px, env(safe-area-inset-bottom, 0px)); }
  html.ds-iphone #msgPanel .msg-comp-hint { display: none; }
}

/* Kişi sohbetinde kartlar ve çipler */
#msgPanel .msg-bubble.is-card:is(.in, .out) { background: none; border: 0; box-shadow: none; padding: 0; width: min(560px, 86%); max-width: min(560px, 86%); }
#msgPanel .msg-bubble.is-card .ct-cards { margin: 0; max-width: none; }
#msgPanel .msg-card-foot { display: flex; justify-content: flex-end; margin-top: 4px; }
#msgPanel .msg-bubble.out .ct-link { color: inherit; }
#msgPanel .msg-bubble.out .ct-ord { color: var(--desk-ink, var(--text)); }
#msgPanel .msg-img img { max-height: 260px; }

/* ── Kişi sohbeti düzeni v3 (2026-11-04, kullanıcı: "tuhaf duruyor, yazılar ve
   emojiler çok küçük") — TASARIM-DILI.md §3.54a ─────────────────────────────
   Yazı Genel'le aynı boyda; yalnız emojiden oluşan mesaj büyük ve balonsuz
   (eski app-shell 12,5 px + chat-refined balon zemini bunu eziyordu).
   Aynı kişinin 5 dk içindeki mesajları öbek: ara saat satırları gizli, saat ve
   iğne üzerine gelince balonun yanındaki şeritte (.msg-side). */
body.shell-ready #msgPanel .msg-bubble { font-size: 13px; line-height: 1.5; }
body.shell-ready #msgPanel.is-in-page .msg-bubble { font-size: var(--type-body, 14px); padding: 7px 12px; }
body.shell-ready #msgPanel .msg-bubble.is-emoji:is(.in, .out):not(.ticket-share),
body #msgPanel .msg-bubble.is-emoji:is(.in, .out):not(.ticket-share) { background: none; border: 0; box-shadow: none; padding: 0 2px; font-size: 34px; line-height: 1.2; }
#msgPanel .msg-bubble { position: relative; }
#msgPanel .msg-convo-scroll { overflow-x: hidden; }
#msgPanel .msg-convo-scroll > .msg-time { margin-bottom: 10px; }
#msgPanel .msg-convo-scroll > .msg-time.is-grouped:not(.is-pending) { display: none; }
#msgPanel .msg-bubble.out.is-cont:not(.ticket-share):not(.is-emoji) { border-top-right-radius: 5px; }
#msgPanel .msg-bubble.in.is-cont:not(.ticket-share):not(.is-emoji) { border-top-left-radius: 5px; }
#msgPanel.is-in-page .msg-bubble.in:not(.ticket-share):not(.is-emoji):not(.is-gif):not(.is-card) { background: var(--desk-paper, var(--surface)); border: 1px solid var(--desk-line, var(--border)); }
#msgPanel .msg-side {
  position: absolute; top: 50%; transform: translateY(-50%);
  display: flex; align-items: center; gap: 4px; white-space: nowrap;
  font: 500 10.5px/1 var(--font, inherit); color: var(--desk-muted, var(--muted));
  opacity: 0; pointer-events: none; transition: opacity .12s ease;
}
#msgPanel .msg-bubble.in .msg-side { left: 100%; padding-left: 6px; }
#msgPanel .msg-bubble.out .msg-side { right: 100%; padding-right: 6px; flex-direction: row-reverse; }
#msgPanel .msg-bubble.is-run:hover .msg-side::before { content: attr(data-time); }
#msgPanel .msg-bubble:hover .msg-side,
#msgPanel .msg-side:focus-within,
#msgPanel .msg-side.is-pinned { opacity: 1; pointer-events: auto; }
#msgPanel .msg-side .msg-pin { opacity: 1; color: var(--desk-muted, var(--muted)); }
#msgPanel .msg-side .msg-pin.is-pinned { color: var(--accent); }
#msgPanel .msg-bubble.is-pending .msg-side { display: none; }
@media (hover: none) {
  #msgPanel .msg-side { opacity: .55; pointer-events: auto; }
  #msgPanel .msg-bubble.is-run .msg-side::before { content: none; }
}
#msgPanel.is-in-page .msg-convo-scroll > .msg-day {
  align-self: stretch; display: flex; align-items: center; gap: 12px; margin: 14px 0 6px; padding: 0; background: none; border-radius: 0;
  font-size: var(--type-caption, 11px); font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: var(--desk-muted, var(--muted));
}
#msgPanel.is-in-page .msg-convo-scroll > .msg-day::before,
#msgPanel.is-in-page .msg-convo-scroll > .msg-day::after { content: ""; flex: 1; height: 1px; background: var(--desk-line, var(--border)); }

/* ── Sağ kenar sohbet paneli (2026-11-04, kullanıcı seçimi A) — TASARIM-DILI.md §3.54c ──
   Sayfa dışındaki sohbet (kişi paneli, sesli oda, Genel/İST/BUR penceresi) ekranın
   sağında, üst çubuğun altından alta tam boy 380px durur; menü ve sol içerik açık
   kalır. Aynı anda tek panel (chatSideSync / showPanel / chatMiniShow). */
@media (min-width: 781px) {
  body.shell-ready .msg-panel:not(.is-in-page),
  body.shell-ready #msgPanel:not(.is-in-page),
  body.shell-ready .voice-panel:not(.is-in-page),
  body .ct-mini {
    top: calc(var(--shell-top, 56px) + 8px); right: 10px; bottom: 10px; left: auto;
    width: 380px; max-width: calc(100vw - var(--shell-w, 0px) - 20px);
    height: auto; max-height: none;
  }
  body .ct-mini.is-min { bottom: auto; height: 54px; width: 320px; }
  body.chat-side-open .corner-alert-stack { right: 410px; }
  /* Hızlı not hapı ve not penceresi panelin soluna geçer (yazma kutusunu örtmesin). */
  body.chat-side-open #floatingQuickNoteBtn.floating-quick-note,
  body.chat-side-open .quick-sticky-note { right: 410px; }
}
/* Yan menüdeki grup satırı: kişi baş harfi yerine grup kutusu. */
.shell-chat-head-avatar.is-room { border-radius: 6px; background: var(--shell-hover, var(--desk-soft)); color: var(--text); border: 1px solid var(--shell-line, var(--desk-line)); font: 750 6.5px/1 var(--font); letter-spacing: 0; }
.shell-chat-head-avatar.is-room svg { width: 11px; height: 11px; stroke-width: 1.9; }
.shell-chat-head .shell-nav-badge.is-at { background: var(--accent); color: var(--on-accent, #fff); }

/* ══ Komut penceresi + Prova (2026-11-04, TASARIM-DILI §3.54d) ══
   Komut penceresi GIF/fotoğraf seçicisiyle aynı açılır yüzeydir (aynı yer,
   kenar, gölge); sipariş arama §3.23 dolgulu alan + §3.6 satırı. Prova listesi
   yazma kutusunun hemen üstünde, kesik çizgili kenarla "henüz gitmedi" der. */
.ct-cw { position: absolute; left: 22px; right: 22px; bottom: calc(100% - 2px); z-index: 6; max-width: 520px; max-height: min(70vh, 560px); display: flex; flex-direction: column; border: 1px solid var(--desk-line); border-radius: 12px; background: var(--desk-paper); box-shadow: var(--v2-pop, 0 18px 44px rgba(15, 23, 42, .18)); overflow: hidden; }
.ct-cw[hidden] { display: none; }
#page-chat .ct-cw { left: var(--cp-pad); right: var(--cp-pad); }
.ct-mini .ct-cw { left: 10px; right: 10px; }
#msgPanel .msg-convo-input.is-v2 .ct-cw.is-dm { left: 0; right: auto; width: min(520px, 100%); bottom: calc(100% + 6px); z-index: 30; display: flex; }
#msgPanel .msg-convo-input.is-v2 .ct-cw.is-dm[hidden] { display: none; }
.ct-cw.is-busy .ct-cw-b { opacity: .7; pointer-events: none; cursor: wait; }
.ct-cw-h { flex: none; display: flex; align-items: center; gap: 6px; padding: 8px 8px 6px 12px; font-size: var(--type-meta, 12px); color: var(--desk-muted); }
.ct-cw-h > b { color: var(--accent); font-weight: 700; }
.ct-cw-h > span { flex: 1; min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ct-cw-h .cp-ibtn { width: 26px; height: 26px; }
.ct-cw-b { flex: 1; min-height: 0; overflow: auto; display: grid; align-content: start; gap: 8px; padding: 0 12px 10px; }
.ct-cw-q { display: flex; align-items: center; gap: 8px; height: 36px; padding: 0 10px; border-radius: 9px; background: var(--desk-soft); color: var(--desk-muted); }
.ct-cw-q:focus-within { box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--accent) 55%, var(--desk-line)); }
.ct-cw-q svg { width: 15px; height: 15px; flex: none; stroke-width: 1.8; }
.ct-cw .ct-cw-q input, .ct-cw .ct-cw-q input:focus { flex: 1; min-width: 0; height: 100%; padding: 0; border: 0; outline: 0; background: none; box-shadow: none; color: var(--desk-ink); font: inherit; font-size: var(--type-control, 13px); }
.ct-cw-list { display: grid; gap: 1px; max-height: 288px; overflow: auto; }
.ct-cw-row { all: unset; box-sizing: border-box; cursor: pointer; display: grid; grid-template-columns: auto auto auto minmax(0, 1fr) auto; align-items: center; gap: 8px; height: 34px; padding: 0 8px; border-radius: 8px; font-size: var(--type-control, 13px); }
.ct-cw-row:not(:has(.ct-cw-check)) { grid-template-columns: auto auto minmax(0, 1fr) auto; }
.ct-cw-row.is-key { background: var(--desk-soft); }
.ct-cw-row b { font-weight: 650; font-variant-numeric: tabular-nums; }
.ct-cw-row span { min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; color: var(--desk-ink); }
.ct-cw-row small { font-size: var(--type-caption, 11px); color: var(--desk-muted); white-space: nowrap; }
.ct-cw-check { width: 16px; height: 16px; box-sizing: border-box; border-radius: 5px; border: 1.5px solid var(--desk-line); }
.ct-cw-row.is-on .ct-cw-check { border-color: var(--accent); background: var(--accent) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12 5 5 9-10'/%3E%3C/svg%3E") center / 12px no-repeat; }
.ct-cw-empty { padding: 10px 8px; font-size: var(--type-meta, 12px); color: var(--desk-muted); }
.ct-cw-chips { display: flex; flex-wrap: wrap; align-items: center; gap: 4px; }
.ct-cw-chips[hidden] { display: none; }
.ct-cw-chip { display: inline-flex; align-items: center; gap: 2px; height: 24px; padding: 0 2px 0 9px; border-radius: 999px; background: var(--accent-soft); color: var(--accent); font-size: var(--type-meta, 12px); font-weight: 650; font-variant-numeric: tabular-nums; }
.ct-cw-chip button { all: unset; cursor: pointer; width: 20px; height: 20px; border-radius: 50%; display: grid; place-items: center; }
.ct-cw-chip button:hover { background: color-mix(in srgb, var(--accent) 16%, transparent); }
.ct-cw-chip svg { width: 11px; height: 11px; stroke-width: 2.2; }
.ct-cw-add { all: unset; cursor: pointer; height: 24px; padding: 0 9px; border: 1px dashed var(--desk-line); border-radius: 999px; font-size: var(--type-meta, 12px); font-weight: 600; color: var(--desk-muted); }
.ct-cw-add:hover { border-color: var(--accent); color: var(--accent); }
.ct-cw .ct-cw-in, .ct-cw .ct-cw-in:focus { display: block; width: 100%; box-sizing: border-box; min-height: 36px; max-height: 168px; padding: 8px 10px; border: 1px solid var(--desk-line); border-radius: 9px; outline: 0; resize: none; background: var(--desk-paper); box-shadow: none; color: var(--desk-ink); font: inherit; font-size: var(--type-control, 13px); line-height: 1.5; }
.ct-cw .ct-cw-in:focus { border-color: color-mix(in srgb, var(--accent) 55%, var(--desk-line)); }
.ct-cw .ct-cw-in.is-subject { font-weight: 650; }
.ct-cw-ord { display: flex; align-items: center; gap: 7px; min-width: 0; font-size: var(--type-control, 13px); }
.ct-cw-ord b { font-weight: 700; font-variant-numeric: tabular-nums; }
.ct-cw-ord span { flex: 1; min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; color: var(--desk-muted); }
.ct-cw-ord.is-missing { color: var(--desk-muted); }
.ct-cw-sec h4 { margin: 0 0 2px; font-size: var(--type-caption, 11px); font-weight: 700; letter-spacing: .05em; text-transform: uppercase; color: var(--desk-muted); }
.ct-cw-sec .cp-dr-bar { margin-top: 4px; }
.ct-cw-note-row { padding: 3px 0; font-size: var(--type-meta, 12px); line-height: 1.45; overflow-wrap: anywhere; }
.ct-cw-note-row em { font-style: normal; color: var(--desk-muted); }
.ct-cw-foot { display: flex; align-items: center; gap: 6px; padding-top: 2px; }
.ct-cw-foot .ct-btn { height: 30px; }
.ct-cw-foot .ct-btn:not(.is-primary) { border: 1px solid var(--desk-line); }
.ct-cw-foot .ct-btn.is-primary { margin-left: auto; }
.ct-cw-foot .ct-cw-sp + .ct-cw-keys, .ct-cw-foot .ct-cw-sp + .ct-btn.is-primary { margin-left: 0; }
.ct-cw-sp { flex: 1; }
.ct-cw-keys { min-width: 0; font-size: var(--type-caption, 11px); color: var(--desk-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ct-cw-opt { display: inline-flex; align-items: center; gap: 6px; font-size: var(--type-meta, 12px); font-weight: 500; letter-spacing: normal; text-transform: none; color: var(--desk-ink); white-space: nowrap; cursor: pointer; }
.ct-cw-opt input { accent-color: var(--accent); margin: 0; }
.ct-cw-lines { display: grid; max-height: 148px; overflow: auto; }
.ct-cw-line { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 8px; min-height: 30px; padding: 0 2px; border-top: 1px solid var(--desk-line); font-size: var(--type-control, 13px); cursor: pointer; }
.ct-cw-line:first-child { border-top: 0; }
.ct-cw-line.is-general { grid-template-columns: minmax(0, 1fr) auto; cursor: default; }
.ct-cw-line input { accent-color: var(--accent); margin: 0; }
.ct-cw-line span { min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ct-cw-line small { font-size: var(--type-caption, 11px); color: var(--desk-muted); font-variant-numeric: tabular-nums; }
.ct-cw .ct-cw-cal.termin-picker { max-width: 300px; margin: 0; padding: 0; border: 0; background: transparent; box-shadow: none; }
.ct-cw-ai { padding: 10px 12px; border: 1px solid var(--desk-line); border-left: 3px solid var(--accent); border-radius: 10px; font-size: var(--type-control, 13px); line-height: 1.55; }
.ct-cw-ai.is-busy, .ct-cw-ai.is-err { color: var(--desk-muted); border-left-color: var(--desk-line); }
.ct-cw-ai.is-err { color: var(--danger); }
.ct-cw-ai-h { display: flex; align-items: center; gap: 6px; margin-bottom: 4px; font-size: var(--type-meta, 12px); color: var(--desk-muted); }
.ct-cw-ai-h svg { width: 14px; height: 14px; stroke-width: 1.8; color: var(--accent); }
.ct-cw-ai-h b { color: var(--desk-ink); font-weight: 650; }
.ct-cw-ai-t { max-height: 240px; overflow: auto; overflow-wrap: anywhere; white-space: pre-wrap; }
.ct-cw-aibox:empty { display: none; }

/* Prova anahtarı: yazma kutusunun araç satırında küçük yazılı hap. */
.ct-prova-tog, body #msgPanel .msg-convo-input.is-v2 .ct-prova-tog { all: unset; box-sizing: border-box; cursor: pointer; flex: 0 0 auto; height: 24px; padding: 0 9px; margin-left: 4px; border: 1px dashed var(--desk-line); border-radius: 999px; display: inline-grid; place-items: center; width: auto; font-size: var(--type-caption, 11px); font-weight: 700; letter-spacing: .02em; color: var(--desk-muted); }
.ct-prova-tog:hover, body #msgPanel .msg-convo-input.is-v2 .ct-prova-tog:hover { color: var(--accent); border-color: var(--accent); background: none; }
.ct-prova-tog.is-on, body #msgPanel .msg-convo-input.is-v2 .ct-prova-tog.is-on { color: var(--accent); border-color: var(--accent); background: var(--accent-soft); }
.ct-prova-tog:focus-visible { outline: 2px solid var(--accent); outline-offset: 1px; }
.ct-comp.is-prova, body #msgPanel form.msg-convo-input.is-v2.is-prova { border-style: dashed; border-color: color-mix(in srgb, var(--accent) 60%, var(--desk-line)); }
.ct-hint.is-prova { color: var(--accent); white-space: nowrap; min-width: 0; overflow: hidden; text-overflow: ellipsis; }
.ct-hint.is-prova b { font-weight: 700; }
.ct-mini .ct-hint.is-prova { display: inline-flex; }
.ct-prova-tag { font-style: normal; display: inline-grid; place-items: center; height: 18px; padding: 0 7px; border: 1px dashed var(--accent); border-radius: 999px; font-size: 10px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: var(--accent); }

/* Prova listesi: yazma kutusunun hemen üstünde. */
.ct-prova { margin: 0 0 6px; border: 1px dashed color-mix(in srgb, var(--accent) 55%, var(--desk-line)); border-radius: 12px; background: color-mix(in srgb, var(--accent-soft) 45%, var(--desk-paper)); }
.ct-prova[hidden] { display: none; }
.ct-prova.is-dm { flex: none; min-width: 0; margin: 0 10px 6px; }
#page-chat #msgPanel.is-in-page .ct-prova.is-dm { margin: 0 var(--cp-pad) 6px; }
html.ds-iphone body #msgPanel .ct-prova.is-dm { margin: 0 8px 6px; }
.ct-prova-h { display: flex; align-items: center; gap: 6px; padding: 6px 6px 6px 10px; font-size: var(--type-meta, 12px); color: var(--desk-muted); }
.ct-prova-h b { color: var(--desk-ink); font-weight: 650; }
.ct-prova-h > span { flex: 1; min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ct-prova-h .cp-ibtn { width: 26px; height: 26px; }
.ct-prova-h .ct-btn.is-primary { height: 28px; }
.ct-prova-list { display: grid; gap: 6px; max-height: min(38vh, 320px); overflow: auto; padding: 0 8px 8px; }
.ct-prova-it { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 6px; align-items: start; padding: 8px 10px; border: 1px dashed var(--desk-line); border-radius: 10px; background: var(--desk-paper); }
.ct-prova-body { min-width: 0; display: grid; gap: 6px; }
.ct-prova-text { font-size: var(--type-body, 14px); line-height: 1.5; overflow-wrap: anywhere; white-space: pre-wrap; }
.ct-prova-kind { display: inline-flex; align-items: center; gap: 6px; font-size: var(--type-caption, 11px); color: var(--desk-muted); }
.ct-prova-kind svg { width: 13px; height: 13px; stroke-width: 1.8; }
.ct-prova-kind b { color: var(--desk-ink); font-weight: 650; }
.ct-prova-card { padding: 8px 10px; }
.ct-prova .ct-card .ct-oc-row { cursor: default; }
.ct-prova-tools { display: flex; gap: 0; opacity: 0; transition: opacity .12s; }
.ct-prova-tools[hidden] { display: none; }
.ct-prova-it:hover .ct-prova-tools, .ct-prova-it:focus-within .ct-prova-tools { opacity: 1; }
.ct-prova-tools .cp-ibtn { width: 26px; height: 26px; }
.ct-prova-tools .cp-ibtn svg { width: 14px; height: 14px; }
.ct-prova-tools .cp-ibtn[disabled] { opacity: .3; pointer-events: none; }
.ct-prova .ct-prova-edit, .ct-prova .ct-prova-edit:focus { display: block; width: 100%; box-sizing: border-box; min-height: 34px; max-height: 168px; padding: 6px 8px; border: 1px solid color-mix(in srgb, var(--accent) 55%, var(--desk-line)); border-radius: 8px; outline: 0; resize: none; background: var(--desk-paper); box-shadow: none; color: var(--desk-ink); font: inherit; font-size: var(--type-body, 14px); line-height: 1.5; }
@media (pointer: coarse) { .ct-prova-tools { opacity: 1; } }
@media (max-width: 760px) {
  .ct-cw { left: 12px; right: 12px; max-width: none; }
  .ct-prova-h > span { display: none; }
}
@media (prefers-reduced-motion: reduce) { .ct-prova-tools { transition: none; } }

/* Ticket yanıt kutusu: "/" komut listesi + komut penceresi (2026-11-04, §3.54e).
   Sohbetteki .ct-pop / .ct-cw'nin aynısı; yalnız yeri ticket yazma kutusu. */
.ticket-inline-composer.is-chat { position: relative; }
.ticket-inline-composer .tk-cmd-pop { left: 14px; bottom: calc(100% - 4px); width: min(520px, calc(100% - 28px)); z-index: 40; }
/* Ticket Provası (2026-11-05): sohbetteki §3.54d ile aynı; liste kutunun hemen üstünde. */
.ticket-inline-composer .ct-prova.is-ticket { margin: 0 0 8px; }
.ticket-inline-composer .tk-prova-tog { align-self: center; margin: 0 2px; }
.ticket-inline-composer.is-chat.is-prova .tk-composer-row { border-style: dashed; border-color: color-mix(in srgb, var(--accent) 60%, var(--desk-line)); }
.ticket-inline-composer .ct-cw.is-ticket { left: 14px; right: 14px; bottom: calc(100% - 4px); z-index: 40; max-height: min(64vh, 560px); }
.ct-pop-h .ct-pop-ctx { margin-left: 8px; font-weight: 600; letter-spacing: 0; text-transform: none; color: var(--accent); }
.ct-cw-sec.is-row { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.ct-cw-sec.is-row h4 { margin: 0; }
.ct-cw-tgrp { display: grid; gap: 2px; padding-top: 6px; border-top: 1px solid var(--desk-line); }
.ct-cw-tgrp .ct-cw-lines { max-height: none; overflow: visible; padding-left: 15px; }
/* Genel `label { text-transform:uppercase }` (legacy-base) satırlara sızmasın. */
.ct-cw-line, .ct-cw-opt { margin: 0; text-transform: none; letter-spacing: normal; font-weight: 400; color: inherit; }
.ct-cw-line small { text-transform: none; }
/* Çok siparişli /termin: satırlar solda kendi içinde kayar, takvim sağda sabit. */
.ct-cw-tsplit { display: grid; grid-template-columns: minmax(0, 1fr) 264px; gap: 12px; align-items: start; }
.ct-cw-tleft { display: grid; align-content: start; gap: 6px; max-height: 300px; overflow: auto; }
.ct-cw.is-ticket { max-width: 640px; }
@media (max-width: 640px) {
  .ct-cw-tsplit { grid-template-columns: minmax(0, 1fr); }
  .ct-cw-tleft { max-height: 220px; }
}

/* ── Komut kaydı kartı (2026-11-05, TASARIM-DILI §3.54f; chat-page.js "KOMUT KAYDI").
   Ticket yanıtı, Genel ve kişi sohbetinde aynı: yazılan komut · oklu etki ·
   sipariş satırları (details: renkler açılır) · isteğe bağlı açıklama. */
.cmd-card { display: grid; gap: 8px; min-width: min(340px, 100%); max-width: 520px; text-align: left; color: var(--desk-ink); }
.cmd-card-typed { display: flex; align-items: center; gap: 8px; min-width: 0; padding: 6px 9px; border: 1px solid color-mix(in srgb, var(--accent) 28%, var(--desk-line)); border-radius: 8px; background: color-mix(in srgb, var(--accent) 7%, transparent); }
.cmd-card-typed em { flex: none; font: 700 10px var(--font); letter-spacing: .05em; text-transform: uppercase; font-style: normal; color: var(--desk-muted); }
.cmd-card-typed code { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font: 500 12.5px ui-monospace, "SF Mono", Menlo, monospace; color: color-mix(in srgb, var(--accent) 70%, var(--desk-ink)); }
.cmd-card-eff { display: flex; align-items: flex-start; gap: 8px; }
.cmd-card-eff > svg { flex: none; width: 14px; height: 14px; margin-top: 3px; stroke-width: 2; color: var(--success); }
.cmd-card-head { font-size: 13.5px; line-height: 1.35; }
.cmd-card-head b { font-weight: 700; }
.cmd-card-sub { font-size: 12px; color: var(--desk-muted); font-variant-numeric: tabular-nums; }
.cmd-card-list { display: grid; }
.cmd-card-ord { border-top: 1px solid color-mix(in srgb, var(--desk-line) 75%, transparent); }
.cmd-card-ord > summary, .cmd-card-sum { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: baseline; gap: 8px; padding: 5px 0; font-size: 12.5px; list-style: none; }
.cmd-card-ord > summary { cursor: pointer; }
.cmd-card-ord > summary::-webkit-details-marker { display: none; }
.cmd-card-ord > summary:hover .cmd-card-fab { color: var(--desk-ink); }
.cmd-card-no { min-width: 34px; padding: 0; border: 0; background: none; font: 700 12.5px var(--font); font-variant-numeric: tabular-nums; color: var(--desk-ink); text-align: left; cursor: pointer; }
.cmd-card-no:hover:not(:disabled) { color: var(--accent); text-decoration: underline; text-underline-offset: 2px; }
.cmd-card-no:disabled { cursor: default; color: var(--desk-muted); }
.cmd-card-fab { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--desk-muted); }
.cmd-card-ord small, .cmd-card-sum small { font-size: 11.5px; color: var(--desk-muted); white-space: nowrap; font-variant-numeric: tabular-nums; }
.cmd-card-ord[open] > summary small { color: var(--desk-ink); }
.cmd-card-colors { display: flex; flex-wrap: wrap; gap: 4px 10px; padding: 0 0 6px 42px; font-size: 11.5px; color: var(--desk-muted); }
.cmd-card-colors b { flex-basis: 100%; font-weight: 600; color: var(--desk-ink); }
.cmd-card-colors small { color: var(--desk-muted); font-variant-numeric: tabular-nums; }
.cmd-card-note { padding: 2px 0 2px 9px; border-left: 2px solid var(--desk-line); font-size: 13px; line-height: 1.45; white-space: pre-wrap; overflow-wrap: anywhere; }
.msg-bubble .cmd-card, .ct-msg .cmd-card { margin: 2px 0; }
.ct-cw-tnote input { width: 100%; height: 32px; padding: 0 10px; border: 1px solid var(--desk-line); border-radius: 8px; background: transparent; color: var(--desk-ink); font: 13px var(--font); }
.ct-cw-tnote input:focus { outline: none; border-color: color-mix(in srgb, var(--accent) 55%, var(--desk-line)); }

/* ── Yazarken sipariş numarası (2026-11-05, TASARIM-DILI §3.54g; order-marks.js).
   Kutunun altındaki katman metni çizer; işaret varken kutunun yazısı saydamdır
   (imleç ve seçim kutunundur). Tanınan: mavi zemin + alt çizgi; tanınmayan: gri. */
.om-field { position: relative; z-index: 1; }
/* Saydam yazı ve zemin satır içi stille (önemli) yazılır: kutuların kendi renk kuralları ezmesin. */
.om-field.om-on { -webkit-text-fill-color: transparent; caret-color: var(--om-ink, var(--desk-ink)); }
.om-field.om-on::placeholder { color: transparent; }
.om-layer { position: absolute; z-index: 0; margin: 0; overflow: hidden; pointer-events: none; white-space: pre-wrap; overflow-wrap: break-word; word-break: normal; border-style: solid; border-color: transparent; }
.om-layer[hidden] { display: none; }
.om-m { color: inherit; background: none; padding: 0; border-radius: 3px; }
.om-m.is-order { color: color-mix(in srgb, var(--accent) 78%, var(--desk-ink)); background: color-mix(in srgb, var(--accent) 16%, transparent); box-shadow: inset 0 -1.5px 0 var(--accent); }
.om-m.is-order.is-manual { color: color-mix(in srgb, var(--success) 75%, var(--desk-ink)); background: color-mix(in srgb, var(--success) 15%, transparent); box-shadow: inset 0 -1.5px 0 var(--success); }
.om-m.is-grey { color: var(--desk-muted); }
.om-m.is-qty { color: color-mix(in srgb, var(--warning, #e0a83a) 85%, var(--desk-ink)); }
.om-selmenu, .om-pop { position: fixed; z-index: 1200; background: var(--desk-panel, var(--desk-card, #1d2230)); border: 1px solid var(--desk-line); border-radius: 10px; box-shadow: 0 12px 30px rgba(0, 0, 0, .35); color: var(--desk-ink); font: 13px var(--font); }
.om-selmenu { display: flex; gap: 2px; padding: 3px; }
.om-selmenu[hidden], .om-pop[hidden] { display: none; }
.om-selmenu button { border: 0; background: none; color: inherit; font: 600 12.5px var(--font); padding: 6px 10px; border-radius: 7px; cursor: pointer; white-space: nowrap; }
.om-selmenu button:hover { background: color-mix(in srgb, var(--accent) 14%, transparent); }
.om-pop { width: 260px; padding: 5px; }
.om-hd { display: flex; align-items: baseline; gap: 7px; padding: 6px 8px 8px; margin-bottom: 3px; border-bottom: 1px solid var(--desk-line); min-width: 0; }
.om-hd b { font-variant-numeric: tabular-nums; }
.om-hd span { color: var(--desk-muted); font-size: 12px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.om-pop > button, .om-row { display: flex; align-items: baseline; gap: 8px; width: 100%; border: 0; background: none; color: inherit; font: 13px var(--font); text-align: left; padding: 7px 8px; border-radius: 7px; cursor: pointer; }
.om-pop > button:hover, .om-pop > button:focus-visible, .om-row:hover, .om-row.is-key { background: color-mix(in srgb, var(--accent) 12%, transparent); outline: none; }
.om-pop > button small { margin-left: auto; color: var(--desk-muted); font-size: 11px; }
#omPop .om-q { width: 100%; height: 30px; min-height: 0; box-shadow: none; margin: 2px 0 4px; padding: 0 9px; border: 1px solid var(--desk-line); border-radius: 7px; background: transparent; color: inherit; font: 13px var(--font); }
#omPop .om-q:focus { outline: none; border-color: color-mix(in srgb, var(--accent) 55%, var(--desk-line)); }
.om-row b { font-variant-numeric: tabular-nums; flex: none; }
.om-row span { color: var(--desk-muted); font-size: 12px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.om-empty { padding: 8px; color: var(--desk-muted); font-size: 12px; }

/* Fiyat / maliyet kartı (2026-11-05): mesaj tek cümle; fiyat yeşil, bugünkü kur sarı. */
.ct-pc { line-height: 1.75; }
.ct-pc-sip { all: unset; cursor: pointer; font-weight: 650; color: var(--accent); border-bottom: 1px dotted color-mix(in srgb, var(--accent) 55%, transparent); }
.ct-pc-sip:hover, .ct-pc-sip:focus-visible { border-bottom-style: solid; }
.ct-pc-fab { font-weight: 650; color: var(--desk-ink); }
.ct-pc-val { display: inline-block; font-weight: 750; font-variant-numeric: tabular-nums; color: var(--success); background: var(--success-soft); border-radius: 6px; padding: 0 6px; }
.ct-pc-kind { color: var(--desk-muted); }
.ct-pc.is-cost .ct-pc-kind { font-weight: 650; color: var(--desk-ink); }
.ct-pc-conv { color: var(--desk-muted); font-variant-numeric: tabular-nums; }
.ct-pc-rate { display: inline-block; font-weight: 650; font-variant-numeric: tabular-nums; color: var(--warning-ink); background: var(--warning-fill); border-radius: 6px; padding: 0 6px; cursor: help; }
.ct-pc-vade { color: var(--desk-muted); }

/* ── Sohbet takvimi (2026-11-05, chat-calendar.js; TASARIM-DILI.md §3.54i) ──
   Sağ sütunun başında küçük ay takvimi + seçili günün gündemi. Nokta dili:
   vurgu = gündem (termin/not/@tarih), uyarı = hatırlatma, boş halka = mühürlü
   ileri tarihli mesaj. Mesajlı gün rakamı kalın. İkinci vurgu rengi yok. */
.cp-info section.ct-cal-sec { padding-bottom: 10px; }
.ct-cal-h { display: flex; align-items: center; gap: 4px; margin: -4px 0 6px; }
.ct-cal-h b { flex: 1; font-size: var(--type-control, 13px); font-weight: 650; color: var(--desk-ink); text-align: center; }
.ct-cal-h .cp-ibtn { width: 26px; height: 26px; }
.ct-cal-h .cp-ibtn svg { width: 15px; height: 15px; }
.ct-cal-next svg { transform: rotate(180deg); }
.ct-cal-today { height: 24px; padding: 0 8px; }
.ct-cal-tip { margin: 0 2px 6px; font-size: var(--type-caption, 11px); color: var(--desk-muted); }
.ct-cal-grid { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 2px; }
.ct-cal-dow { padding: 2px 0 4px; text-align: center; font-size: 10.5px; font-weight: 700; letter-spacing: .03em; color: var(--desk-muted); }
.ct-cal-day { all: unset; box-sizing: border-box; cursor: pointer; position: relative; height: 32px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 1px; border-radius: 8px; font-size: var(--type-meta, 12px); font-variant-numeric: tabular-nums; color: var(--desk-ink); }
.ct-cal-day:hover { background: var(--desk-soft); }
.ct-cal-day:focus-visible { outline: 2px solid var(--accent); outline-offset: -2px; }
.ct-cal-day.is-past { color: var(--desk-muted); }
.ct-cal-day.has-msg > span:first-child { font-weight: 700; color: var(--desk-ink); }
.ct-cal-day.is-hol > span:first-child { color: var(--danger); }
.ct-cal-day.is-today { box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--accent) 55%, var(--desk-line)); }
.ct-cal-day.is-sel { background: var(--accent); color: var(--on-accent, #fff); }
.ct-cal-day.is-sel > span:first-child { color: var(--on-accent, #fff); }
.ct-cal-dots { display: flex; gap: 2px; height: 4px; }
.ct-cal-dots i { width: 4px; height: 4px; border-radius: 50%; background: var(--accent); }
.ct-cal-dots i.is-rem { background: var(--warning); }
.ct-cal-dots i.is-sealed { background: none; box-shadow: inset 0 0 0 1px var(--desk-muted); }
.ct-cal-day.is-sel .ct-cal-dots i { background: var(--on-accent, #fff); }
.ct-cal-day.is-sel .ct-cal-dots i.is-sealed { background: none; box-shadow: inset 0 0 0 1px var(--on-accent, #fff); }
.cp-info .ct-agenda h3 { margin-bottom: 6px; }
.ct-ag-hol { margin: -2px 0 6px; font-size: var(--type-caption, 11px); color: var(--danger); }
.ct-ag { all: unset; box-sizing: border-box; cursor: pointer; width: 100%; display: grid; grid-template-columns: 8px auto minmax(0, 1fr) auto; align-items: baseline; gap: 4px 8px; padding: 6px 4px; border-radius: 8px; font-size: var(--type-meta, 12px); color: var(--desk-ink); }
div.ct-ag { cursor: default; }
.ct-ag:hover { background: var(--desk-soft); }
.ct-ag:focus-visible { outline: 2px solid var(--accent); outline-offset: -2px; }
.ct-ag-dot { width: 6px; height: 6px; border-radius: 50%; background: var(--accent); align-self: center; }
.ct-ag.is-rem .ct-ag-dot { background: var(--warning); }
.ct-ag.is-sealed .ct-ag-dot { background: none; box-shadow: inset 0 0 0 1.5px var(--desk-muted); }
.ct-ag.is-done { opacity: .7; }
.ct-ag-k { display: inline-flex; align-items: center; gap: 4px; font-size: var(--type-caption, 11px); font-weight: 650; color: var(--desk-muted); white-space: nowrap; }
.ct-ag-k svg { width: 12px; height: 12px; stroke-width: 1.8; }
.ct-ag-t { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ct-ag-t b { font-weight: 650; font-variant-numeric: tabular-nums; }
.ct-ag-t small { display: block; overflow: hidden; text-overflow: ellipsis; font-size: var(--type-caption, 11px); color: var(--desk-muted); }
.ct-ag > small { font-size: var(--type-caption, 11px); color: var(--desk-muted); }
.ct-ag-acts { display: inline-flex; gap: 2px; align-self: center; }
.ct-ag-acts .cp-ibtn { width: 24px; height: 24px; }
.ct-ag-acts .cp-ibtn svg { width: 13px; height: 13px; }
.ct-ag-acts .ct-btn { height: 24px; padding: 0 7px; }

/* Önceki gün şeridi: akışın başında tek satır (yeni gün = yeni sayfa). */
.ct-prevday { all: unset; box-sizing: border-box; cursor: pointer; display: flex; align-items: center; gap: 8px; margin: 12px 22px 2px; padding: 6px 12px; border: 1px dashed var(--desk-line); border-radius: 10px; font-size: var(--type-meta, 12px); color: var(--desk-muted); }
#page-chat .ct-prevday { margin-left: var(--cp-pad); margin-right: var(--cp-pad); }
.ct-prevday:hover { color: var(--desk-ink); border-color: color-mix(in srgb, var(--accent) 40%, var(--desk-line)); }
.ct-prevday svg { width: 14px; height: 14px; stroke-width: 1.8; flex: none; }
.ct-prevday span { flex: 1; }
.ct-prevday b { font-weight: 650; color: var(--desk-ink); }
.ct-prevday small { font-weight: 650; color: var(--accent); }
.ct-prevday[disabled] { opacity: .6; cursor: default; }

/* Dar ekran / köşe penceresi: başlığın altında açılan takvim kutusu. */
.ct-cal-btn.is-on { color: var(--accent); background: var(--accent-soft); }
.ct-calpop { flex: none; margin: 8px 22px 0; padding: 12px; border: 1px solid var(--desk-line); border-radius: 12px; background: var(--desk-paper); box-shadow: var(--v2-pop, 0 18px 44px rgba(15, 23, 42, .18)); max-height: min(420px, 60vh); overflow: auto; }
.ct-calpop[hidden] { display: none; }
#page-chat .ct-calpop { margin-left: var(--cp-pad); margin-right: var(--cp-pad); max-width: 360px; }
.ct-calpop-ag { margin-top: 10px; padding-top: 10px; border-top: 1px solid var(--desk-line); }
.ct-calpop-ag h3 { margin: 0 0 4px; font-size: var(--type-caption, 11px); font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--desk-muted); }
.ct-calpop-ag section { padding: 0; margin: 0; border: 0; }

/* İleri günün sayfası (mühürlü mesajlar). */
.ct-future { padding: 16px 22px 8px; }
#page-chat .ct-future { padding-left: var(--cp-pad); padding-right: var(--cp-pad); }
.ct-future-h { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.ct-future-h > svg { width: 18px; height: 18px; stroke-width: 1.8; color: var(--desk-muted); }
.ct-future-txt { flex: 1; min-width: 160px; display: flex; flex-direction: column; }
.ct-future-txt b { font-size: var(--type-title, 16px); font-weight: 650; color: var(--desk-ink); }
.ct-future-txt span { font-size: var(--type-meta, 12px); color: var(--desk-muted); }
.ct-future-time { display: inline-flex; align-items: center; gap: 6px; font-size: var(--type-meta, 12px); color: var(--desk-muted); }
.ct-future-time input { height: 28px; padding: 0 6px; border: 1px solid var(--desk-line); border-radius: 8px; background: var(--desk-paper); color: var(--desk-ink); font: inherit; font-size: var(--type-meta, 12px); }
.ct-future-sub { margin: 10px 0 12px; font-size: var(--type-meta, 12px); line-height: 1.5; color: var(--desk-muted); }
.ct-future-others { display: flex; align-items: center; gap: 8px; margin: 0 0 12px; padding: 8px 12px; border: 1px dashed var(--desk-line); border-radius: 10px; font-size: var(--type-meta, 12px); color: var(--desk-ink); }
.ct-future-others svg { width: 14px; height: 14px; stroke-width: 1.8; color: var(--desk-muted); }
.ct-empty.is-future { padding: 28px 0; }
.ct-future .ct-msg { padding-left: 0; padding-right: 0; }
.ct-msg.is-sealed .ct-tx { color: var(--desk-ink); }
.ct-sealed-pill, .ct-fwd { display: inline-flex; align-items: center; gap: 4px; padding: 1px 7px; border: 1px dashed var(--desk-line); border-radius: 999px; font-size: var(--type-caption, 11px); font-weight: 600; color: var(--desk-muted); }
.ct-sealed-pill svg, .ct-fwd svg { width: 11px; height: 11px; stroke-width: 1.9; }
.ct-sealed-acts { display: flex; gap: 4px; margin-top: 4px; }
.ct-sealed-acts .ct-btn { height: 26px; }
.ct-btn.is-danger { color: var(--danger); }
.ct-comp.is-sealed { border-style: dashed; border-color: color-mix(in srgb, var(--accent) 45%, var(--desk-line)); }
.ct-hint.is-sealed { color: var(--desk-ink); }
.ct-hint.is-sealed b { font-weight: 650; }
.ct-hint-date { display: inline-flex; align-items: center; gap: 5px; min-width: 0; margin-left: 8px; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; color: var(--accent); }
.ct-hint-date:first-child { margin-left: 0; }
.ct-hint-date svg { flex: none; }
.ct-hint.is-sealed { white-space: nowrap; }
.ct-hint-date b { font-weight: 650; }

/* @ listesinde tarih satırı. */
.cp-av.is-date { background: var(--accent-soft); color: var(--accent); }
.cp-av.is-date svg { width: 14px; height: 14px; stroke-width: 1.8; }
.ct-pop .ct-pop-date.is-warn small { color: var(--warning); }

/* /hatırlat penceresi. */
.ct-cw-rem-when { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin-top: 8px; }
.ct-cw-rem-when input { height: 30px; padding: 0 8px; border: 1px solid var(--desk-line); border-radius: 8px; background: var(--desk-paper); color: var(--desk-ink); font: inherit; font-size: var(--type-meta, 12px); }
.ct-cw-rem-when .ct-btn { border: 1px solid var(--desk-line); }
.ct-cw .ct-cw-rem-me { display: inline-flex; align-items: center; gap: 6px; margin-top: 8px; font-size: var(--type-meta, 12px); font-weight: 500; letter-spacing: normal; text-transform: none; color: var(--desk-ink); }

/* Ana sayfa takvimi: sohbetten gelen satırlar (sipariş notu @tarih satırının dili). */
.termin-upcoming-row.is-compact.is-note.is-chat-note { grid-template-columns: auto minmax(0, 1fr) auto; cursor: pointer; }
.termin-upcoming-row.is-chat-note:hover { background: color-mix(in srgb, var(--accent) 5%, transparent); }
.termin-upcoming-row.is-chat-note:focus-visible { outline: 2px solid var(--accent); outline-offset: -2px; }
.termin-upcoming-row.is-chat-note.is-reminder .note-date-order { color: var(--warning); }
.termin-upcoming-row.is-chat-note.is-sealed .note-date-order, .termin-upcoming-row.is-chat-note.is-sealed-others .note-date-order { color: var(--desk-muted, var(--muted)); }
.cal-note-line.is-chat { background: color-mix(in srgb, var(--accent) 8%, transparent); color: var(--accent); cursor: pointer; }
.cal-note-line.is-chat.is-reminder { background: color-mix(in srgb, var(--warning) 14%, transparent); color: var(--desk-ink, var(--text)); }
.cal-note-line.is-chat.is-sealed, .cal-note-line.is-chat.is-sealed-others { background: none; box-shadow: inset 0 0 0 1px var(--desk-line, var(--border)); color: var(--desk-muted, var(--muted)); }

/* ── assets/styles/wa-bridge.css ── */
/* WhatsApp köprüsü (2026-11-05) — TASARIM-DILI.md §3.55.
   Yeşil yalnız WhatsApp kimliğidir (--wa-ink, §3.18 jetonları); başka yerde kullanılmaz. */

/* Yazma kutusundaki hap: Prova hapının aynı kalıbı. */
.wab-tog, body #msgPanel .msg-convo-input.is-v2 .wab-tog {
  all: unset; box-sizing: border-box; cursor: pointer; flex: 0 0 auto; height: 24px; width: auto;
  padding: 0 9px 0 7px; margin-left: 4px; border: 1px solid var(--desk-line); border-radius: 999px;
  display: inline-flex; align-items: center; gap: 4px;
  font-size: var(--type-caption, 11px); font-weight: 700; letter-spacing: .02em; color: var(--desk-muted);
}
.wab-tog[hidden], body #msgPanel .msg-convo-input.is-v2 .wab-tog[hidden] { display: none; }
.wab-tog svg, body #msgPanel .msg-convo-input.is-v2 .wab-tog svg { width: 13px; height: 13px; }
.wab-tog:hover, body #msgPanel .msg-convo-input.is-v2 .wab-tog:hover { color: var(--wa-ink); border-color: var(--wa-ink); background: none; }
.wab-tog.is-on, body #msgPanel .msg-convo-input.is-v2 .wab-tog.is-on {
  color: var(--wa-ink); border-color: transparent; background: color-mix(in srgb, var(--wa-brand) 16%, transparent);
}
.wab-tog.is-locked, body #msgPanel .msg-convo-input.is-v2 .wab-tog.is-locked { opacity: .6; border-style: dashed; }
.wab-tog:focus-visible { outline: 2px solid var(--wa-ink); outline-offset: 1px; }
body #msgPanel .msg-convo-input.is-v2.wab-on { box-shadow: 0 0 0 1px color-mix(in srgb, var(--wa-ink) 55%, transparent); }

/* Balonun saat satırında WhatsApp izi. */
.msg-time .msg-wa { margin-left: 6px; color: var(--wa-ink); font-weight: 600; }
.msg-time .msg-wa.is-read { color: var(--accent); }
.msg-time .msg-wa.is-failed { color: var(--danger); }

/* "WhatsApp'la haber ver" penceresi. */
.wab-overlay { position: fixed; inset: 0; z-index: 1300; display: grid; place-items: center; padding: 16px;
  background: color-mix(in srgb, var(--text) 32%, transparent); }
.wab-overlay[hidden] { display: none; }
.wab-dlg { width: min(760px, 100%); max-height: calc(100vh - 32px); display: grid; grid-template-rows: auto 1fr auto; overflow: hidden;
  background: var(--desk-paper, var(--surface-solid)); color: var(--text); border: 1px solid var(--desk-line); border-radius: 16px;
  box-shadow: 0 18px 44px color-mix(in srgb, var(--text) 22%, transparent); }
.wab-head { display: flex; align-items: center; gap: 8px; padding: 14px 16px; border-bottom: 1px solid var(--desk-line); font-size: 14px; }
.wab-head > svg { width: 18px; height: 18px; color: var(--wa-ink); }
.wab-head b { flex: 1; font-weight: 650; }
.wab-x { all: unset; cursor: pointer; width: 30px; height: 30px; border-radius: 50%; display: grid; place-items: center; color: var(--desk-muted); }
.wab-x:hover { background: var(--desk-soft); color: var(--text); }
.wab-x svg { width: 16px; height: 16px; }
.wab-body { display: grid; grid-template-columns: minmax(0, 1fr) 250px; min-height: 0; overflow: auto; }
.wab-left { padding: 14px 16px; display: grid; gap: 10px; align-content: start; border-right: 1px solid var(--desk-line); }
.wab-label { font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--desk-muted); }
.wab-kinds { display: flex; gap: 6px; flex-wrap: wrap; }
.wab-chip { all: unset; cursor: pointer; padding: 4px 11px; border-radius: 999px; border: 1px solid var(--desk-line); font-size: 12.5px; font-weight: 600; color: var(--desk-muted); }
.wab-chip.is-on { background: var(--accent-soft); color: var(--accent); border-color: transparent; }
.wab-chip:focus-visible, .wab-person:focus-visible { outline: 2px solid var(--accent); outline-offset: 1px; }
.wab-fixed { display: grid; grid-template-columns: auto 1fr; gap: 3px 10px; font-size: 12.5px; }
.wab-fixed span { color: var(--desk-muted); }
.wab-fixed b { font-weight: 600; }
.wab-text { width: 100%; box-sizing: border-box; resize: vertical; min-height: 64px; padding: 8px 10px; border-radius: 10px;
  border: 1px solid var(--desk-line); background: var(--desk-soft); color: var(--text); font: inherit; font-size: 13.5px; }
.wab-text:focus { outline: none; border-color: var(--accent); }
.wab-people { display: grid; gap: 2px; max-height: 220px; overflow: auto; }
.wab-person { all: unset; cursor: pointer; display: flex; align-items: center; gap: 10px; padding: 6px 8px; border-radius: 9px; font-size: 13px; }
.wab-person:hover { background: var(--desk-soft); }
.wab-check { width: 15px; height: 15px; border-radius: 4px; border: 1.5px solid var(--desk-line); flex: none; }
.wab-person.is-on .wab-check { background: var(--accent); border-color: var(--accent);
  box-shadow: inset 0 0 0 2px var(--desk-paper, var(--surface-solid)); }
.wab-name { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.wab-why { display: inline-flex; align-items: center; gap: 4px; font-size: 11.5px; color: var(--desk-muted); }
.wab-why svg { width: 12px; height: 12px; }
.wab-person.is-off { color: var(--desk-muted); }
.wab-person.is-off .wab-check { opacity: .4; }
.wab-empty { font-size: 12.5px; color: var(--desk-muted); padding: 6px 8px; }
.wab-right { padding: 14px 12px; display: grid; gap: 6px; align-content: start; background: var(--wa-wall); }
.wab-right .wab-label { color: var(--wa-meta); }
.wab-bubble { background: var(--wa-in); color: var(--wa-text); border-radius: 8px; border-top-left-radius: 2px; padding: 7px 9px;
  font-size: 13px; line-height: 1.42; white-space: pre-line; box-shadow: 0 1px .5px color-mix(in srgb, var(--wa-text) 13%, transparent); min-height: 20px; }
.wab-from { font-size: 11.5px; color: var(--wa-meta); padding: 0 2px; }
.wab-foot { display: flex; align-items: center; gap: 8px; padding: 12px 16px; border-top: 1px solid var(--desk-line); font-size: 12.5px; color: var(--desk-muted); }
.wab-foot span { flex: 1; }
@media (max-width: 680px) {
  .wab-body { grid-template-columns: 1fr; }
  .wab-left { border-right: 0; }
}

/* ── assets/styles/iphone.css ── */
@media (max-width: 500px) {
/* ============================================================================
   iPHONE KATMANI — dik tutulan iPhone için ayrı düzen (TASARIM-DILI.md §3.25)
   ----------------------------------------------------------------------------
   Kapsam: yalnız ≤500px genişlik VE <html class="ds-iphone">.
   · iPhone dik: 375–440px → bu katman çalışır.
   · iPad (mini dahil) hiçbir yönde 500px'e inmez → bu dosya ona hiç uygulanmaz.
     index.html bağlantıyı media="(max-width: 500px)" ile yükler; geniş
     ekranda dosya çizimi bekletmez bile.
   · ?iphone=0 bu cihazda kapatır (kaçış yolu), ?iphone=1 geri açar.

   Fikir — "cepteki uygulama":
   · Gezinme başparmağın altında: alt sekme çubuğu (Ana Sayfa, Siparişler,
     Takip, Ticketlar, Menü). Header'daki hamburger kalkar.
   · Header tek satır, sayfa adı solda büyük; alt sekmeler kesilmeden yana kayar.
   · Tablolar karta döner: sipariş listesi yatay kaydırma istemez.
   · Pencereler tam ekran sayfa olarak açılır (iOS sheet), kenarda boşluk yok.
   · Dokunma hedefleri ≥44px, form alanı 16px (iOS yakınlaştırmasın).
   ========================================================================== */

@media (max-width: 500px) {

/* ── Jetonlar ─────────────────────────────────────────────────────────── */
html.ds-iphone {
  --ip-gutter: 14px;
  --ip-tabbar-h: 56px;
  --ip-safe-b: env(safe-area-inset-bottom, 0px);
  --ip-bottom: calc(var(--ip-tabbar-h) + var(--ip-safe-b));
  --ip-card-radius: 16px;
  --ip-ink: var(--desk-ink, #172131);
  --ip-muted: var(--desk-muted, #6a7587);
  --ip-line: var(--desk-line, #e4e7ec);
  --ip-paper: var(--desk-paper, #fff);
  --ip-soft: var(--desk-soft, #f2f4f7);
  --ip-bar: rgba(250, 251, 253, .86);
}
html.ds-iphone[data-theme="dark"] { --ip-bar: rgba(20, 25, 33, .86); }

/* ── Alt sekme çubuğu ─────────────────────────────────────────────────── */
html.ds-iphone body.shell-ready .iphone-tabbar {
  position: fixed;
  /* Pencere katmanının (.modal-overlay 400) ALTINDA: tam ekran sipariş/ticket
     detayı ve alttan açılan tabakalar çubuğu örter, iOS sheet gibi. */
  z-index: 390;
  right: 0;
  bottom: 0;
  left: 0;
  display: flex;
  align-items: stretch;
  height: var(--ip-bottom);
  padding: 0 6px var(--ip-safe-b);
  border-top: .5px solid var(--ip-line);
  background: var(--ip-bar);
  -webkit-backdrop-filter: blur(20px) saturate(1.6);
  backdrop-filter: blur(20px) saturate(1.6);
}
/* Giriş ekranı ve yazdırma görünümünde çubuk yok. */
html.ds-iphone body:not(.shell-ready) .iphone-tabbar { display: none; }
html.ds-iphone .iphone-tab {
  position: relative;
  flex: 1 1 0;
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 3px;
  padding: 6px 0 4px;
  border: 0;
  background: none;
  color: var(--ip-muted);
  font: 600 10px/1.1 var(--font, inherit);
  letter-spacing: .01em;
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation;
}
html.ds-iphone .iphone-tab[hidden] { display: none; }
html.ds-iphone .iphone-tab svg { width: 24px; height: 24px; stroke-width: 1.8; }
html.ds-iphone .iphone-tab.active { color: var(--accent, #0071e3); }
html.ds-iphone .iphone-tab.active svg { stroke-width: 2.2; }
html.ds-iphone .iphone-tab:active { opacity: .6; }
html.ds-iphone .iphone-tab-label { max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
html.ds-iphone .iphone-tab .shell-nav-badge {
  position: absolute;
  top: 3px;
  left: calc(50% + 6px);
  min-width: 17px;
  height: 17px;
  padding: 0 5px;
  border: 2px solid var(--ip-paper);
  border-radius: 999px;
  background: var(--danger, #ff3b30);
  color: #fff;
  font: 800 9px/13px var(--font-numeric, inherit);
  text-align: center;
  box-sizing: border-box;
}
html.ds-iphone .iphone-tab .shell-nav-badge[hidden] { display: none; }

/* İçerik ve yüzen öğeler çubuğun altında kalmaz. */
html.ds-iphone body.shell-ready { padding-bottom: calc(var(--ip-bottom) + 12px); }
/* iPhone'da alt köşede yüzen düğme yok (kullanıcı kararı, 2026-10-02): saatli
   sohbet çubuğu (#msgDock: saat + Sohbet), daraltılmış sohbet topçuğu ve
   "Hızlı not" hapı gizlidir. #msgDock DOM'da kalır — `hidden` özelliği
   "sohbet hazır" işaretidir (CLAUDE.md); yalnız görünmez. */
html.ds-iphone body.shell-ready #msgDock,
html.ds-iphone body.shell-ready .floating-chat-dock,
html.ds-iphone body.shell-ready .floating-quick-note { display: none !important; }
html.ds-iphone body.shell-ready .toast-container,
html.ds-iphone body.shell-ready #toastContainer { bottom: calc(var(--ip-bottom) + 12px); }
html.ds-iphone body.shell-ready .selection-dock,
html.ds-iphone body.shell-ready .order-selection-dock { bottom: calc(var(--ip-bottom) + 10px) !important; }

/* ── Header ───────────────────────────────────────────────────────────── */
/* Menü artık alt çubukta: hamburger kalkar, header'da yalnız ara/bildirim/hesap. */
html.ds-iphone body.shell-ready #glassMenuBtn { display: none; }
html.ds-iphone body.shell-ready > .topbar {
  border-bottom: 0;
  background: var(--ip-bar);
  -webkit-backdrop-filter: blur(20px) saturate(1.6);
  backdrop-filter: blur(20px) saturate(1.6);
}
/* Arama, üst satırın asıl öğesi: iOS arama alanı gibi geniş bir hap. */
html.ds-iphone body.shell-ready .topbar > .shell-search { flex: 1 1 auto; min-width: 0; margin-right: 6px; }
html.ds-iphone body.shell-ready .topbar > .shell-search:not(.is-open) .shell-search-trigger {
  width: 100%;
  height: 38px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 8px;
  padding: 0 12px;
  border: 0;
  border-radius: 10px;
  background: var(--ip-soft) !important;
  color: var(--ip-muted);
}
html.ds-iphone body.shell-ready .topbar > .shell-search:not(.is-open) .shell-search-trigger::after {
  content: "Sipariş, müşteri veya sayfa ara";
  overflow: hidden;
  font: 400 15px/1 var(--font, inherit);
  text-overflow: ellipsis;
  white-space: nowrap;
}
/* Sayfa adı + alt sekmeler: tek satır, kesilmeden yatay kayar. */
html.ds-iphone body.shell-ready .topbar > .shell-subtabs:not([hidden]) {
  border-bottom: .5px solid var(--ip-line);
  background: var(--ip-bar);
  -webkit-backdrop-filter: blur(20px) saturate(1.6);
  backdrop-filter: blur(20px) saturate(1.6);
}
html.ds-iphone .shell-subtabs-inner {
  gap: 10px;
  padding-inline: var(--ip-gutter);
  overflow-x: auto;
  overscroll-behavior-x: contain;
  scrollbar-width: none;
  -webkit-mask-image: linear-gradient(90deg, #000 calc(100% - 24px), transparent);
  mask-image: linear-gradient(90deg, #000 calc(100% - 24px), transparent);
}
html.ds-iphone .shell-subtabs-inner::-webkit-scrollbar { display: none; }
html.ds-iphone .shell-subtabs-standalone { -webkit-mask-image: none; mask-image: none; }
html.ds-iphone .shell-page-label { flex: none; font-size: 17px; font-weight: 700; letter-spacing: -.01em; }
/* Grup sayfalarında başlık sekmelerle tekrar ediyor; yer sekmelerin. */
html.ds-iphone .shell-subtabs-inner:not(.shell-subtabs-standalone) .shell-page-label { display: none; }
html.ds-iphone .shell-subtabs-row { flex: none; gap: 6px; }
html.ds-iphone .shell-subtab {
  flex: none;
  min-height: 34px;
  padding: 0 14px;
  border-radius: 999px;
  font-size: 14px;
}
html.ds-iphone .shell-subtab-icon { display: none; }
html.ds-iphone .shell-subtab.active {
  background: var(--ip-ink);
  color: var(--ip-paper);
  box-shadow: none;
}

/* ── Sayfa yüzeyi ─────────────────────────────────────────────────────── */
/* Notlar kendi tam genişlik uygulama yüzeyidir (liste ⇄ düzenleyici); kenar
   payını kendi taşır, ortak paya girmez. */
html.ds-iphone body.shell-ready .page:not(#page-notes) {
  padding-right: var(--ip-gutter) !important;
  padding-left: var(--ip-gutter) !important;
}
/* iOS: 16px altındaki alanlar odakta sayfayı yakınlaştırır. */
html.ds-iphone input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),
html.ds-iphone select,
html.ds-iphone textarea { font-size: 16px !important; }
html.ds-iphone * { -webkit-tap-highlight-color: transparent; }

/* ── Ana sayfa ────────────────────────────────────────────────────────── */
/* Kart başlığı: ad ve büyük rakam üst satırda, dönem seçimi alt satırda —
   üçü tek satıra sığmıyor, ad "Sipari…" diye kesiliyordu. */
html.ds-iphone #page-dashboard .deck-card-head { flex-wrap: wrap; row-gap: 6px; }
html.ds-iphone #page-dashboard .deck-card-title { flex: 1 1 auto; min-width: 0; }
html.ds-iphone #page-dashboard .deck-card-title strong { overflow: visible; text-overflow: clip; }
html.ds-iphone #page-dashboard .deck-head-tools { order: 3; flex: 1 1 100%; justify-content: flex-start; }
html.ds-iphone #page-dashboard .deck-card-figure { margin-left: auto; }
html.ds-iphone #page-dashboard #shellGreeting { font-size: 28px; letter-spacing: -.02em; }
/* Kartlar içeriği kadar uzar (en az 128px): sabit 128px satırda başlık iki
   satıra inince grafik eziliyordu; boş kartlar da gereksiz 268px tutuyordu. */
html.ds-iphone #page-dashboard .deck-grid { grid-auto-rows: minmax(128px, auto); gap: 10px; }
html.ds-iphone #page-dashboard .deck-card { grid-row: span 1; height: auto; }
html.ds-iphone #page-dashboard .deck-chart { min-height: 76px; }
html.ds-iphone #page-dashboard .deck-feed { max-height: 320px; overflow-y: auto; }
html.ds-iphone #page-dashboard .deck-empty-state { min-height: 96px; }

/* ── Sipariş listesi: tablo → kart ────────────────────────────────────── */
/* Araç satırı: arama en üstte tam genişlik; altında Açık/Geçmiş · sayı · Filtreler. */
/* Filtre çubuğu v2: üstte Açık/Geçmiş + yardım, altında yana kayan görünüm
   şeridi; ikinci satırda arama tam genişlik, haplar ve Filtre ekle altında. */
html.ds-iphone #page-orders .orders-toolbar-primary { flex-wrap: wrap; align-items: center; gap: 8px; }
html.ds-iphone #page-orders .order-views { flex: 1 1 100%; gap: 16px; }
html.ds-iphone #page-orders .order-view-fav { margin-left: 0; }
html.ds-iphone #page-orders .orders-search-wrap { flex: 1 1 100%; width: 100%; }
html.ds-iphone #page-orders #orders-count { min-width: 0; overflow: hidden; color: var(--ip-muted); font-size: 13px; text-overflow: ellipsis; white-space: nowrap; }
html.ds-iphone #page-orders .table-pan-controls,
html.ds-iphone #page-orders #ordersViewToggle,
html.ds-iphone #page-orders #ordersTable thead { display: none; }
html.ds-iphone #page-orders .table-wrap {
  overflow: visible;
  border: 0 !important;
  background: transparent;
  box-shadow: none !important;
}
html.ds-iphone #ordersTable,
html.ds-iphone #pastTable,
html.ds-iphone #ordersTable tbody,
html.ds-iphone #pastTable tbody {
  display: block;
  width: 100%;
  min-width: 0 !important;
  background: transparent;
}
html.ds-iphone #ordersTable tr.order-row,
html.ds-iphone #pastTable tr.order-row {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0 8px;
  margin: 0 0 10px;
  padding: 14px 14px 12px;
  border: 1px solid var(--ip-line);
  border-radius: var(--ip-card-radius);
  background: var(--ip-paper) !important;
  box-shadow: 0 1px 2px rgba(16, 24, 40, .04);
}
html.ds-iphone #ordersTable tr.order-row:active,
html.ds-iphone #pastTable tr.order-row:active { transform: scale(.985); transition: transform .12s ease; }
html.ds-iphone #ordersTable tr.order-row.is-selected,
html.ds-iphone #pastTable tr.order-row.is-selected { border-color: var(--accent, #0071e3); box-shadow: 0 0 0 1px var(--accent, #0071e3); }
html.ds-iphone :is(#ordersTable, #pastTable) tbody tr.order-row.order-row > td {
  display: block;
  min-width: 0;
  width: auto !important;
  height: auto !important;
  min-height: 0;
  max-width: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  position: static;
  text-align: left;
  white-space: normal;
}
html.ds-iphone :is(#ordersTable, #pastTable) tbody tr.order-row.order-row > td::after,
html.ds-iphone :is(#ordersTable, #pastTable) tbody tr.order-row.order-row > td:nth-child(-n+4)::before,
html.ds-iphone :is(#ordersTable, #pastTable) tbody tr.order-row.order-row > td:nth-child(n+9)::before { content: none; display: none; }
html.ds-iphone #ordersTable tr.order-row { height: auto; }
/* Masaüstündeki sabit (sticky) sipariş sütununun gölgesi/zemini kartta çizgi
   bırakıyordu; seçici o kuralı (modern-refresh.css, :hover dahil) yener. */
/* 1 sipariş no · 11 tarih */
html.ds-iphone :is(#ordersTable, #pastTable) tbody tr.order-row.order-row > td:nth-child(1) { grid-column: 1 / 3; grid-row: 1; }
html.ds-iphone :is(#ordersTable, #pastTable) tbody tr.order-row.order-row > td:nth-child(11) {
  grid-column: 3 / -1; grid-row: 1;
  align-self: center;
  color: var(--ip-muted);
  font-size: 12px;
  text-align: right !important;
}
html.ds-iphone :is(#ordersTable, #pastTable) tbody tr.order-row.order-row .sip-no-wrap { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
html.ds-iphone :is(#ordersTable, #pastTable) tbody tr.order-row.order-row .sip-link { font-size: 16px; font-weight: 700; letter-spacing: -.01em; }
html.ds-iphone :is(#ordersTable, #pastTable) tbody tr.order-row.order-row .order-select-btn { width: 30px; height: 30px; margin: -4px 0 -4px -4px; }
/* 2 firma */
html.ds-iphone :is(#ordersTable, #pastTable) tbody tr.order-row.order-row > td:nth-child(2) {
  grid-column: 1 / -1; grid-row: 2;
  margin-top: 4px;
  max-width: none;
  color: var(--ip-ink);
  font-size: 14px;
  font-weight: 500;
}
html.ds-iphone :is(#ordersTable, #pastTable) tbody tr.order-row.order-row > td:nth-child(2) .order-preview-trigger i { display: none; }
/* 3 tip · 4 zincir */
html.ds-iphone :is(#ordersTable, #pastTable) tbody tr.order-row.order-row > td:nth-child(3) { grid-column: 1 / 3; grid-row: 3; margin-top: 10px; align-self: center; }
html.ds-iphone :is(#ordersTable, #pastTable) tbody tr.order-row.order-row > td:nth-child(4) { grid-column: 3 / -1; grid-row: 3; margin-top: 10px; align-self: center; justify-self: end; }
html.ds-iphone :is(#ordersTable, #pastTable) tbody tr.order-row.order-row .chain-cell { display: flex; flex-wrap: wrap; justify-content: flex-end; align-items: center; gap: 6px; }
/* 5–8 miktarlar: dört kutulu şerit */
html.ds-iphone :is(#ordersTable, #pastTable) tbody tr.order-row.order-row > td:nth-child(n+5):nth-child(-n+8) {
  grid-row: 4;
  margin-top: 12px;
  padding: 8px 0 0 !important;
  border-top: 1px solid var(--ip-line) !important;
  color: var(--ip-ink);
  font: 700 14px/1.2 var(--font-numeric, inherit);
  font-variant-numeric: tabular-nums;
}
html.ds-iphone :is(#ordersTable, #pastTable) tbody tr.order-row.order-row > td:nth-child(n+5):nth-child(-n+8)::before {
  display: block;
  margin-bottom: 2px;
  color: var(--ip-muted);
  font: 600 10px/1.2 var(--font, inherit);
  letter-spacing: .02em;
}
html.ds-iphone :is(#ordersTable, #pastTable) tbody tr.order-row.order-row > td:nth-child(5)::before { content: "Sipariş"; }
html.ds-iphone :is(#ordersTable, #pastTable) tbody tr.order-row.order-row > td:nth-child(6)::before { content: "Örgüde"; }
html.ds-iphone :is(#ordersTable, #pastTable) tbody tr.order-row.order-row > td:nth-child(7)::before { content: "Boyada"; }
html.ds-iphone :is(#ordersTable, #pastTable) tbody tr.order-row.order-row > td:nth-child(8)::before { content: "Satılan"; }
/* Üretim miktarı ve fiyat sipariş detayında; kartta kalabalık yapmaz. */
html.ds-iphone :is(#ordersTable, #pastTable) tbody tr.order-row.order-row > td:nth-child(9),
html.ds-iphone :is(#ordersTable, #pastTable) tbody tr.order-row.order-row > td:nth-child(10) { display: none; }
/* Boş/yükleniyor satırı kart olmaz. */
html.ds-iphone #ordersTable tbody > tr:not(.order-row),
html.ds-iphone #pastTable tbody > tr:not(.order-row) { display: block; }
html.ds-iphone #ordersTable tbody > tr:not(.order-row) > td,
html.ds-iphone #pastTable tbody > tr:not(.order-row) > td { display: block; border: 0; }

/* ── Pencereler: tam ekran sayfa (iOS sheet) ──────────────────────────── */
html.ds-iphone #orderModal.modal-overlay { padding: 0; align-items: stretch; }
html.ds-iphone #orderModal .order-modal {
  width: 100%;
  max-width: none;
  height: 100%;
  max-height: none;
  margin: 0;
  border: 0;
  border-radius: 0;
  padding-bottom: env(safe-area-inset-bottom, 0px);
}
/* Tedarik zinciri: firma adı sütuna sığar. */
html.ds-iphone #orderModal .sc-party { max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
/* Kapat düğmesi başparmak boyunda. */

/* Ticket detayı da sipariş detayı gibi tam ekran. */
html.ds-iphone #ticketModal.modal-overlay { padding: 0; align-items: stretch; }
html.ds-iphone #ticketModal .ticket-detail-modal {
  width: 100%;
  max-width: none;
  height: 100%;
  max-height: none;
  margin: 0;
  border: 0;
  border-radius: 0;
  padding-bottom: env(safe-area-inset-bottom, 0px);
}
/* Diğer pencereler: alttan açılan tabaka (başparmak erişiminde). */
html.ds-iphone .modal-overlay:not(#orderModal):not(#ticketModal) { align-items: flex-end; padding: 0; }
html.ds-iphone .modal-overlay:not(#orderModal):not(#ticketModal) > .modal {
  width: 100%;
  max-width: none;
  max-height: 92dvh;
  margin: 0;
  overflow-y: auto;
  padding: 22px 18px calc(18px + env(safe-area-inset-bottom, 0px)) !important;
  border-radius: 16px 16px 0 0;
  overscroll-behavior: contain;
}
/* Onay penceresi de alttan gelir; düğmeler tam genişlikte, alt alta. */
html.ds-iphone .app-confirm-overlay { align-items: flex-end; padding: 0 8px calc(8px + env(safe-area-inset-bottom, 0px)) !important; }
html.ds-iphone .app-confirm-dialog { width: 100%; max-width: none; border-radius: 16px; }

/* ── Ticketlar ────────────────────────────────────────────────────────── */
/* Sağ sütun 58px'lik ızgara hücresine 62px'lik kutu koyuyordu; durum ve
   saat kartın kenarından taşıyordu. */
html.ds-iphone #page-tickets .ticket-file-row { grid-template-columns: 7px minmax(0, 1fr) auto; }
html.ds-iphone #page-tickets .ticket-file-side { width: auto; min-width: 58px; }

/* ── Menü (alt çubuktaki "Menü"): alttan açılan tabaka ───────────────── */
html.ds-iphone body.shell-ready .glass-menu {
  top: auto;
  right: 8px;
  bottom: calc(var(--ip-bottom) + 8px);
  left: 8px;
  width: auto;
  max-height: calc(100dvh - var(--ip-bottom) - 72px);
  border-radius: 16px;
  transform-origin: 50% 100%;
}

/* ── Sohbet sayfası (2026-10-25) ──────────────────────────────────────── */
/* Yüzen sohbet çubuğu iPhone'da yok; giriş üst çubukta zilin yanındaki
   düğmedir (#iphoneChatBtn, okunmamış rozeti). Panel tam ekran bir sayfa
   olarak sağdan gelir (body.ip-chat-open); yüksekliği klavyeye göre
   visualViewport'tan (--ip-chat-h) alır, yazma alanı klavyenin üstünde kalır. */
html.ds-iphone body.shell-ready .iphone-chat-btn:not([hidden]) { display: inline-flex; }
html.ds-iphone body.ip-chat-open { overflow: hidden; }
html.ds-iphone body.ip-chat-open .iphone-tabbar { visibility: hidden; }
html.ds-iphone #msgPanel {
  top: var(--ip-chat-top, 0);
  right: 0;
  bottom: auto;
  left: 0;
  width: 100%;
  max-width: none;
  height: var(--ip-chat-h, 100dvh);
  max-height: none;
  padding-top: env(safe-area-inset-top, 0px);
  transform: none;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  background: var(--ip-paper);
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
  animation: none;
}
html.ds-iphone #msgPanel::before { display: none; }
html.ds-iphone #msgPanel .msg-panel-head {
  min-height: 52px;
  padding: 8px var(--ip-gutter);
  background: var(--ip-paper);
  border-bottom: .5px solid var(--ip-line);
}
html.ds-iphone #msgPanel .msg-panel-head .msg-title { font-size: 22px; letter-spacing: -.02em; }
html.ds-iphone #msgPanel .msg-panel-head .msg-title svg { display: none; }
html.ds-iphone #msgPanel .msg-icon-btn { width: 44px; height: 44px; }
html.ds-iphone #msgPanel .msg-search { padding: 10px var(--ip-gutter) 6px; }
html.ds-iphone #msgPanel #msgUserSearch,
html.ds-iphone #msgPanel #msgInput { font-size: 16px; }
html.ds-iphone #msgPanel .msg-user-list { padding-bottom: env(safe-area-inset-bottom, 0px); }
/* Konuşma: başlık sabit, mesajlar kayar, yazma alanı altta. Alta alma (_)
   iPhone'da anlamsız: geri ok listeye, × sohbet sayfasını kapatır. */
html.ds-iphone #msgPanel .msg-convo-head {
  gap: 6px;
  padding: 6px 8px;
  border-bottom: .5px solid var(--ip-line);
  background: var(--ip-paper);
}
html.ds-iphone #msgPanel .msg-convo-min { display: none; }
html.ds-iphone #msgPanel .msg-panel-body,
html.ds-iphone #msgPanel .msg-convo-scroll { background: var(--ip-paper); }
html.ds-iphone #msgPanel .msg-convo-status { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
html.ds-iphone #msgPanel .msg-convo-input {
  margin-bottom: 0;
  padding: 8px 10px max(10px, env(safe-area-inset-bottom, 0px));
  border-top: .5px solid var(--ip-line);
  background: var(--ip-paper);
}
html.ds-iphone #msgPanel .msg-convo-input :is(input,textarea) { min-height: 44px; }

} /* @media (max-width: 500px) */

}
/* ── assets/styles/inventory.css ── */
/* Envanter (2026-09-22 yeniden kuruldu) — TASARIM-DILI.md'ye uyar:
   başlık bandı yok, alt çizgili görünüm sekmeleri, tek satırlık filtre çubuğu
   (her kontrol sabit genişlikte, yalnız arama esner), kutu içinde kutu yok,
   punto yalnız 16 / 13 / 11. */
body.shell-ready .page.inventory-page{padding:0;max-width:none}
.inventory-app{min-height:calc(100vh - 106px);padding:var(--space-4) 32px 44px;color:var(--desk-ink);background:var(--bg)}
.inventory-app>*{max-width:1400px;margin-left:auto;margin-right:auto}

/* Üst şerit: görünüm sekmeleri + tazelik */
.inv-head{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-4);box-shadow:inset 0 -1px 0 var(--desk-line)}
.inv-view-tabs{display:flex;gap:var(--space-5)}
.inv-view-tabs button{position:relative;min-height:40px;padding:8px 0 12px;border:0;background:none;color:var(--desk-muted);font:550 var(--type-control)/1.2 var(--font);cursor:pointer;transition:color .12s}
.inv-view-tabs button:hover{color:var(--desk-ink)}
.inv-view-tabs button::after{content:'';position:absolute;left:0;right:0;bottom:0;height:2px;border-radius:2px;background:transparent}
.inv-view-tabs button.active{color:var(--desk-ink);font-weight:650}
.inv-view-tabs button.active::after{background:var(--accent)}
.inv-view-tabs button:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}
.inv-freshness{display:flex;align-items:center;gap:var(--space-2);padding-bottom:6px;color:var(--desk-muted);font-size:var(--type-caption)}
.inv-freshness>i{width:7px;height:7px;border-radius:50%;background:var(--warning)}
.inv-freshness.is-fresh>i{background:var(--success)}
.inv-freshness.is-danger>i{background:var(--danger)}
.inv-refresh{width:30px;height:30px;display:grid;place-items:center;padding:0;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--desk-muted);cursor:pointer}
.inv-refresh:hover{border-color:var(--desk-line);background:var(--desk-paper);color:var(--desk-ink)}
.inv-refresh svg{width:16px;height:16px;stroke-width:1.8}

.inv-reset{flex:0 0 34px;width:34px;height:34px;display:grid;place-items:center;padding:0;border:1px solid var(--desk-line);border-radius:9px;background:var(--desk-soft);color:var(--desk-ink);cursor:pointer}
.inv-reset:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}
.inv-reset:disabled{color:var(--desk-muted);opacity:.5;cursor:default}
.inv-reset svg{width:16px;height:16px;stroke-width:1.7}

/* Liste yüzeyi */
.inv-surface{border:1px solid var(--desk-line);border-radius:16px;background:var(--desk-paper);overflow:hidden}
.inv-categories{display:flex;gap:var(--space-2);padding:var(--space-4) 20px 0}
.inv-categories button{display:inline-flex;align-items:center;gap:var(--space-2);min-height:34px;padding:0 var(--space-3);border:1px solid var(--desk-line);border-radius:999px;background:transparent;color:var(--desk-muted);font:550 var(--type-control)/1 var(--font);cursor:pointer;transition:background .12s,color .12s,border-color .12s}
.inv-categories button svg{width:16px;height:16px;stroke-width:1.7}
.inv-categories button small{font-size:var(--type-caption);font-weight:500;font-variant-numeric:tabular-nums}
.inv-categories button:hover{color:var(--desk-ink);background:var(--desk-soft)}
.inv-categories button.active{border-color:color-mix(in srgb,var(--accent) 35%,var(--desk-line));background:var(--accent-soft);color:var(--accent)}
.inv-categories button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}

.inv-toolbar{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) 20px var(--space-4)}
.inventory-app label.inv-search{margin:0;text-transform:none;letter-spacing:0;flex:1 1 220px;box-sizing:border-box;min-width:180px;display:flex;align-items:center;gap:var(--space-2);height:34px;padding:0 var(--space-3);border:1px solid var(--desk-line);border-radius:9px;background:var(--desk-soft);color:var(--desk-muted)}
.inv-search:focus-within{border-color:var(--accent)}
.inv-search svg{width:15px;height:15px;flex:0 0 auto}
#inventoryPageApp .inv-search input,#inventoryPageApp .inv-search input:focus{-webkit-appearance:none;appearance:none;background-color:transparent;flex:1;min-width:0;height:100%;min-height:0;margin:0;padding:0;border:0;border-radius:0;outline:0;box-shadow:none;background:transparent;color:var(--desk-ink);font:500 var(--type-control) var(--font)}
.inventory-app select.inv-select{box-sizing:border-box;min-height:34px;max-height:34px;margin:0;box-shadow:none;flex:0 0 150px;width:150px;height:34px;padding:0 28px 0 var(--space-3);border:1px solid var(--desk-line);border-radius:9px;background:var(--desk-soft) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23718096' stroke-width='2'%3E%3Cpath d='m7 10 5 5 5-5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 8px center/14px;color:var(--desk-ink);font:500 var(--type-control) var(--font);appearance:none;-webkit-appearance:none;cursor:pointer;text-overflow:ellipsis}
.inventory-app select.inv-select.is-count{flex-basis:140px;width:140px}
.inventory-app select.inv-select:focus{outline:0;border-color:var(--accent)}

.inv-summary{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) 20px;border-top:1px solid var(--desk-line);color:var(--desk-muted);font-size:var(--type-caption)}
.inv-summary b{color:var(--desk-ink);font-size:var(--type-section);font-weight:680;letter-spacing:-.02em;font-variant-numeric:tabular-nums}

/* Tablo: ince çizgi, sakin başlık, satır 13px */
.inv-table-wrap{overflow:auto}
.inv-table{width:100%;border-collapse:collapse;table-layout:fixed}
.inv-table th{position:sticky;top:0;z-index:1;padding:9px 20px;border-top:1px solid var(--desk-line);border-bottom:1px solid var(--desk-line);background:var(--desk-soft);color:var(--desk-muted);font-size:var(--type-caption);font-weight:600;text-align:left;text-transform:none;letter-spacing:0}
.inv-table td{padding:10px 20px;border-bottom:1px solid var(--desk-line);color:var(--desk-ink);font-size:var(--type-control);vertical-align:middle;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.inv-table tbody tr:last-child td{border-bottom:0}
.inv-table tbody tr:hover td{background:var(--desk-soft)}
.inv-table th:nth-child(1){width:44%}
.inv-table.is-compact th:nth-child(1){width:52%}
.inv-table td strong{display:block;overflow:hidden;font-weight:550;text-overflow:ellipsis}
.inv-table td small{display:block;margin-top:2px;color:var(--desk-muted);font-size:var(--type-caption)}
.inv-table td b{font-weight:600}
.inv-table .num-cell{text-align:right;font-variant-numeric:tabular-nums}
.inv-table tr.is-negative td b{color:var(--danger)}
.inv-muted{color:var(--desk-muted)}
.inv-empty{padding:var(--space-5) 20px;color:var(--desk-muted);font-size:var(--type-control);text-align:center}
.inv-more{display:block;width:100%;padding:12px;border:0;border-top:1px solid var(--desk-line);background:transparent;color:var(--accent);font:600 var(--type-control) var(--font);cursor:pointer}
.inv-more:hover{background:var(--accent-soft)}

/* Genel görünüm */
.inv-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:var(--space-4);border:1px solid var(--desk-line);border-radius:16px;background:var(--desk-paper)}
.inv-metric{display:grid;gap:var(--space-1);padding:var(--space-4) 20px}
.inv-metric+.inv-metric{border-left:1px solid var(--desk-line)}
.inv-metric span,.inv-metric small{color:var(--desk-muted);font-size:var(--type-caption)}
.inv-metric strong{color:var(--desk-ink);font-size:var(--type-section);font-weight:680;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.inv-metric.is-total strong{color:var(--accent)}
.inv-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4)}
.inv-panel{min-width:0;border:1px solid var(--desk-line);border-radius:16px;background:var(--desk-paper);overflow:hidden}
.inv-panel.is-wide{grid-column:1 / -1}
.inv-panel>header{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3);padding:var(--space-4) 20px var(--space-3)}
.inv-panel>header strong{color:var(--desk-ink);font-size:var(--type-section);font-weight:680;letter-spacing:-.02em}
.inv-panel>header span{min-width:0;overflow:hidden;color:var(--desk-muted);font-size:var(--type-caption);text-overflow:ellipsis;white-space:nowrap}
.inv-panel.is-attention>header strong{color:var(--danger)}
.inv-bars{padding:0 20px var(--space-3)}
.inv-bar{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(60px,1fr) 44px 96px;align-items:center;gap:var(--space-3);min-height:36px;border-top:1px solid var(--desk-line);font-size:var(--type-control)}
.inv-bar-name{overflow:hidden;color:var(--desk-ink);text-overflow:ellipsis;white-space:nowrap}
.inv-bar-track{height:6px;border-radius:6px;background:var(--desk-soft);overflow:hidden}
.inv-bar-track i{display:block;width:var(--w);height:100%;border-radius:inherit;background:var(--accent)}
.inv-bar small{color:var(--desk-muted);font-size:var(--type-caption);text-align:right;font-variant-numeric:tabular-nums}
.inv-bar b{color:var(--desk-ink);font-weight:600;text-align:right;font-variant-numeric:tabular-nums}
.inv-risks{padding:0 20px var(--space-3)}
.inv-risk{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);min-height:44px;border-top:1px solid var(--desk-line);font-size:var(--type-control)}
.inv-risk span{min-width:0}
.inv-risk strong{display:block;overflow:hidden;font-weight:550;text-overflow:ellipsis;white-space:nowrap}
.inv-risk small{color:var(--desk-muted);font-size:var(--type-caption)}
.inv-risk b{color:var(--danger);font-weight:600;white-space:nowrap}
.inv-stage{display:inline-flex;align-items:center;gap:6px;color:var(--desk-ink)}
.inv-stage::before{content:'';width:7px;height:7px;border-radius:50%;background:var(--success)}
.inv-stage.is-dye::before{background:var(--accent)}
.inv-order-link{padding:0;border:0;background:none;color:var(--accent);font:inherit;cursor:pointer}
.inv-order-link:hover{text-decoration:underline;text-underline-offset:3px}

.inventory-loading,.inventory-error{display:grid;place-items:center;align-content:center;gap:12px;min-height:50vh;text-align:center;color:var(--desk-muted)}
.inventory-loading span{width:28px;height:28px;border:3px solid color-mix(in srgb,var(--accent) 18%,transparent);border-top-color:var(--accent);border-radius:50%;animation:inventorySpin .8s linear infinite}
.inventory-error button{border:0;border-radius:9px;padding:10px 14px;background:var(--accent);color:var(--desk-paper);font-weight:600}
@keyframes inventorySpin{to{transform:rotate(360deg)}}

@media(max-width:1180px){.inv-toolbar{flex-wrap:wrap}.inv-search{flex-basis:100%}.inv-grid{grid-template-columns:1fr}.inv-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.inv-metric:nth-child(3){border-left:0}.inv-metric:nth-child(n+3){border-top:1px solid var(--desk-line)}}
@media(max-width:760px){
  .inventory-app{padding:var(--space-3) var(--space-4) 38px}
  .inv-head{flex-wrap:wrap}
  .inv-categories{padding:var(--space-3) var(--space-4) 0;flex-wrap:wrap}
  .inv-categories button{flex:0 0 auto}
  .inv-toolbar{padding:var(--space-3) var(--space-4)}
  .inventory-app select.inv-select,    .inv-summary,.inv-table th,.inv-table td{padding-left:var(--space-4);padding-right:var(--space-4)}
  .inv-table{table-layout:auto}
  .inv-table th:nth-child(2),.inv-table td:nth-child(2),.inv-table th:nth-child(3),.inv-table td:nth-child(3){display:none}
  .inv-table.is-compact th:nth-child(3),.inv-table.is-compact td:nth-child(3){display:table-cell}
  .inv-table td{white-space:normal}
  .inv-bar{grid-template-columns:minmax(0,1fr) 44px 90px}.inv-bar-track{display:none}
}

/* Kumaş Kütüphanesi (2026-10-24, TASARIM-DILI §3.42; 2026-10-28 "A" düzeni):
   solda arama + tür hapları + ölçü sütunlu liste (pus · fein · en · gramaj aynı
   hizada), sağda dört eşit ölçü kutusu, form satırları ve tek satır siparişler. */
.inv-lib{display:grid;grid-template-columns:minmax(400px,460px) 1fr;min-height:560px}
.inv-lib-side{display:flex;flex-direction:column;min-width:0;border-right:1px solid var(--desk-line)}
.inv-lib-tools{display:grid;gap:var(--space-2);padding:var(--space-4) 16px var(--space-3)}
.inventory-app .inv-lib-tools label.inv-search{flex:none;min-width:0}
.inv-lib-filters{display:flex;flex-direction:column;gap:var(--space-2)}
.inv-lib-kinds{display:flex;flex-wrap:wrap;gap:6px}
.inv-lib-kinds button{min-height:28px;padding:0 10px;border:1px solid var(--desk-line);border-radius:999px;background:transparent;color:var(--desk-muted);font:550 var(--type-caption)/1 var(--font);cursor:pointer}
.inv-lib-kinds button:hover{color:var(--desk-ink);background:var(--desk-soft)}
.inv-lib-kinds button.active{border-color:color-mix(in srgb,var(--accent) 35%,var(--desk-line));background:var(--accent-soft);color:var(--accent)}
.inv-lib-kinds button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.inventory-app .inv-lib-filters select.inv-select.is-count{flex:none;width:100%}
.inv-lib-list{flex:1;overflow:auto;max-height:640px;border-top:1px solid var(--desk-line)}
/* Sütunlar başlıkta ve satırda aynı ızgara: ad · pus · fein · en · gramaj · sipariş. */
.inv-lib-cols,.inv-lib-item{display:grid;grid-template-columns:minmax(0,1fr) 30px 30px 58px 58px 26px;gap:var(--space-2);align-items:center}
.inv-lib-cols{position:sticky;top:0;z-index:1;padding:var(--space-2) 16px var(--space-2) 16px;border-bottom:1px solid var(--desk-line);background:var(--desk-paper);color:var(--desk-muted);font-size:var(--type-caption);font-weight:600;letter-spacing:.04em;text-transform:uppercase}
.inv-lib-cols span:not(:first-child),.inv-lib-item>span{text-align:right}
.inv-lib-count{letter-spacing:0;text-transform:none;font-weight:500}
.inv-lib-item{width:100%;min-height:44px;padding:8px 16px 8px 14px;border:0;border-left:2px solid transparent;border-bottom:1px solid color-mix(in srgb,var(--desk-line) 55%,transparent);background:transparent;color:var(--desk-ink);text-align:left;font-family:var(--font);cursor:pointer}
.inv-lib-item:hover{background:var(--desk-soft)}
.inv-lib-item.active{background:var(--accent-soft);border-left-color:var(--accent)}
.inv-lib-item:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
.inv-lib-item strong{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;font-size:var(--type-control);font-weight:600;line-height:1.3;overflow-wrap:anywhere}
.inv-lib-v{font-size:var(--type-control);font-weight:650;font-variant-numeric:tabular-nums lining-nums;white-space:nowrap}
.inv-lib-v.is-empty{color:var(--desk-muted);font-weight:500}
.inv-lib-q{color:var(--desk-muted);font-size:var(--type-caption);font-variant-numeric:tabular-nums lining-nums}
.inv-lib-detail{min-width:0;padding:var(--space-5) 28px var(--space-5)}
.inv-lib-head{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:var(--space-1) var(--space-4)}
.inv-lib-head h3{margin:0;min-width:0;font-size:var(--type-section);font-weight:680;letter-spacing:-.02em;line-height:1.35;overflow-wrap:anywhere}
.inv-lib-sub{color:var(--desk-muted);font-size:var(--type-caption);font-variant-numeric:tabular-nums lining-nums}
.inv-lib-label{color:var(--desk-muted);font-size:var(--type-caption);font-weight:600;letter-spacing:.04em;text-transform:uppercase}
/* Dört ölçü kutusu; en/gramaj aralık yazabildiği için geniş. Büyük rakam ölçü satırının rakamıdır (§2.2, 780). */
.inv-lib-specs{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,.7fr) minmax(0,1.3fr) minmax(0,1.3fr);margin-top:var(--space-4);border:1px solid var(--desk-line);border-radius:var(--radius-sm)}
.inv-lib-spec{display:grid;gap:2px;align-content:start;min-width:0;padding:14px 16px}
.inv-lib-spec+.inv-lib-spec{border-left:1px solid var(--desk-line)}
.inv-lib-spec b{font-size:24px;font-weight:780;letter-spacing:-.028em;line-height:1.2;font-variant-numeric:tabular-nums lining-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.inv-lib-spec b small{margin-left:1px;color:var(--desk-muted);font-size:var(--type-caption);font-weight:550;letter-spacing:0}
.inv-lib-snote{min-height:15px;color:var(--desk-muted);font-size:var(--type-caption);font-variant-numeric:tabular-nums lining-nums}
.inv-lib-section{margin-top:var(--space-5)}
.inv-lib-shead{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3)}
.inv-lib-all{padding:0;border:0;background:transparent;color:var(--accent);font:600 var(--type-caption)/1.3 var(--font);cursor:pointer}
.inv-lib-all:hover{text-decoration:underline}
.inv-lib-all:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}
.inv-lib-forms{display:grid;margin-top:var(--space-2)}
.inv-lib-form{display:grid;grid-template-columns:96px 76px 76px minmax(40px,1fr) 32px;gap:var(--space-3);align-items:center;min-height:38px;border-bottom:1px solid color-mix(in srgb,var(--desk-line) 55%,transparent);font-size:var(--type-control);font-variant-numeric:tabular-nums lining-nums}
.inv-lib-form b{font-weight:650;white-space:nowrap}
.inv-lib-bar{display:block;height:4px;border-radius:4px;background:var(--desk-soft);overflow:hidden}
.inv-lib-bar i{display:block;height:100%;border-radius:4px;background:var(--accent)}
.inv-lib-fq{color:var(--desk-muted);text-align:right}
.inv-lib-orders{display:grid;margin-top:var(--space-2)}
.inv-lib-order{display:grid;grid-template-columns:auto minmax(0,1fr) minmax(0,auto) auto 52px;gap:var(--space-3);align-items:center;min-height:38px;padding:0;border:0;border-bottom:1px solid color-mix(in srgb,var(--desk-line) 55%,transparent);background:transparent;color:var(--desk-ink);text-align:left;font:inherit;font-family:var(--font);font-size:var(--type-control);cursor:pointer}
.inv-lib-order:hover b{color:var(--accent)}
.inv-lib-order:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}
.inv-lib-order b{font-weight:650;letter-spacing:.015em;font-variant-numeric:tabular-nums lining-nums;white-space:nowrap}
.inv-lib-order span,.inv-lib-order small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.inv-lib-order small,.inv-lib-order time{color:var(--desk-muted);font-size:var(--type-control);font-variant-numeric:tabular-nums lining-nums}
.inv-lib-order small.is-num,.inv-lib-order time{text-align:right}
@media (max-width:900px){
  .inv-lib{grid-template-columns:1fr}
  .inv-lib-side{border-right:0;border-bottom:1px solid var(--desk-line)}
  .inv-lib-list{max-height:300px}
  .inv-lib-detail{padding:var(--space-4) 16px}
  .inv-lib-specs{grid-template-columns:repeat(2,minmax(0,1fr))}
  .inv-lib-spec:nth-child(3){border-left:0}
  .inv-lib-spec:nth-child(n+3){border-top:1px solid var(--desk-line)}
  .inv-lib-form{grid-template-columns:minmax(0,1fr) 70px 64px 28px}
  .inv-lib-bar{display:none}
  .inv-lib-order{grid-template-columns:auto minmax(0,1fr) auto}
  .inv-lib-order small:not(.is-num),.inv-lib-order time{display:none}
}
/* Telefonda ad kendi satırında, ölçüler altında başlıkla aynı sütunlarda. */
@media (max-width:500px){
  .inv-lib-item{row-gap:4px}
  .inv-lib-item strong{grid-column:1/-1}
  .inv-lib-item>:nth-child(2){grid-column-start:2}
}

