/* Workflow şeridi yeniden tasarımı (workflow-ui.mjs ekranları: Ürün formu, Kayıtlı GTİP'ler, Fotoğraftan ürün bul, maliyet/toplu araçları).
   Kural: her ekran kendi önekiyle yazar (ör. .prd-, .tl-, .vis-); hex renk yok, yalnız var(--…); mobil kurallar @media (max-width:700px). */

/* === tariffs === Kayıtlı GTİP kütüphanesi: yalnız .tl- önekli kurallar. */
.tl-tools{align-items:center;justify-content:flex-start}
.tl-tools .search{flex:1 1 260px}
.tl-trash{margin-left:auto;cursor:pointer;white-space:nowrap}
.tl-menu{position:relative}
.tl-menu>summary{list-style:none;cursor:pointer}
.tl-menu>summary::-webkit-details-marker{display:none}
.tl-menu>summary::after{content:"▾";font-size:10px}
.tl-menu-list{position:absolute;right:0;z-index:20;display:grid;gap:4px;min-width:240px;margin-top:6px;padding:8px;background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:0 12px 30px color-mix(in srgb,var(--ink) 14%,transparent)}
.tl-menu-list .btn{justify-content:flex-start;width:100%;color:var(--text);cursor:pointer}
.tl-note{margin:0 0 16px}
.tl-table .sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.tl-table td{vertical-align:top}
.tl-name{min-width:170px}
.tl-desc{max-width:320px;line-height:1.5}
.tl-code{white-space:nowrap}
.tl-code a{color:var(--accent);font-weight:600;font-variant-numeric:tabular-nums;text-decoration:none}
.tl-code a:hover{text-decoration:underline}
.tl-chips{display:flex;flex-wrap:wrap;gap:4px;max-width:340px}
.tl-chip{display:inline-block;padding:3px 8px;border-radius:999px;background:var(--soft);color:var(--text);font-size:11px;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}
.tl-chip.unknown{background:none;border:1px dashed var(--line);color:var(--muted);font-weight:500}
.tl-chip.alert{background:none;border:1px solid var(--gold);color:var(--ink)}
.tl-warn{color:var(--gold);font-weight:600}
.tl-check{white-space:nowrap}
.tl-src{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;max-width:200px;white-space:normal;line-height:1.5}
.tl-acts .actions{flex-wrap:nowrap;justify-content:flex-end;gap:6px;margin:0}
.tl-empty .actions{justify-content:center}
.tl-empty label.btn{cursor:pointer}
.tl-empty .hint{margin-top:16px}
.tl-acts [data-action=wf-del-tariff]{color:var(--danger)}
.tl-link{padding:0;border:0;background:none;color:var(--accent);font:inherit;font-weight:600;text-decoration:underline;cursor:pointer}
.tl-step{display:flex;align-items:center;gap:8px;margin:24px 0 8px;font-size:14px;color:var(--ink)}
.tl-step:first-of-type{margin-top:8px}
.tl-step>span{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--soft);color:var(--accent);font-size:12px;font-weight:700}
.tl-tara{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:8px 0}
.tl-tara .hint{margin:0}
.tl-rates{margin-top:16px}
.tl-other{margin:16px 0 0}
.tl-readonly{min-width:0;margin:0;padding:0;border:0}
.tl-warnbox{margin:16px 0 0;padding:16px;border:1px solid var(--gold);border-radius:12px;background:var(--bg);font-size:13px;line-height:1.6}
.tl-warnbox ul{margin:8px 0;padding-left:18px}
dialog .tl-warnbox .actions{margin-top:8px;justify-content:flex-start}
.tl-form-actions .tl-del{margin-right:auto;color:var(--danger)}
.tl-import td{vertical-align:middle}
.tl-import .badge{white-space:normal}
@media (max-width:700px){
  .tl-tools .search{flex:1 1 100%;max-width:none;min-width:0}
  .tl-tools .badge{display:none}
  .tl-trash{margin-left:0;min-height:44px;font-size:13px}
  .tl-menu{margin-left:auto}
  .tl-menu>summary{min-height:44px}
  .tl-menu-list{min-width:0;width:min(280px,calc(100vw - 32px))}
  .tl-menu-list .btn{min-height:44px;font-size:14px}
  .tl-table{overflow:visible;border:0;background:none}
  .tl-table thead{display:none}
  .tl-table table,.tl-table tbody,.tl-table tr,.tl-table td{display:block;width:auto;min-width:0}
  .tl-table tr{margin-bottom:12px;padding:16px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}
  .tl-table td{padding:4px 0;border:0;white-space:normal;font-size:13px}
  .tl-table td strong{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:15px;overflow:hidden;overflow-wrap:anywhere}
  .tl-table td small{font-size:12px}
  .tl-code a{display:inline-flex;align-items:center;min-height:44px;font-size:14px}
  .tl-origin{grid-template-columns:1fr}
  dialog .tl-confirm .btn{min-height:44px;flex:1 1 auto}
  .tl-code small{display:inline;margin-left:8px}
  .tl-chips{max-width:none;gap:6px}
  .tl-chip{font-size:12px}
  .tl-check[data-label]::before{content:attr(data-label) ": ";color:var(--muted)}
  .tl-src,.tl-desc{max-width:none}
  .tl-acts .actions{display:flex;flex-wrap:wrap;justify-content:flex-start;gap:8px;margin-top:8px}
  .tl-acts .actions .btn{min-height:44px;flex:1 1 auto;font-size:13px}
  .tl-empty .actions{flex-direction:column;align-items:stretch}
  .tl-empty .actions .btn{min-height:44px}
  .tl-link{min-height:44px}
  .tl-rates,.tl-other .fields{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tl-tara .btn{min-height:44px}
  dialog .tl-form-actions{flex-wrap:wrap}
  dialog .tl-form-actions .btn,dialog .tl-warnbox .btn,dialog form[data-form="wf-tariff"]>.actions .btn{min-height:44px;flex:1 1 auto}
  .tl-form-actions .tl-del{flex:0 0 auto;margin-right:0}
}

/* === vision === Fotoğraftan ürün bul: yalnız .vis- önekli kurallar. */
.vis-top{align-items:start;margin-bottom:24px}
.vis-top>.card,.vis-saved,.vis-cands{min-width:0}
.vis-saved,.vis-cands{margin-bottom:24px}
.vis-form h2,.vis-how h2,.vis-result h2,.vis-saved h2,.vis-cands h2{margin:0 0 16px;font-size:18px}
.vis-result h2{margin-top:8px;outline:none}
.vis-result{scroll-margin-top:16px}
.vis-how h3,.vis-result h3,.vis-cands h3{margin:24px 0 8px;font-size:14px}
.vis-form .hint,.vis-how .hint,.vis-result .hint,.vis-saved .hint,.vis-cands .hint{font-size:12px}
.vis-form [hidden]{display:none}
.vis-form .notice{margin:0 0 16px}
.vis-form .error{margin:8px 0 0}
.vis-drop{display:block;position:relative;border:1.5px dashed var(--line);border-radius:12px;background:var(--bg);padding:24px 16px;text-align:center;cursor:pointer}
.vis-drop:hover{border-color:var(--accent)}
.vis-drop strong{display:block;font-size:14px;color:var(--ink)}
.vis-drop small{display:block;margin-top:8px;color:var(--muted);font-size:12px}
.vis-drop:focus-within{outline:2px solid var(--ink);outline-offset:2px}
.vis-file{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}
.vis-form .vision-preview{display:block;max-width:100%;margin-top:16px}
.vis-photo-actions{margin:8px 0 0;justify-content:flex-end}
.vis-form>.field{margin-top:16px}
.vis-form>.field small{font-size:12px}
.vis-form>.field,.vis-fields .field,.vis-search .tp-field>label,.vis-photo-actions .btn,.vis-result .badge{font-size:12px}
.vis-actions{margin-top:16px;flex-wrap:wrap}
.vis-status{margin-top:8px;font-size:13px;color:var(--text)}
.vis-status:empty{display:none}
.vis-steps{margin:8px 0 0;padding-left:24px;line-height:1.9;font-size:14px}
.vis-fields{display:grid;gap:16px;margin-top:16px}
.vis-desc{margin:16px 0 0;font-size:13px;line-height:1.6}
.vis-desc small{display:block;margin-bottom:4px;color:var(--muted);font-size:12px}
.vis-questions{margin:0;padding-left:24px;font-size:13px;line-height:1.7}
.vis-search{margin-top:8px}
.vis-search .tp-field small{font-size:12px}
.vis-group{margin-top:16px}
.vis-head{padding:8px 12px;border-radius:8px;background:var(--soft);color:var(--ink);font-size:12px;font-weight:700;overflow-wrap:anywhere}
.vis-cand{align-items:center;gap:16px;padding:16px 0}
.vis-cand>div:first-child{flex:1 1 240px;min-width:0}
.vis-cand strong{font-size:13px;font-variant-numeric:tabular-nums}
.vis-cand p{font-size:13px;overflow-wrap:anywhere}
.vis-cand .actions{flex:0 0 auto;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px;margin:0}
.vis-link{color:var(--accent);font-size:12px;font-weight:600;text-decoration:none;white-space:nowrap}
.vis-link:hover{text-decoration:underline}
.vis-chosen{flex-direction:column;align-items:stretch;gap:12px;margin-top:4px;padding:16px;border:1px solid var(--line);border-radius:12px;background:var(--bg)}
.vis-chosen>div:first-child{flex:0 0 auto}
.vis-chosen .actions{justify-content:flex-start}
.vis-result .actions .btn{font-size:12px}
.vis-expert{margin-top:20px;padding:14px 16px;border:1px solid var(--line);border-radius:12px;background:var(--soft)}
.vis-expert h3{margin:0 0 6px}
.vis-expert .actions{margin-top:10px}
.vis-expert .actions .btn{font-size:13px}
.vis-prod{display:flex;align-items:center;gap:12px}
.vis-prod b{display:block;margin-bottom:4px;font-size:14px;color:var(--ink)}
.vis-more{margin-top:16px}
.vis-more>summary{display:flex;align-items:center;min-height:44px;color:var(--accent);font-size:13px;font-weight:600;cursor:pointer}
@media (max-width:700px){
  .vis-top{margin-bottom:16px}
  .vis-saved,.vis-cands{margin-bottom:16px}
  .vis-form textarea,.vis-fields input{font-size:16px}
  .vis-actions .btn,.vis-photo-actions .btn,.vis-result .actions .btn{min-height:44px}
  .vis-actions .btn{flex:1 1 100%}
  .vis-cand{flex-direction:column;align-items:stretch;gap:12px}
  .vis-cand>div:first-child{flex:0 0 auto}
  .vis-cand .actions{justify-content:flex-start}
  .vis-cand .actions .btn{flex:1 1 100%;min-height:44px;font-size:13px}
  .vis-cand .actions .btn.ghost{flex:0 1 auto;margin-right:auto;padding-left:0}
  .vis-link{display:inline-flex;align-items:center;min-height:44px;font-size:13px}
}
.picker-batch-foot{position:sticky;bottom:0;background:#fff;padding:16px 0 4px;border-top:1px solid #dbe3df;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;z-index:2}.picker-batch-foot .hint{flex-basis:100%;margin:0}.picker-list [data-picker-product]{width:20px;height:20px;flex:0 0 20px;accent-color:#167266;cursor:pointer}.picker-list .tariff-item:has([data-picker-product]:checked){background:#edf7f3}.picker-list .tariff-item:has([data-picker-product]){justify-content:flex-start;gap:12px;padding:12px 8px}.picker-list .tariff-item:has([data-picker-product])>div{flex:1;min-width:0}
