/* Archirew web - dugme ve giris kutusu stili (kullanici 2026-09-28: "modern, gradyanli,
 * kosesiz, bizim renk paletimize uygun" + "olcu girdigimiz yerleri de modern yap").
 * Palet tema.py ile ayni: VURGU #ff8a42, VURGU_ACIK #ffa066, VURGU_KOYU #e0702c, AKSAN #ff4d6d.
 * Program arayuzundeki (ttk) Button/Entry/Spinbox/Combobox bu siniflarla cizilir. */
:root {
  --arw-bg0: #0d0d12; --arw-bg2: #16161f; --arw-bg3: #1f1f2b; --arw-cizgi: #2a2a38;
  --arw-fg: #f0f0f5; --arw-fg2: #9999b0; --arw-fg3: #6b6b82;
  --arw-vurgu: #ff8a42; --arw-vurgu-acik: #ffa066; --arw-vurgu-koyu: #e0702c; --arw-aksan: #ff4d6d;
  --arw-g-birincil: linear-gradient(115deg, #ffa066 0%, #ff8a42 42%, #ff4d6d 100%);
  --arw-g-birincil-ust: linear-gradient(115deg, #ffb07a 0%, #ff9a55 42%, #ff607d 100%);
  --arw-g-ikincil: linear-gradient(115deg, #2a2a3a 0%, #1d1d29 100%);
  --arw-g-tehlike: linear-gradient(115deg, #ff7a8f 0%, #ff4d6d 50%, #d6336c 100%);
  --arw-g-onay: linear-gradient(115deg, #7dd99a 0%, #3fb950 55%, #2a9d8f 100%);
  --arw-yazi: "Segoe UI", "Segoe UI Variable", system-ui, sans-serif;
}

[class^='arw-'], [class*=' arw-'], [class^='arw-'] *, [class*=' arw-'] * { box-sizing: border-box; }

/* ---------------------------------------------------------------- dugme */
.arw-btn {
  --g: var(--arw-g-ikincil);
  position: relative; display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  min-height: 34px; padding: 0 20px; border: 0; border-radius: 999px;   /* kosesiz */
  background: var(--g); color: var(--arw-fg);
  font: 600 13px/1 var(--arw-yazi); letter-spacing: .01em; white-space: nowrap;
  cursor: pointer; user-select: none;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.07), 0 0 0 1px rgba(255,255,255,.06), 0 6px 14px -8px rgba(0,0,0,.8);
  transition: transform .12s ease, box-shadow .18s ease, filter .18s ease;
}
.arw-btn:hover { box-shadow: inset 0 1px 0 rgba(255,255,255,.09), 0 0 0 1px rgba(255,138,66,.55),
                             0 8px 20px -10px rgba(255,138,66,.55); }
.arw-btn:active { transform: translateY(1px) scale(.985); }
.arw-btn:focus-visible { outline: 0; box-shadow: 0 0 0 2px var(--arw-bg0), 0 0 0 4px var(--arw-vurgu); }
.arw-btn[disabled], .arw-btn.kapali { filter: grayscale(.7) brightness(.6); cursor: default; transform: none;
                                      box-shadow: 0 0 0 1px rgba(255,255,255,.04); }

.arw-btn.birincil { --g: var(--arw-g-birincil); color: #fff; text-shadow: 0 1px 1px rgba(120,30,0,.35);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.25), 0 8px 18px -8px rgba(255,100,80,.65); }
.arw-btn.birincil:hover { background: var(--arw-g-birincil-ust);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.3), 0 10px 24px -8px rgba(255,100,80,.8); }
.arw-btn.tehlike { --g: var(--arw-g-tehlike); color: #fff;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.22), 0 8px 18px -8px rgba(255,77,109,.6); }
.arw-btn.onay { --g: var(--arw-g-onay); color: #fff;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.22), 0 8px 18px -8px rgba(63,185,80,.55); }
.arw-btn.buyuk { min-height: 44px; padding: 0 26px; font-size: 14px; }
.arw-btn.kucuk { min-height: 28px; padding: 0 14px; font-size: 12px; gap: 7px; }
.arw-btn.tam { display: flex; width: 100%; }

/* soldaki halkali simge (gorseldeki gibi) */
.arw-btn .ikon { flex: none; display: inline-flex; align-items: center; justify-content: center;
  width: 24px; height: 24px; margin-left: -10px; border-radius: 50%;
  border: 1.6px solid rgba(255,255,255,.85); }
.arw-btn .ikon svg { width: 13px; height: 13px; fill: none; stroke: currentColor; stroke-width: 2;
  stroke-linecap: round; stroke-linejoin: round; }
.arw-btn.buyuk .ikon { width: 30px; height: 30px; margin-left: -12px; }
.arw-btn.buyuk .ikon svg { width: 15px; height: 15px; }
.arw-btn:not(.birincil):not(.tehlike):not(.onay) .ikon { border-color: rgba(255,138,66,.8); color: var(--arw-vurgu-acik); }

/* ---------------------------------------------------------------- giris / olcu kutusu */
.arw-alan {
  position: relative; display: inline-flex; max-width: 100%; align-items: center; min-height: 34px;
  border-radius: 999px; background: linear-gradient(180deg, #14141c 0%, #1b1b26 100%);
  box-shadow: inset 0 1px 2px rgba(0,0,0,.55), 0 0 0 1px var(--arw-cizgi);
  transition: box-shadow .16s ease, background .16s ease;
}
.arw-alan:hover { box-shadow: inset 0 1px 2px rgba(0,0,0,.55), 0 0 0 1px #3a3a52; }
.arw-alan:focus-within { background: #1b1b26;
  box-shadow: inset 0 1px 2px rgba(0,0,0,.4), 0 0 0 1.5px var(--arw-vurgu), 0 0 0 5px rgba(255,138,66,.14); }
.arw-alan input, .arw-alan select {
  flex: 1; min-width: 0; height: 100%; padding: 0 16px; border: 0; outline: 0; background: transparent;
  color: var(--arw-fg); caret-color: var(--arw-vurgu); font: 13px var(--arw-yazi);
  font-variant-numeric: tabular-nums; user-select: text; -webkit-user-select: text; cursor: text;
}
.arw-alan input::placeholder { color: var(--arw-fg3); }
.arw-alan input::selection { background: var(--arw-vurgu); color: var(--arw-bg0); }
.arw-alan.sayi input { text-align: right; padding-right: 6px; }
/* birim etiketi (cm, m, °) */
.arw-alan .birim { flex: none; margin-right: 6px; padding: 3px 9px; border-radius: 999px;
  background: rgba(255,138,66,.12); color: var(--arw-vurgu-acik); font: 600 11px var(--arw-yazi); }
/* - / + adim dugmeleri (Spinbox) */
.arw-alan .adim { flex: none; width: 24px; height: 24px; margin: 0 5px; border-radius: 50%; border: 0;
  background: var(--arw-bg3); color: var(--arw-fg2); font: 600 14px/1 var(--arw-yazi); cursor: pointer;
  display: inline-flex; align-items: center; justify-content: center; }
.arw-alan .adim:hover { background: var(--arw-g-birincil); color: #fff; }
.arw-alan .adim:first-child { margin-left: 5px; }
.arw-alan.hatali { box-shadow: inset 0 1px 2px rgba(0,0,0,.55), 0 0 0 1.5px var(--arw-aksan),
                               0 0 0 5px rgba(255,77,109,.14); }
/* acilir liste (Combobox) */
.arw-alan.liste { cursor: pointer; }
.arw-alan.liste::after { content: ""; flex: none; width: 7px; height: 7px; margin: 0 16px 3px 4px;
  border: solid var(--arw-fg2); border-width: 0 1.6px 1.6px 0; transform: rotate(45deg); pointer-events: none; }
.arw-alan.liste select { appearance: none; -webkit-appearance: none; cursor: pointer; padding-right: 4px; }
.arw-alan.liste select option { background: var(--arw-bg2); color: var(--arw-fg); }

/* onay kutusu (Checkbutton) - yuvarlak anahtar */
.arw-anahtar { display: inline-flex; align-items: center; gap: 10px; cursor: pointer; color: var(--arw-fg);
  font: 13px var(--arw-yazi); }
.arw-anahtar input { position: absolute; opacity: 0; pointer-events: none; }
.arw-anahtar i { position: relative; width: 34px; height: 20px; border-radius: 999px; background: var(--arw-bg3);
  box-shadow: inset 0 1px 2px rgba(0,0,0,.6), 0 0 0 1px var(--arw-cizgi); transition: background .18s; }
.arw-anahtar i::after { content: ""; position: absolute; left: 3px; top: 3px; width: 14px; height: 14px;
  border-radius: 50%; background: #c8c8d8; transition: transform .18s ease, background .18s; }
.arw-anahtar input:checked + i { background: var(--arw-g-birincil); box-shadow: 0 4px 12px -4px rgba(255,100,80,.6); }
.arw-anahtar input:checked + i::after { transform: translateX(14px); background: #fff; }
.arw-anahtar input:focus-visible + i { box-shadow: 0 0 0 2px var(--arw-bg0), 0 0 0 4px var(--arw-vurgu); }

/* ================================================================ v2 (kullanici: "bunlar cok cirkin")
 * Combobox acilir menusu, secici (radyo grubu), sekmeler, tablo (Treeview), katman satiri. */

/* --- ozel acilir liste (Combobox) --- */
.arw-secim { min-width: 0; position: relative; display: inline-flex; align-items: center; min-height: 34px; width: 100%;
  padding: 0 38px 0 16px; border-radius: 999px; cursor: pointer; color: var(--arw-fg); font: 13px var(--arw-yazi);
  background: linear-gradient(180deg, #1a1a24 0%, #20202c 100%);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04), 0 0 0 1px var(--arw-cizgi);
  transition: box-shadow .16s ease; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.arw-secim:hover { box-shadow: inset 0 1px 0 rgba(255,255,255,.05), 0 0 0 1px #3a3a52; }
/* acik halka ICERIDE: disa tasan 5 px'lik parilti ust cerceve tarafindan kirpiliyordu
   (kullanici 2026-09-29: "su ust kutu kesiliyor") */
.arw-secim.acik, .arw-secim:focus-visible { outline: 0;
  box-shadow: inset 0 0 0 1.5px var(--arw-vurgu), inset 0 0 0 4px rgba(255,138,66,.12); }
.arw-secim::after { content: ""; position: absolute; right: 16px; top: 50%; width: 7px; height: 7px;
  margin-top: -6px; border: solid var(--arw-fg2); border-width: 0 1.6px 1.6px 0; transform: rotate(45deg);
  transition: transform .18s ease, margin .18s ease; }
.arw-secim.acik::after { transform: rotate(-135deg); margin-top: -2px; border-color: var(--arw-vurgu); }
.arw-secim .yer { color: var(--arw-fg3); }

.arw-menu { position: fixed; z-index: 1000; min-width: 160px; max-height: min(520px, 70vh); overflow: auto; padding: 6px;
  border-radius: 16px; background: rgba(24,24,33,.97); backdrop-filter: blur(14px);
  box-shadow: 0 0 0 1px rgba(255,255,255,.07), 0 18px 40px -12px rgba(0,0,0,.85), 0 4px 12px rgba(0,0,0,.4);
  animation: arw-ac .14s ease; }
@keyframes arw-ac { from { opacity: 0; transform: translateY(-4px) scale(.98); } to { opacity: 1; transform: none; } }
.arw-menu .oge { display: flex; align-items: center; gap: 10px; padding: 8px 12px 8px 30px; border-radius: 10px;
  color: #d8d8e4; font: 13px var(--arw-yazi); cursor: pointer; position: relative; white-space: nowrap; }
.arw-menu .oge:hover, .arw-menu .oge.imlec { background: rgba(255,255,255,.06); color: var(--arw-fg); }
.arw-menu .oge.secili { color: var(--arw-vurgu-acik); background: rgba(255,138,66,.1); }
.arw-menu .oge.secili::before { content: ""; position: absolute; left: 12px; top: 50%; width: 5px; height: 9px;
  margin-top: -6px; border: solid var(--arw-vurgu); border-width: 0 2px 2px 0; transform: rotate(45deg); }
.arw-menu::-webkit-scrollbar { width: 8px; } .arw-menu::-webkit-scrollbar-thumb { background: #33334a; border-radius: 8px; }

/* --- secici (Radiobutton grubu / "Sadece yapi | Yapi + arazi | ...") --- */
.arw-segment { position: relative; display: flex; padding: 4px; border-radius: 999px; gap: 2px;
  background: #14141c; box-shadow: inset 0 1px 3px rgba(0,0,0,.6), 0 0 0 1px var(--arw-cizgi); }
.arw-segment .kay { position: absolute; top: 4px; bottom: 4px; border-radius: 999px; background: var(--arw-g-birincil);
  box-shadow: 0 6px 16px -6px rgba(255,100,80,.7), inset 0 1px 0 rgba(255,255,255,.25);
  transition: left .26s cubic-bezier(.3,.8,.3,1), width .26s cubic-bezier(.3,.8,.3,1); }
.arw-segment button { position: relative; flex: 1; min-height: 28px; padding: 0 12px; border: 0; border-radius: 999px;
  background: transparent; color: var(--arw-fg2); font: 600 12.5px var(--arw-yazi); cursor: pointer; white-space: nowrap;
  transition: color .2s; }
.arw-segment button:hover { color: var(--arw-fg); }
.arw-segment button.secili { color: #fff; text-shadow: 0 1px 1px rgba(120,30,0,.3); }

/* --- sekmeler (Notebook) --- */
.arw-sekmeler { display: flex; flex-wrap: wrap; gap: 4px; padding: 4px; border-radius: 18px; background: #121219;
  box-shadow: 0 0 0 1px var(--arw-cizgi); }
.arw-sekmeler button { min-height: 30px; padding: 0 16px; border: 0; border-radius: 999px; background: transparent;
  color: var(--arw-fg2); font: 600 12.5px var(--arw-yazi); cursor: pointer; transition: background .16s, color .16s; }
.arw-sekmeler button:hover { background: rgba(255,255,255,.05); color: var(--arw-fg); }
.arw-sekmeler button.secili { background: var(--arw-g-birincil); color: #fff;
  box-shadow: 0 6px 16px -8px rgba(255,100,80,.8), inset 0 1px 0 rgba(255,255,255,.25); }

/* --- bolum basligi (LabelFrame / "3D MODEL", "KATMANLAR") --- */
.arw-baslik { display: flex; align-items: center; gap: 10px; margin: 18px 0 10px; color: var(--arw-fg2);
  font: 700 10.5px var(--arw-yazi); letter-spacing: .12em; text-transform: uppercase; }
.arw-baslik::before { content: ""; width: 3px; height: 12px; border-radius: 3px; background: var(--arw-g-birincil); }
.arw-baslik::after { content: ""; flex: 1; height: 1px; background: linear-gradient(90deg, var(--arw-cizgi), transparent); }

/* --- tablo (Treeview) --- */
.arw-tablo { width: 100%; border-collapse: separate; border-spacing: 0 3px; font: 13px var(--arw-yazi); }
.arw-tablo th { padding: 6px 12px; color: var(--arw-fg3); font: 700 10.5px var(--arw-yazi); letter-spacing: .08em;
  text-transform: uppercase; text-align: left; }
.arw-tablo th.sayi, .arw-tablo td.sayi { text-align: right; font-variant-numeric: tabular-nums; }
.arw-tablo td { padding: 9px 12px; color: #d8d8e4; background: #15151d; cursor: pointer; transition: background .12s; }
.arw-tablo td:first-child { border-radius: 12px 0 0 12px; } .arw-tablo td:last-child { border-radius: 0 12px 12px 0; }
.arw-tablo tr:hover td { background: #1c1c27; color: var(--arw-fg); }
/* secili satir: butun satiri saran tek parca yuvarlak cerceve (eskiden yalniz ilk hucrenin
   solunda cizgi vardi, "ortada kesiliyor" gibi duruyordu) */
.arw-tablo tr.secili td { --c: rgba(255,138,66,.85); color: #fff;
  background: linear-gradient(180deg, rgba(255,138,66,.20), rgba(255,77,109,.12));
  box-shadow: inset 0 1.5px 0 var(--c), inset 0 -1.5px 0 var(--c); }
.arw-tablo tr.secili td:first-child { box-shadow: inset 1.5px 0 0 var(--c), inset 0 1.5px 0 var(--c), inset 0 -1.5px 0 var(--c); }
.arw-tablo tr.secili td:last-child { box-shadow: inset -1.5px 0 0 var(--c), inset 0 1.5px 0 var(--c), inset 0 -1.5px 0 var(--c); }
.arw-tablo tr.secili td:only-child { box-shadow: inset 0 0 0 1.5px var(--c); }
.arw-tablo tr.secili { filter: drop-shadow(0 6px 14px rgba(255,100,80,.22)); }
.arw-tablo .rozet { display: inline-block; margin-left: 6px; padding: 2px 8px; border-radius: 999px; font-size: 10.5px;
  font-weight: 600; color: var(--arw-vurgu-acik); background: rgba(255,138,66,.12); }

/* --- katman satiri (ad + bilgi + secim) --- */
.arw-katman { display: grid; grid-template-columns: 1fr 190px; gap: 12px; align-items: center; padding: 8px 10px 8px 14px;
  border-radius: 14px; transition: background .12s; }
.arw-katman:hover { background: rgba(255,255,255,.03); }
.arw-katman b { display: block; color: var(--arw-fg); font: 600 12.5px var(--arw-yazi); letter-spacing: .02em; }
.arw-katman small { display: block; margin-top: 2px; color: var(--arw-fg3); font: 11.5px var(--arw-yazi); }
.arw-katman small i { font-style: normal; color: var(--arw-vurgu-acik); }
.arw-katman.yoksay b { color: var(--arw-fg3); }

/* --- kaydirma cubugu --- */
.arw-kaydir { scrollbar-width: thin; scrollbar-color: #33334a transparent; }
.arw-kaydir::-webkit-scrollbar { width: 8px; } .arw-kaydir::-webkit-scrollbar-thumb { background: #2c2c3e; border-radius: 8px; }
