:root{
  --bg:#faf8f6; --surface:#ffffff; --ink:#2a2326; --muted:#8a8086; --soft-ink:#5d5358;
  --primary:#7d2748; --primary-d:#601c37; --primary-soft:#f5e6ec;
  --accent:#c08a3e; --ok:#2f8f5b; --ok-soft:#e6f3ec;
  --warn:#c9821f; --warn-soft:#fbf0dd; --bad:#c0392b; --bad-soft:#fae9e7;
  --bad-d:#8e1d12; --bad-d-soft:#f3d6d2;
  --line:#ece4e0; --line-2:#e2d9d4;
  --shadow:0 1px 2px rgba(42,35,38,.04),0 2px 10px rgba(42,35,38,.035);
  --ring:0 0 0 3px rgba(125,39,72,.12);
  --radius:12px; --radius-sm:8px;
  --sidebar:200px;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{font-family:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;background:var(--bg);color:var(--ink);font-size:13.5px;line-height:1.45}
button{font-family:inherit;cursor:pointer}
input,select,textarea{font-family:inherit}
h1,h2,h3{margin:0}
a{color:var(--primary)}

/* ---------- Unified form controls (minimal) ---------- */
.field input,.field select,.field textarea,
.toolbar input,.toolbar select,
input.search,.qty{
  width:100%;padding:8px 10px;border:1px solid var(--line-2);border-radius:var(--radius-sm);
  background:#fff;outline:none;font-size:13px;color:var(--ink);transition:border-color .15s, box-shadow .15s;
}
.field textarea{line-height:1.5}
.field input:focus,.field select:focus,.field textarea:focus,
.toolbar input:focus,.toolbar select:focus,input.search:focus,.qty:focus{border-color:var(--primary);box-shadow:var(--ring)}
.field.invalid input,.field.invalid select{border-color:var(--bad);background:var(--bad-soft)}
select{appearance:none;-webkit-appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);background-position:calc(100% - 15px) 52%,calc(100% - 10px) 52%;background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-right:28px}

/* ---------- Login ---------- */
#login{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:linear-gradient(160deg,#7d2748,#3d1424);padding:20px}
.login-card{background:var(--surface);border-radius:18px;padding:36px 34px;width:100%;max-width:360px;box-shadow:0 24px 60px rgba(0,0,0,.28)}
.brand{font-family:'Fraunces',serif;font-size:26px;font-weight:600;color:var(--primary);letter-spacing:.3px}
.brand small{display:block;font-family:'Inter';font-size:10.5px;font-weight:600;letter-spacing:2.5px;text-transform:uppercase;color:var(--accent);margin-top:3px}
.login-card p.sub{color:var(--muted);margin:8px 0 24px;font-size:13px}
.field{margin-bottom:12px}
.field label{display:block;font-size:11.5px;font-weight:600;color:var(--soft-ink);margin-bottom:5px}
.field label .req{color:var(--bad)}
.login-hint{margin-top:18px;font-size:12px;color:var(--muted);text-align:center;background:#faf7f5;padding:10px;border-radius:var(--radius-sm)}

/* ---------- Buttons (minimal) ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:9px 15px;border:1px solid transparent;border-radius:9px;font-weight:600;font-size:13px;background:var(--primary);color:#fff;transition:.15s;text-decoration:none;line-height:1.2}
.btn:hover{background:var(--primary-d)}
.btn.full{width:100%}
.btn.ghost{background:#fff;color:var(--ink);border-color:var(--line-2)}
.btn.ghost:hover{background:#faf7f5;border-color:var(--muted)}
.btn.sm{padding:6px 11px;font-size:12.5px;border-radius:8px}
.btn.ok{background:var(--ok)} .btn.ok:hover{filter:brightness(.93)}
.btn.danger{background:var(--bad)} .btn.danger:hover{filter:brightness(.93)}

/* ---------- App layout ---------- */
.sidebar{position:fixed;top:0;left:0;bottom:0;width:var(--sidebar);background:#2a1620;color:#f3e7ec;display:flex;flex-direction:column;padding:16px 10px;overflow:auto}
.sidebar::-webkit-scrollbar{width:6px}
.sidebar::-webkit-scrollbar-thumb{background:rgba(255,255,255,.12);border-radius:6px}
.sidebar .brand{color:#fff;font-size:18px;padding:2px 10px 16px;letter-spacing:.2px}
.sidebar .brand small{color:var(--accent);font-size:9.5px;letter-spacing:2px}
.nav{flex:1;overflow:auto}
.nav a,.nav button{position:relative;display:flex;align-items:center;gap:10px;width:100%;text-align:left;background:transparent;border:none;color:#c8b2bd;padding:7px 10px;border-radius:8px;font-size:12.5px;font-weight:500;margin-bottom:1px;text-decoration:none;transition:background .12s,color .12s}
.nav a:hover,.nav button:hover{background:rgba(255,255,255,.06);color:#fff}
.nav a.active{background:rgba(255,255,255,.10);color:#fff;font-weight:600}
.nav a.active::before{content:"";position:absolute;left:0;top:18%;bottom:18%;width:3px;border-radius:3px;background:var(--accent)}
.nav a .ic,.nav button .ic{font-size:14px;width:18px;text-align:center;color:#a98a98;opacity:.95}
.nav a.active .ic,.nav a:hover .ic,.nav button:hover .ic{color:#fff}
.nav .sep{font-size:9.5px;letter-spacing:1.6px;text-transform:uppercase;color:#7a5868;padding:14px 11px 5px}
.nav .subnav{margin:1px 0 4px}
.nav .subnav a{padding:6px 10px 6px 40px;font-size:12px;color:#b89aa6;font-weight:500}
.nav .subnav a.active{background:rgba(255,255,255,.08);color:#fff}
.nav .subnav a.active::before{display:none}
.userbox{border-top:1px solid rgba(255,255,255,.08);padding-top:10px;margin-top:8px}
.userbox .who{padding:3px 10px 7px;font-size:12.5px}
.userbox .who b{display:block;color:#fff;font-weight:600}
.userbox .who span{color:#a98a98;font-size:11.5px}
.main{margin-left:var(--sidebar);padding:20px 24px 48px;max-width:1280px}
.page-head{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:16px;gap:14px;flex-wrap:wrap}
.page-head h1{font-family:'Fraunces',serif;font-size:21px;font-weight:600;letter-spacing:.2px}
.page-head p{color:var(--muted);margin:2px 0 0;font-size:12.5px}

/* cards / grid */
.grid{display:grid;gap:12px}
.cols-4{grid-template-columns:repeat(4,1fr)}
.cols-3{grid-template-columns:repeat(3,1fr)}
.cols-2{grid-template-columns:repeat(2,1fr)}
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:16px;box-shadow:var(--shadow)}
.card h3{font-size:14px;font-weight:600;margin-bottom:12px;display:flex;align-items:center;gap:8px}
.stat{padding:14px 16px}
.stat .lbl{font-size:10.5px;color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:.6px}
.stat .val{font-size:22px;font-weight:700;margin-top:5px;font-family:'Fraunces',serif}
.stat .val.sm{font-size:17px}
.stat.bad .val{color:var(--bad)} .stat.ok .val{color:var(--ok)} .stat.warn .val{color:var(--warn)}

/* table */
.tbl-wrap{overflow:auto;border:1px solid var(--line);border-radius:var(--radius);background:#fff}
table{width:100%;border-collapse:collapse;font-size:13px}
th{text-align:left;padding:9px 12px;background:#faf6f4;color:var(--muted);font-weight:600;font-size:10.5px;text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--line);white-space:nowrap}
td{padding:9px 12px;border-bottom:1px solid var(--line);vertical-align:middle}
tr:last-child td{border-bottom:none}
tr.clickable{cursor:pointer}
tr.clickable:hover td{background:#fdf8fa}
.right{text-align:right} .center{text-align:center}
.num{font-variant-numeric:tabular-nums}

/* badge / pill */
.badge{display:inline-flex;align-items:center;gap:5px;padding:2px 9px;border-radius:30px;font-size:11.5px;font-weight:600}
.b-ok{background:var(--ok-soft);color:var(--ok)}
.b-warn{background:var(--warn-soft);color:var(--warn)}
.b-bad{background:var(--bad-soft);color:var(--bad)}
.b-badd{background:var(--bad-d-soft);color:var(--bad-d)}
.b-neutral{background:#eef0f2;color:#5b6470}
.b-info{background:var(--primary-soft);color:var(--primary)}

.toolbar{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:14px}
.toolbar input,.toolbar select{width:auto}
.search{flex:1;min-width:200px}
.spacer{flex:1}

/* modal */
.modal-bg{position:fixed;inset:0;background:rgba(42,22,32,.45);backdrop-filter:blur(2px);display:none;align-items:center;justify-content:center;padding:24px 14px;z-index:50;overflow:auto}
.modal-bg.show{display:flex}
.modal{background:#fff;border-radius:14px;width:100%;max-width:540px;box-shadow:0 24px 70px rgba(0,0,0,.3);margin:auto}
.modal.wide{max-width:820px}
.modal.xwide{max-width:1000px}
/* Boyutlandırılabilir modal (alt köşeden) — satış modalı */
.modal.resizable{display:flex;flex-direction:column;resize:both;overflow:hidden;
  width:min(1080px,96vw);height:84vh;min-width:360px;min-height:340px;max-width:96vw;max-height:94vh}
.modal.resizable .modal-head{flex:0 0 auto}
.modal.resizable .modal-body{flex:1 1 auto;overflow:auto;max-height:none}
.modal.resizable::-webkit-resizer{background:transparent}
.modal-head{display:flex;align-items:center;justify-content:space-between;padding:13px 18px;border-bottom:1px solid var(--line)}
.modal-head h2{font-family:'Fraunces',serif;font-size:17px;font-weight:600}
.modal-body{padding:16px 18px}
.modal-foot{display:flex;gap:8px;justify-content:flex-end;padding:13px 18px;border-top:1px solid var(--line);background:#faf7f5;border-radius:0 0 14px 14px;flex-wrap:wrap}
.x{background:none;border:none;font-size:21px;color:var(--muted);line-height:1;padding:2px 6px;text-decoration:none;border-radius:6px}
.x:hover{background:#f0eae7;color:var(--ink)}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.row3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}
.help{font-size:11.5px;color:var(--muted);margin-top:5px;line-height:1.5}
.err-msg{color:var(--bad);font-size:12px;margin-top:5px}

/* misc */
.empty{text-align:center;padding:44px 20px;color:var(--muted)}
.empty .big{font-size:34px;margin-bottom:8px;opacity:.7}
.scorebar{height:7px;background:#eee;border-radius:6px;overflow:hidden;margin-top:6px}
.scorebar i{display:block;height:100%;border-radius:6px}
.kv{display:flex;justify-content:space-between;align-items:center;padding:7px 0;border-bottom:1px dashed var(--line);font-size:13px;gap:10px}
.kv:last-child{border:none}
.kv span{color:var(--muted)}
.kv b{font-weight:600;color:var(--ink)}
.flash{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);color:#fff;padding:16px 26px;border-radius:14px;font-weight:600;font-size:15px;max-width:90%;text-align:center;line-height:1.45;box-shadow:0 20px 60px rgba(0,0,0,.38);z-index:200;background:#2a1620;cursor:pointer}
.flash.bad{background:var(--bad)}
.flash.warn{background:var(--warn)}
.flash-ov{position:fixed;inset:0;background:rgba(42,22,32,.25);z-index:199}
.section-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--primary);margin:14px 0 8px}
.section-title:first-child{margin-top:0}
.pill-toggle{display:inline-flex;background:#f0eae7;border-radius:9px;padding:3px;flex-wrap:wrap}
.pill-toggle a,.pill-toggle button{border:none;background:transparent;padding:7px 13px;border-radius:7px;font-weight:600;font-size:12.5px;color:var(--muted);text-decoration:none;transition:.12s}
.pill-toggle a.on,.pill-toggle button.on{background:#fff;color:var(--primary);box-shadow:var(--shadow)}
.tag{font-size:10.5px;background:#f0eae7;color:var(--muted);padding:2px 7px;border-radius:5px;font-weight:600}
.lnk{color:var(--primary);font-weight:600;cursor:pointer;text-decoration:none;border-bottom:1px dotted var(--primary)}
.lnk:hover{opacity:.8}
.barcode-box{display:flex;gap:8px;align-items:center;background:var(--primary-soft);border:1.5px dashed var(--primary);border-radius:10px;padding:10px}
.barcode-box input{flex:1;border:1px solid transparent;background:#fff;padding:10px 12px;border-radius:7px;font-size:15px;outline:none;letter-spacing:.5px}
.barcode-box input:focus{border-color:var(--primary)}
.qty{width:60px;padding:6px;text-align:center}

/* ---- Anlık arama önerileri (açılır liste) ---- */
#bcSuggest,#custSuggest,#retNewSuggest,#colSuggest{background:#fff;border:1px solid var(--line-2);border-radius:var(--radius-sm);box-shadow:0 6px 20px rgba(42,35,38,.10);overflow:hidden}
#bcSuggest:empty,#custSuggest:empty,#retNewSuggest:empty,#colSuggest:empty{display:none}
.em-res{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:9px 11px;border-bottom:1px solid var(--line);cursor:pointer;font-size:13px}
.em-res:last-child{border-bottom:none}
.em-res:hover,.em-res:focus{background:var(--primary-soft)}
.em-res span{color:var(--ink)}              /* öneri yazısı net (soluk değil) */
.em-res b{color:var(--primary);white-space:nowrap}

/* ---- Sepet satırı (gelişmiş fiyat/adet alanı) ---- */
.cart-line{display:flex;align-items:flex-end;gap:10px;padding:10px;border:1px solid var(--line);border-radius:10px;margin-bottom:8px;background:#fff}
.cart-line .nm{flex:1;min-width:0}
.cart-line .nm b{display:block;font-size:13.5px;line-height:1.3}
.cart-line .cl-bc{font-size:11px;color:var(--muted);margin-top:1px}
.cart-line .cl-field{margin:0}
.cart-line .cl-lbl{display:block;font-size:9.5px;color:var(--muted);text-transform:uppercase;letter-spacing:.4px;margin-bottom:3px;text-align:center}
.cart-line .cl-inp{width:96px;padding:7px 9px;border:1px solid var(--line-2);border-radius:8px;text-align:right;font-size:14px;font-weight:600;outline:none;color:var(--ink);background:#fff}
.cart-line .cl-inp:focus{border-color:var(--primary);box-shadow:var(--ring)}
.cart-line .cl-qty{width:58px;text-align:center}
.cart-line .cl-total{text-align:right;min-width:92px}
.cart-line .cl-total b{font-size:15px}
.cart-line .cl-rm{align-self:center}
@media(max-width:600px){
  .cart-line{flex-wrap:wrap}
  .cart-line .nm{flex-basis:100%}
  .cart-line .cl-total{min-width:0;flex:1}
}

@media(max-width:920px){
  :root{--sidebar:58px}
  .sidebar{padding:12px 6px}
  .sidebar .brand{font-size:0;padding:4px 0 12px}
  .sidebar .brand small,.nav a span.t,.nav button span.t,.nav .sep,.userbox .who,.userbox a span.t{display:none}
  .nav a,.nav button,.userbox a{justify-content:center;padding:9px 0}
  .nav a.active::before{display:none}
  .nav .subnav a{padding:9px 0}
  .main{padding:14px}
  .cols-4{grid-template-columns:repeat(2,1fr)} .cols-3,.cols-2{grid-template-columns:1fr}
  .row2,.row3{grid-template-columns:1fr}
  .modal.xwide,.modal.wide{max-width:100%}
}
@media(max-width:600px){
  .main{padding:10px}
  .page-head h1{font-size:18px}
  .modal-bg{padding:8px 6px}
  .modal-body{padding:12px}
  .toolbar{gap:6px}
  .btn{padding:9px 13px}
}
