:root{
  --green:#2e7d32; --green-d:#1b5e20; --green-l:#e8f5e9;
  --bg:#f4f5f7; --card:#fff; --ink:#1b1f23; --muted:#687076;
  --line:#e3e6ea; --warn:#b7791f; --warn-bg:#fff8e1; --danger:#c62828;
  --radius:14px; --shadow:0 2px 10px rgba(0,0,0,.08);
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{margin:0;padding:0}
body{
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
  background:var(--bg); color:var(--ink);
  padding-bottom:env(safe-area-inset-bottom);
}
.hidden{display:none !important}
/* Kamerayı tetikleyen dosya alanı: görünmez ama DOM'da ve tıklanabilir
   (Samsung/Android'de display:none olan input .click() ile açılmayabiliyor). */
.sr-file{position:fixed;left:-9999px;top:0;width:1px;height:1px;opacity:0}
.muted{color:var(--muted)}
.err{color:var(--danger);min-height:1.1em;margin:4px 0;font-size:14px}

/* ---- İsim kapısı ---- */
.gate{min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:24px}
.gate-box{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);
  padding:26px 22px;max-width:380px;width:100%;text-align:center}
.gate-box h1{margin:.2em 0;font-size:22px;color:var(--green-d)}
.gate-box .logo{font-size:40px}
.quick-names{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin:12px 0}
.quick-names button{background:var(--green-l);color:var(--green-d);border:1px solid var(--green);
  border-radius:20px;padding:8px 14px;font-size:15px}

/* ---- Üst bar ---- */
.topbar{position:sticky;top:0;z-index:5;background:var(--green);color:#fff;
  padding:calc(env(safe-area-inset-top) + 10px) 14px 10px;display:flex;align-items:center;gap:10px}
.topbar .t{flex:1;min-width:0}
.topbar .t b{display:block;font-size:17px;line-height:1.2}
.topbar .t small{opacity:.9;font-size:12px}
.topbar .who{background:rgba(255,255,255,.2);border-radius:18px;padding:6px 12px;color:#fff;font-size:14px;white-space:nowrap}

/* ---- İçerik ---- */
.wrap{padding:14px;max-width:720px;margin:0 auto}
.actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:14px}
.big-btn{border:none;border-radius:var(--radius);padding:20px 12px;font-size:17px;font-weight:600;
  box-shadow:var(--shadow);display:flex;flex-direction:column;align-items:center;gap:8px;cursor:pointer}
.big-btn .ico{font-size:30px}
.big-btn.scan{background:var(--green);color:#fff}
.big-btn.manual{background:var(--card);color:var(--ink);border:1px solid var(--line)}

.searchbar input{width:100%;padding:11px 14px;border:1px solid var(--line);border-radius:12px;font-size:16px;background:#fff}
.tabs{display:flex;gap:8px;margin:12px 0}
.tabs button{flex:1;padding:9px;border:1px solid var(--line);background:#fff;border-radius:10px;font-size:14px;color:var(--muted)}
.tabs button.on{background:var(--green-l);border-color:var(--green);color:var(--green-d);font-weight:600}

.count-line{font-size:13px;color:var(--muted);margin:4px 2px 10px}

/* ---- Liste ---- */
.list{display:flex;flex-direction:column;gap:8px}
.card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:12px 14px;
  display:flex;align-items:center;gap:12px}
.card .main{flex:1;min-width:0}
.card .mat{font-weight:600;font-size:16px}
.card .qty{font-weight:700;color:var(--green-d);font-size:16px;white-space:nowrap}
.card .meta{font-size:13px;color:var(--muted);margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.card .tag{display:inline-block;background:var(--green-l);color:var(--green-d);border-radius:6px;padding:1px 6px;font-size:11px;margin-right:5px}
.card .tag.foto{background:#e3f2fd;color:#1565c0}
.card .tag.cat{background:#ede7f6;color:#5e35b1}
.empty{text-align:center;color:var(--muted);padding:40px 16px}
.empty .ico{font-size:44px;display:block;margin-bottom:8px}

/* ---- Alt sayfa (form) ---- */
.modal{position:fixed;inset:0;z-index:30;background:rgba(0,0,0,.4);display:flex;align-items:flex-end;justify-content:center}
.sheet{background:var(--card);width:100%;max-width:560px;border-radius:18px 18px 0 0;max-height:94dvh;
  display:flex;flex-direction:column;animation:up .22s ease}
@keyframes up{from{transform:translateY(100%)}to{transform:translateY(0)}}
.sheet-head{display:flex;align-items:center;gap:10px;padding:14px;border-bottom:1px solid var(--line)}
.sheet-head b{flex:1;font-size:17px}
.sheet-body{padding:14px;overflow:auto}
.field{margin-bottom:12px}
.field label{display:block;font-size:13px;color:var(--muted);margin-bottom:5px}
.field input,.field textarea,.field select{width:100%;padding:12px;border:1px solid var(--line);
  border-radius:10px;font-size:16px;background:#fff}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.units{display:flex;flex-wrap:wrap;gap:7px;margin-top:2px}
.units button{background:#fff;border:1px solid var(--line);border-radius:18px;padding:8px 12px;font-size:14px}
.units button.on{background:var(--green);border-color:var(--green);color:#fff}

/* ---- Butonlar ---- */
.btn{border:1px solid var(--line);background:#fff;border-radius:10px;padding:11px 16px;font-size:15px;cursor:pointer}
.btn.primary{background:var(--green);border-color:var(--green);color:#fff;font-weight:600}
.btn.block{width:100%}
.btn.ghost{background:transparent;border:none;color:var(--green-d)}
.btn.danger{color:var(--danger);border-color:#f3c9c9}
.icon-btn{background:transparent;border:none;font-size:20px;color:inherit;padding:6px;cursor:pointer}

/* ---- Tarama bindirmesi ---- */
.overlay{position:fixed;inset:0;z-index:40;background:rgba(0,0,0,.55);display:flex;align-items:center;justify-content:center;color:#fff}
.overlay .box{text-align:center}
.spin{width:44px;height:44px;border:4px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;
  margin:0 auto 14px;animation:rot .8s linear infinite}
@keyframes rot{to{transform:rotate(360deg)}}

/* ---- Uyarı kutusu (çift sayım) ---- */
.warn-box{background:var(--warn-bg);border:1px solid #f0d9a0;border-radius:10px;padding:12px;margin-bottom:12px}
.warn-box .h{color:var(--warn);font-weight:700;margin-bottom:6px}
.warn-box ul{margin:6px 0 0;padding-left:18px;font-size:14px}

/* ---- Toast ---- */
.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);background:#263238;color:#fff;
  padding:12px 18px;border-radius:24px;font-size:15px;z-index:60;box-shadow:var(--shadow);max-width:90%}

/* ---- Dil seçici ---- */
.lang-switch{display:flex;gap:6px;justify-content:center;margin-bottom:10px}
.lang-switch button{background:#fff;border:1px solid var(--line);border-radius:18px;padding:6px 14px;font-size:14px;color:var(--muted)}
.lang-switch button.on{background:var(--green);border-color:var(--green);color:#fff;font-weight:600}

/* ---- Sağdan-sola (Arapça) ---- */
[dir="rtl"] .card .meta,[dir="rtl"] .count-line{text-align:right}
[dir="rtl"] .warn-box ul{padding-left:0;padding-right:18px}
[dir="rtl"] .toast{direction:rtl}
