@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@300;400;500;600;700;800&family=JetBrains+Mono:wght@400;500&display=swap');

*{box-sizing:border-box;margin:0;padding:0}
:root{
  --bg:#f0f2f5;
  --surface:#ffffff;
  --surface2:#f7f8fa;
  --surface3:#eef0f4;
  --border:#e4e8ee;
  --border2:#cdd3db;
  --text:#111827;
  --text2:#4b5563;
  --text3:#9ca3af;
  --brand:#1847a8;
  --brand2:#4f46e5;
  --brand3:#0ea5e9;
  --brand-light:#eef2ff;
  --brand-mid:#c7d7fd;
  --ok:#059669;--ok-bg:#ecfdf5;
  --warn:#d97706;--warn-bg:#fffbeb;
  --err:#dc2626;--err-bg:#fef2f2;
  --sidebar:220px;--top:52px;--r:12px;--rs:8px;
  --shadow-xs:0 1px 2px rgba(0,0,0,.06);
  --shadow-sm:0 2px 8px rgba(0,0,0,.08);
  --shadow-md:0 4px 20px rgba(0,0,0,.1);
  --shadow-lg:0 8px 40px rgba(0,0,0,.14);
}
body{font-family:'Plus Jakarta Sans',system-ui,sans-serif;background:var(--bg);color:var(--text);font-size:14px;overflow-x:hidden;-webkit-font-smoothing:antialiased}

/* ══════════════════════════════════════════════
   LOGIN PAGE
══════════════════════════════════════════════ */
#login-page{display:flex;width:100vw;height:100vh;overflow:hidden}

.lw-left{flex:1;position:relative;overflow:hidden;background:#07101f}
.lw-bg{position:absolute;inset:0;background:url('/img/bg.jpg') center/cover no-repeat;opacity:.35}
.lw-ov{position:absolute;inset:0;background:linear-gradient(135deg,rgba(7,16,31,.97) 0%,rgba(14,40,100,.88) 50%,rgba(24,71,168,.75) 100%)}
.lw-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);background-size:40px 40px;mask-image:radial-gradient(ellipse 80% 80% at 50% 50%,black 40%,transparent 100%)}
#nc{position:absolute;inset:0;width:100%;height:100%;opacity:.6}

.lw-brand{position:absolute;bottom:0;left:0;right:0;padding:48px;z-index:2;animation:fadeUp .8s ease-out both;background:linear-gradient(to top,rgba(7,16,31,.95) 0%,rgba(7,16,31,.6) 60%,transparent 100%)}
.lw-badge-inline{display:inline-flex;align-items:center;gap:7px;background:rgba(255,255,255,.1);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.15);border-radius:20px;padding:5px 12px;font-size:11px;font-weight:600;color:rgba(255,255,255,.85);margin-bottom:14px;width:fit-content}
.lw-dot{width:6px;height:6px;border-radius:50%;background:#22c55e;flex-shrink:0;animation:pulse 2s ease-in-out infinite}
@keyframes pulse{0%,100%{box-shadow:0 0 0 0 rgba(34,197,94,.6)}50%{box-shadow:0 0 0 6px rgba(34,197,94,0)}}
.lw-bname{font-size:24px;font-weight:800;color:#fff;letter-spacing:-.04em;line-height:1.15;margin-bottom:6px}
.lw-btag{font-size:12px;color:rgba(255,255,255,.5);text-transform:uppercase;letter-spacing:.1em;font-weight:500}

.lw-right{width:440px;min-width:400px;background:var(--surface);display:flex;flex-direction:column;justify-content:center;padding:52px 48px;position:relative;z-index:10}
.lw-right::before{content:'';position:absolute;top:0;left:0;width:1px;height:100%;background:linear-gradient(180deg,transparent,var(--brand) 30%,var(--brand2) 70%,transparent)}

/* lw-logo-right removed */

.lw-title{font-size:26px;font-weight:800;color:var(--text);letter-spacing:-.05em;line-height:1.15;margin-bottom:4px;animation:fadeUp .5s .1s ease-out both}
.lw-sub{font-size:13px;color:var(--text3);margin-bottom:32px;animation:fadeUp .5s .15s ease-out both;font-weight:400}
.lw-err{background:var(--err-bg);border:1px solid #fca5a5;color:var(--err);border-radius:var(--rs);padding:10px 14px;font-size:12px;margin-bottom:16px;display:none}
.lw-err.show{display:block}

.lw-field{display:flex;flex-direction:column;gap:5px;margin-bottom:14px;animation:fadeUp .5s ease-out both}
.lw-field:nth-child(5){animation-delay:.22s}.lw-field:nth-child(6){animation-delay:.28s}
.lw-label{font-size:11px;font-weight:700;color:var(--text2);letter-spacing:.06em;text-transform:uppercase}
.lw-iw{position:relative}
.lw-inp{width:100%;height:48px;padding:0 14px 0 46px;border:1.5px solid var(--border);border-radius:10px;font-size:14px;color:var(--text);background:var(--surface2);outline:none;font-family:inherit;transition:all .18s;font-weight:500}
.lw-inp:focus{border-color:var(--brand);background:#fff;box-shadow:0 0 0 3px rgba(24,71,168,.1)}
.lw-ico{position:absolute;left:15px;top:50%;transform:translateY(-50%);color:var(--text3);pointer-events:none}
.lw-eye{position:absolute;right:13px;top:50%;transform:translateY(-50%);color:var(--text3);cursor:pointer;background:none;border:none;padding:2px;display:flex;transition:color .15s}
.lw-eye:hover{color:var(--brand)}

.lw-btn{width:100%;height:50px;background:linear-gradient(135deg,var(--brand),var(--brand2));color:#fff;border:none;border-radius:10px;font-size:14px;font-weight:700;cursor:pointer;font-family:inherit;margin-top:8px;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:10px;position:relative;overflow:hidden;letter-spacing:-.01em;animation:fadeUp .5s .35s ease-out both}
.lw-btn::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.15),transparent);opacity:0;transition:.2s}
.lw-btn:hover{transform:translateY(-2px);box-shadow:0 12px 32px rgba(24,71,168,.4)}
.lw-btn:hover::before{opacity:1}
.lw-btn:active{transform:translateY(0)}
.lw-arr{transition:transform .2s}.lw-btn:hover .lw-arr{transform:translateX(4px)}

.lw-foot{font-size:11px;color:var(--text3);text-align:center;margin-top:24px;animation:fadeUp .5s .5s ease-out both;display:flex;align-items:center;justify-content:center;gap:5px}
@keyframes fadeUp{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}

/* ══════════════════════════════════════════════
   APP SHELL
══════════════════════════════════════════════ */
#wrap{display:flex;min-height:100vh}

aside{
  width:var(--sidebar);
  background:linear-gradient(180deg,#080f1e 0%,#0d1626 40%,#0a1220 100%);
  border-right:none;
  display:flex;flex-direction:column;
  position:fixed;top:0;left:0;height:100vh;z-index:100;
}

#main{margin-left:var(--sidebar);flex:1;display:flex;flex-direction:column}

header{
  height:var(--top);
  background:var(--surface);
  border-bottom:1px solid var(--border);
  display:flex;align-items:center;justify-content:space-between;
  padding:0 24px;position:sticky;top:0;z-index:50;
  box-shadow:var(--shadow-xs);
}

#page{flex:1;padding:22px 24px;overflow-y:auto;display:flex;flex-direction:column;min-height:0}

/* ══════════════════════════════════════════════
   SIDEBAR — Modern 2025
══════════════════════════════════════════════ */
aside{
  width:var(--sidebar);
  background:linear-gradient(200deg,#0c1322 0%,#111827 50%,#0c1322 100%);
  border-right:1px solid rgba(255,255,255,.05);
  display:flex;flex-direction:column;
  position:fixed;top:0;left:0;height:100vh;
  z-index:20;overflow:hidden;
  box-shadow:4px 0 32px rgba(0,0,0,.3);
}
.s-logo{padding:20px 16px 16px;display:flex;flex-direction:column;align-items:flex-start;border-bottom:1px solid rgba(255,255,255,.06)}
.s-logo img{width:100%;max-width:100%;height:auto;object-fit:contain;object-position:left;filter:brightness(0) invert(1);opacity:.92;display:block}
.s-logo-div{width:100%;height:1px;background:linear-gradient(90deg,rgba(148,163,184,.2) 0%,transparent 100%);margin:12px 0 10px}
.s-logo-text{width:100%;overflow:hidden}
.s-ln{font-size:13px;font-weight:700;color:rgba(255,255,255,.9);letter-spacing:-.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.3;margin-bottom:3px}
.s-ls{font-size:10px;color:rgba(255,255,255,.32);font-weight:500;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;display:flex;align-items:center;gap:5px}
.s-ls::before{content:'';width:5px;height:5px;border-radius:50%;background:linear-gradient(135deg,#38bdf8,#818cf8);flex-shrink:0;display:inline-block;animation:sbDot 2s ease-in-out infinite alternate}
@keyframes sbDot{from{opacity:.4;transform:scale(.8)}to{opacity:1;transform:scale(1.2);box-shadow:0 0 6px #818cf8}}
.s-who{padding:12px 16px 14px;border-bottom:1px solid rgba(255,255,255,.06);display:flex;align-items:center;gap:10px}
.s-who-avatar{width:34px;height:34px;border-radius:10px;flex-shrink:0;background:linear-gradient(135deg,#1847a8,#4f46e5);display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:800;color:#fff;box-shadow:0 2px 8px rgba(24,71,168,.35)}
.s-who-info{flex:1;min-width:0;overflow:hidden}
.s-who-name{font-size:13px;font-weight:700;color:rgba(255,255,255,.88);letter-spacing:-.02em;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.s-who-role{font-size:10px;color:rgba(255,255,255,.3);margin-top:2px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.s-nav{padding:10px;flex:1;overflow-y:auto;scrollbar-width:none}
.s-nav::-webkit-scrollbar{display:none}
.s-lbl{font-size:9px;font-weight:800;color:rgba(255,255,255,.18);text-transform:uppercase;letter-spacing:.16em;padding:16px 10px 6px;white-space:nowrap;overflow:hidden}
.s-ni{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:11px;font-size:13.5px;font-weight:500;color:rgba(255,255,255,.42);cursor:pointer;position:relative;overflow:hidden;transition:all .2s cubic-bezier(.4,0,.2,1);margin-bottom:2px;user-select:none;white-space:nowrap}
.s-ni svg{width:18px;height:18px;flex-shrink:0;transition:transform .2s cubic-bezier(.4,0,.2,1)}
.s-ni:hover{color:rgba(255,255,255,.8);background:rgba(255,255,255,.06)}
.s-ni:hover svg{transform:scale(1.12)}
.s-ni:active{transform:scale(.97)}
.s-ni.on{color:#fff;background:linear-gradient(135deg,rgba(24,71,168,.7),rgba(79,70,229,.5));box-shadow:0 2px 16px rgba(24,71,168,.3),inset 0 1px 0 rgba(255,255,255,.1);font-weight:700}
.s-ni.on svg{transform:scale(1.05)}
.s-ni.on::after{content:'';position:absolute;left:0;top:20%;bottom:20%;width:3px;border-radius:0 3px 3px 0;background:linear-gradient(180deg,#60a5fa,#818cf8);box-shadow:0 0 8px #60a5fa;animation:sbActive .3s ease both}
@keyframes sbActive{from{opacity:0;transform:scaleY(.4)}to{opacity:1;transform:scaleY(1)}}
.s-badge{margin-left:auto;font-size:10px;font-weight:700;background:linear-gradient(135deg,#1847a8,#4f46e5);color:#fff;border-radius:10px;padding:2px 7px;flex-shrink:0;box-shadow:0 2px 6px rgba(24,71,168,.4)}
.s-foot{padding:12px 12px 16px;border-top:1px solid rgba(255,255,255,.06);display:flex;align-items:center;gap:10px}
.s-foot-avatar{width:34px;height:34px;border-radius:10px;flex-shrink:0;background:linear-gradient(135deg,#1e3a8a,#312e81);display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:800;color:#fff}
.s-foot-info{flex:1;min-width:0;overflow:hidden}
.s-foot-name{font-size:12px;font-weight:600;color:rgba(255,255,255,.8);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.s-foot-logout{width:28px;height:28px;border-radius:8px;flex-shrink:0;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08);display:flex;align-items:center;justify-content:center;cursor:pointer;color:rgba(255,255,255,.4);transition:all .15s}
.s-foot-logout:hover{background:rgba(239,68,68,.15);color:#f87171;border-color:rgba(239,68,68,.3)}

/* ══════════════════════════════════════════════
   BUTTONS
══════════════════════════════════════════════ */
.btn{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border-radius:var(--rs);font-size:13px;font-weight:600;cursor:pointer;border:none;transition:all .14s;font-family:inherit;white-space:nowrap;letter-spacing:-.01em}
.btn:active{transform:scale(.97)}.btn:disabled{opacity:.45;cursor:not-allowed;transform:none!important}

.bp{background:linear-gradient(135deg,var(--brand),var(--brand2));color:#fff;box-shadow:0 2px 8px rgba(24,71,168,.3)}
.bp:hover{opacity:.92;transform:translateY(-1px);box-shadow:0 6px 18px rgba(24,71,168,.35)}

.bs{background:var(--surface);color:var(--text2);border:1.5px solid var(--border2);box-shadow:var(--shadow-xs)}
.bs:hover{background:var(--surface2);border-color:var(--border2);color:var(--text)}

.bg{background:transparent;color:var(--text2);padding:6px 8px}
.bg:hover{background:var(--surface3);color:var(--text)}

.bi{width:32px;height:32px;padding:0;justify-content:center;border-radius:7px}

.bd{background:transparent;color:var(--text3);padding:6px 8px}
.bd:hover{background:var(--err-bg);color:var(--err)}

/* ══════════════════════════════════════════════
   CARDS & STAT CARDS
══════════════════════════════════════════════ */
.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);box-shadow:var(--shadow-xs)}

.sg{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:20px}

.sc{
  background:var(--surface);border:1px solid var(--border);
  border-radius:var(--r);padding:16px 20px;
  transition:all .15s;box-shadow:var(--shadow-xs);
  position:relative;overflow:hidden;
}
.sc:hover{box-shadow:var(--shadow-sm);transform:translateY(-1px)}
.sc::after{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--brand),var(--brand2));opacity:0;transition:.15s}
.sc:hover::after{opacity:.6}

.sl{font-size:11px;color:var(--text3);margin-bottom:8px;display:flex;align-items:center;gap:5px;font-weight:600;text-transform:uppercase;letter-spacing:.05em}
.sv{font-size:28px;font-weight:800;color:var(--text);line-height:1;letter-spacing:-.05em}
.sv.g{color:var(--ok)}.sv.m{color:var(--text3)}

/* ══════════════════════════════════════════════
   TABLE
══════════════════════════════════════════════ */
.tb{display:flex;align-items:center;gap:8px;padding:10px 16px;border-bottom:1px solid var(--border);background:var(--surface2)}

.sw{position:relative;flex:1;max-width:260px}
.sw svg{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--text3)}
.si{
  width:100%;height:32px;padding:0 10px 0 32px;
  border:1.5px solid var(--border);border-radius:7px;
  font-size:12px;color:var(--text);background:var(--surface);
  outline:none;font-family:inherit;font-weight:500;
  transition:border .14s;
}
.si:focus{border-color:var(--brand);box-shadow:0 0 0 2px rgba(24,71,168,.1)}

table{width:100%;border-collapse:collapse}
thead tr{background:var(--surface2)}
th{
  text-align:left;font-size:10px;font-weight:700;color:var(--text3);
  text-transform:uppercase;letter-spacing:.08em;padding:9px 14px;
  border-bottom:1px solid var(--border);white-space:nowrap;
}
tbody tr{border-bottom:1px solid var(--border);transition:background .1s}
tbody tr:last-child{border-bottom:none}
tbody tr:hover{background:rgba(24,71,168,.025)}
td{padding:10px 14px;font-size:13px;vertical-align:middle}

.av{width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;flex-shrink:0}
.uc{display:flex;align-items:center;gap:10px}
.un{font-weight:600;color:var(--text)}.ue{font-size:11px;color:var(--text3)}
.b{display:inline-flex;align-items:center;padding:3px 9px;border-radius:20px;font-size:11px;font-weight:600}
.bak{background:var(--ok-bg);color:var(--ok)}.bpa{background:var(--surface2);color:var(--text2)}.bas{background:var(--warn-bg);color:var(--warn)}

/* ══════════════════════════════════════════════
   FORM INPUTS
══════════════════════════════════════════════ */
.fi{display:flex;flex-direction:column;gap:4px}
.fi label{font-size:11px;font-weight:700;color:var(--text2);display:flex;align-items:center;gap:4px;text-transform:uppercase;letter-spacing:.05em}
.req{color:var(--err)}
.inp,.sel{
  border:1.5px solid var(--border);border-radius:var(--rs);
  padding:0 10px;height:36px;font-size:13px;color:var(--text);
  background:var(--surface);outline:none;font-family:inherit;
  width:100%;transition:border .14s;font-weight:500;
}
.inp:focus,.sel:focus{border-color:var(--brand);box-shadow:0 0 0 3px rgba(24,71,168,.08)}
.fh{font-size:11px;color:var(--text3);display:flex;align-items:center;gap:3px}
.pw{position:relative}.pw .inp{padding-right:36px}
.pe{position:absolute;right:10px;top:50%;transform:translateY(-50%);cursor:pointer;color:var(--text3);background:none;border:none;padding:0;display:flex}
.pe:hover{color:var(--brand)}
.fg{display:grid;gap:14px}.fg2{grid-template-columns:1fr 1fr}.csa{grid-column:1/-1}
.sth{font-size:10px;font-weight:700;color:var(--text3);text-transform:uppercase;letter-spacing:.08em;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:6px}

/* ══════════════════════════════════════════════
   DRAWER
══════════════════════════════════════════════ */
.ov{position:fixed;inset:0;background:rgba(7,16,31,.4);z-index:200;display:none;justify-content:flex-end;backdrop-filter:blur(2px)}
.ov.open{display:flex}
.dr{width:100%;max-width:700px;background:var(--surface);display:flex;flex-direction:column;height:100%;animation:slideIn .2s ease-out;box-shadow:-8px 0 40px rgba(0,0,0,.15)}
@keyframes slideIn{from{opacity:0;transform:translateX(32px)}to{opacity:1;transform:translateX(0)}}
.dh{padding:16px 24px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;flex-shrink:0;background:var(--surface2)}
.dt{font-size:14px;font-weight:700;display:flex;align-items:center;gap:8px;letter-spacing:-.02em}
.ds{font-size:12px;color:var(--text3);margin-top:1px}
.db{flex:1;overflow-y:auto;padding:24px}
.df{padding:14px 24px;border-top:1px solid var(--border);background:var(--surface2);display:flex;align-items:center;justify-content:space-between;flex-shrink:0}

/* ══════════════════════════════════════════════
   PERM, ALERT, TOAST, TABS, MISC
══════════════════════════════════════════════ */
.pr{display:flex;align-items:center;gap:12px;padding:9px 12px;border:1px solid var(--border);border-radius:var(--rs);margin-bottom:6px;background:var(--surface2)}
.pm{flex:0 0 110px}.pmn{font-size:12px;font-weight:600}.pmd{font-size:10px;color:var(--text3)}
.pc{display:flex;align-items:center;gap:14px;flex:1}
.pci{display:flex;align-items:center;gap:5px;cursor:pointer;user-select:none}
.pci input{accent-color:var(--brand);width:13px;height:13px;cursor:pointer}
.pci span{font-size:11px;color:var(--text2)}
.pab{font-size:10px;font-weight:600;padding:3px 8px;border-radius:5px;cursor:pointer;border:none;transition:all .12s}
.pab.on{background:var(--brand-light);color:var(--brand)}.pab.off{background:var(--surface3);color:var(--text2)}
.pab.off:hover{background:var(--brand-light);color:var(--brand)}

.al{padding:10px 14px;border-radius:var(--rs);font-size:12px;margin-bottom:12px;display:none}
.al.show{display:block}
.ale{background:var(--err-bg);border:1px solid #fca5a5;color:var(--err)}

#toast{position:fixed;bottom:24px;right:24px;z-index:999;display:flex;flex-direction:column;gap:8px}
.ti{background:#1e293b;color:#f1f5f9;padding:11px 16px;border-radius:10px;font-size:13px;box-shadow:0 8px 24px rgba(0,0,0,.2);animation:toastIn .2s ease-out;max-width:340px;display:flex;align-items:center;gap:9px;font-weight:500;border:1px solid rgba(255,255,255,.08)}
.ti.ok{background:#064e3b;color:#6ee7b7;border-color:rgba(110,231,183,.2)}
.ti.er{background:#7f1d1d;color:#fca5a5;border-color:rgba(252,165,165,.2)}
@keyframes toastIn{from{opacity:0;transform:translateY(8px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}

.tabs{display:flex;border-bottom:1px solid var(--border);margin-bottom:20px;gap:2px}
.tab{padding:9px 14px;font-size:12px;font-weight:600;color:var(--text3);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;transition:all .12s;user-select:none;display:flex;align-items:center;gap:6px;letter-spacing:-.01em;border-radius:6px 6px 0 0}
.tab:hover{color:var(--text2);background:var(--surface2)}
.tab.on{color:var(--brand);border-bottom-color:var(--brand);font-weight:700;background:var(--brand-light)}

.ml{display:flex;flex-direction:column;gap:5px;margin-top:8px}
.mli{display:flex;align-items:center;gap:8px;padding:9px 12px;background:var(--surface2);border:1px solid var(--border);border-radius:var(--rs);transition:background .1s}
.mli:hover{background:var(--surface3)}
.mlin{flex:1;font-size:13px;color:var(--text);font-weight:500}

.page{display:none;flex-direction:column}.page.active{display:flex;flex-direction:column;min-height:0}
.fade{animation:toastIn .18s ease-out}
.hid{display:none!important}
.emp{text-align:center;padding:60px 20px}
.emp p{color:var(--text3);font-size:13px;margin-top:10px;font-weight:500}

/* ══════════════════════════════════════════════
   TOTALS PANEL (Teklif drawer)
══════════════════════════════════════════════ */
.totals-panel{background:linear-gradient(135deg,#0d1626,#182952);border-radius:var(--r);padding:0;color:#fff;overflow:hidden}
.totals-row{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;border-bottom:1px solid rgba(255,255,255,.06)}
.totals-row:last-child{border-bottom:none}
.totals-lbl{font-size:11px;color:rgba(255,255,255,.45);font-weight:600;letter-spacing:.04em;text-transform:uppercase}
.totals-val{font-size:15px;font-weight:700;color:#fff;letter-spacing:-.03em}
.totals-val.big{font-size:20px;background:linear-gradient(135deg,#93c5fd,#a5b4fc);-webkit-background-clip:text;-webkit-text-fill-color:transparent}
.totals-val.ok{color:#6ee7b7}
.totals-val.warn{color:#fcd34d}
.totals-sub{font-size:10px;color:rgba(255,255,255,.3);margin-top:1px}

/* ══════════════════════════════════════════════
   STAT CARDS improved
══════════════════════════════════════════════ */
.sc .sl svg{opacity:.6}

/* Scrollbar */
::-webkit-scrollbar{width:5px;height:5px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background:var(--border2);border-radius:10px}
::-webkit-scrollbar-thumb:hover{background:var(--text3)}

/* ══════════════════════════════════════════════
   EXTRA POLISH v12+
══════════════════════════════════════════════ */

/* Sidebar noise texture for depth */
aside::after{
  content:'';position:absolute;inset:0;pointer-events:none;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.04'/%3E%3C/svg%3E");
  opacity:.4;z-index:0;
}
.s-logo,.s-nav,.s-user{position:relative;z-index:1}

/* Header subtle bottom gradient */
header::after{content:'';position:absolute;bottom:-1px;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--brand-mid),transparent);opacity:.5}

/* Page section headings */
.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}
.page-title{font-size:18px;font-weight:800;color:var(--text);letter-spacing:-.04em}
.page-sub{font-size:12px;color:var(--text3);margin-top:2px;font-weight:500}

/* Stat card icon area */
.sc-icon{width:36px;height:36px;border-radius:9px;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-bottom:10px}

/* Table row number style */
td:first-child .row-num{
  width:20px;height:20px;border-radius:5px;
  background:var(--surface3);color:var(--text3);
  font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center;
}

/* Filter bar improvements */
.filter-bar{
  display:flex;flex-wrap:wrap;gap:6px;align-items:center;
  padding:10px 14px;background:var(--surface2);
  border-bottom:1px solid var(--border);
}

/* Status badge shimmer effect */
@keyframes shimmer{0%{background-position:-200% 0}100%{background-position:200% 0}}

/* Drawer header gradient */
.dh{background:linear-gradient(135deg,var(--surface2),var(--surface))}

/* Modern number display */
.mono{font-family:'JetBrains Mono',monospace;font-size:12px;letter-spacing:-.02em}

/* Kur/döviz chips */
.kur-chip{
  display:inline-flex;align-items:center;gap:4px;
  padding:2px 8px;border-radius:6px;
  background:var(--surface3);border:1px solid var(--border);
  font-size:11px;font-weight:600;color:var(--text2);
  font-family:'JetBrains Mono',monospace;
}

/* Login right panel top accent */
.lw-right::after{
  content:'';position:absolute;top:0;right:0;left:0;height:3px;
  background:linear-gradient(90deg,var(--brand),var(--brand2),var(--brand3));
}

/* Teklif no badge in drawer */
#t-no-badge{
  font-family:'JetBrains Mono',monospace;font-size:11px;
  background:var(--brand-light);color:var(--brand);
  padding:2px 8px;border-radius:6px;font-weight:700;
  border:1px solid var(--brand-mid);letter-spacing:.02em;
}

/* Responsive sidebar icon only on very small screens */
@media(max-width:900px){
  :root{--sidebar:56px}
  .s-ln,.s-ls,.s-lbl,.s-ni span:not(.s-ni-icon){display:none}
  .s-ni{justify-content:center;padding:10px}
  .s-logo{justify-content:center;padding:14px 8px}
  .s-logo img{max-width:32px}
  .s-logo>div{display:none}
  .s-user{justify-content:center}
  .s-nm,.s-rl{display:none}
}

/* ══════════════════════════════════════════════
   KALEM ROW — Ghost inputs
══════════════════════════════════════════════ */
.kalem-row{transition:background .12s}
.kalem-row td{vertical-align:middle}
.kalem-row:hover{background:rgba(24,71,168,.022)!important}
.kalem-row:hover .ki{border-color:var(--border)!important}

/* Kalem ghost input */
.ki{
  height:32px;width:100%;
  padding:0 8px;
  border:1.5px solid transparent;
  border-radius:7px;
  font-size:12.5px;font-family:inherit;
  color:var(--text);background:transparent;
  outline:none;transition:all .15s;
}
textarea.ki{
  height:auto;padding:5px 8px;
  line-height:1.4;resize:none;
  vertical-align:top;display:block;
}
.ki:hover{border-color:var(--border)}
.ki:focus{
  border-color:var(--brand)!important;
  background:var(--surface)!important;
  box-shadow:0 0 0 3px rgba(24,71,168,.08);
}
.ki::placeholder{color:var(--text3);font-size:11px}

/* Kalem select */
.ks{
  height:32px;width:100%;
  padding:0 6px;
  border:1.5px solid var(--border);
  border-radius:7px;
  font-size:12px;font-family:inherit;font-weight:500;
  color:var(--text);background:var(--surface);
  outline:none;cursor:pointer;
  transition:border .15s;
}
.ks:focus{border-color:var(--brand);box-shadow:0 0 0 3px rgba(24,71,168,.08)}
.ks:hover{border-color:var(--border2)}

/* ── PDF KALEM YÜKLEME ────────────────────────────────────────────────── */
#pdf-drop-zone{pointer-events:none}
.pdf-spinner{
  width:44px;height:44px;border-radius:50%;
  border:3px solid rgba(124,58,237,.15);
  border-top-color:#7c3aed;
  animation:spin .8s linear infinite;
}
@keyframes spin{to{transform:rotate(360deg)}}

#kalem-table-wrap{position:relative}

#pdf-kalem-btn:hover{
  opacity:.9;transform:translateY(-1px);
  box-shadow:0 6px 18px rgba(124,58,237,.35);
}

/* ══════════════════════════════════════════════
   KALEM TOOLBAR
══════════════════════════════════════════════ */
.kalem-toolbar{
  display:flex;align-items:center;gap:10px;
  padding:9px 16px;
  background:var(--surface);
  border-bottom:1px solid var(--border);
  flex-shrink:0;
}
.kalem-toolbar-left{display:flex;align-items:center;gap:8px;flex:1;min-width:0}
.kalem-toolbar-title{font-size:13px;font-weight:700;color:var(--text);letter-spacing:-.02em}
.kalem-count-badge{
  display:inline-flex;align-items:center;
  font-size:10px;font-weight:700;
  background:var(--brand-light);color:var(--brand);
  padding:2px 8px;border-radius:10px;
  border:1px solid var(--brand-mid);
}
.kalem-toolbar-right{display:flex;align-items:center;gap:7px;flex-shrink:0}
.kalem-toolbar-sep{width:1px;height:18px;background:var(--border2)}
.kalem-drop-hint{
  font-size:11px;color:var(--text3);
  display:flex;align-items:center;gap:4px;
  padding-left:2px;white-space:nowrap;
}

/* PDF Yükle butonu — mor, ikincil */
.btn-pdf-yukle{
  display:inline-flex;align-items:center;gap:6px;
  height:32px;padding:0 13px;
  border-radius:var(--rs);font-size:12px;font-weight:600;
  cursor:pointer;white-space:nowrap;user-select:none;
  background:rgba(109,40,217,.08);
  color:#6d28d9;
  border:1.5px solid rgba(109,40,217,.2);
  transition:all .15s;
}
.btn-pdf-yukle:hover{
  background:rgba(109,40,217,.14);
  border-color:rgba(109,40,217,.35);
  box-shadow:0 2px 10px rgba(109,40,217,.18);
  transform:translateY(-1px);
}

/* ══════════════════════════════════════════════
   KALEM EMPTY STATE
══════════════════════════════════════════════ */
.kalem-empty-state{
  display:flex;flex-direction:column;align-items:center;
  padding:40px 20px;text-align:center;
}
.kalem-empty-icon{
  width:64px;height:64px;border-radius:16px;
  background:var(--surface2);border:1.5px solid var(--border);
  display:flex;align-items:center;justify-content:center;
  color:var(--text3);margin-bottom:16px;
}
.kalem-empty-title{
  font-size:14px;font-weight:700;color:var(--text2);
  letter-spacing:-.02em;margin-bottom:5px;
}
.kalem-empty-sub{
  font-size:12px;color:var(--text3);max-width:280px;line-height:1.5;
}

/* ══════════════════════════════════════════════
   DRAWER TABS — Bold colorful segment tabs
══════════════════════════════════════════════ */
.dr-tabs{
  display:flex;align-items:center;gap:5px;
  padding:10px 16px;
  background:var(--surface);
  border-bottom:2px solid var(--border);
  flex-shrink:0;overflow-x:auto;scrollbar-width:none;
  box-shadow:0 1px 0 var(--border);
}
.dr-tabs::-webkit-scrollbar{display:none}

.dr-tab{
  display:inline-flex;align-items:center;gap:6px;
  padding:6px 14px;
  border-radius:8px;
  font-size:12px;font-weight:600;
  color:var(--text3);
  cursor:pointer;
  transition:all .14s;
  white-space:nowrap;
  user-select:none;
  letter-spacing:-.01em;
  border:1.5px solid var(--border);
  background:var(--surface2);
}
.dr-tab:hover{
  color:var(--text);
  background:var(--surface3);
  border-color:var(--border2);
}
/* Active tab — solid colored */
.dr-tab[data-color="blue"].on   { background:#1d4ed8; color:#fff; border-color:#1d4ed8; }
.dr-tab[data-color="violet"].on { background:#6d28d9; color:#fff; border-color:#6d28d9; }
.dr-tab[data-color="amber"].on  { background:#b45309; color:#fff; border-color:#b45309; }
.dr-tab[data-color="teal"].on   { background:#0f766e; color:#fff; border-color:#0f766e; }
.dr-tab[data-color="green"].on  { background:#15803d; color:#fff; border-color:#15803d; }
.dr-tab[data-color="rose"].on   { background:#be123c; color:#fff; border-color:#be123c; }
.dr-tab.on{ font-weight:700; box-shadow:0 2px 8px rgba(0,0,0,.15); }

/* İkon */
.dr-tab svg{ opacity:.5; transition:opacity .14s; flex-shrink:0; }
.dr-tab:hover svg{ opacity:.75; }
.dr-tab.on svg{ opacity:1; }

/* Badge */
.dr-tab-badge{
  display:inline-flex;align-items:center;justify-content:center;
  min-width:16px;height:16px;padding:0 4px;
  border-radius:8px;font-size:9px;font-weight:800;
  line-height:1;margin-left:1px;
}
.dr-tab.on .dr-tab-badge{ background:rgba(255,255,255,.3); color:#fff; }
.dr-tab:not(.on) .dr-tab-badge{ background:var(--brand); color:#fff; }

/* ══════════════════════════════════════════════
   KALEM TABLE — Sticky action column
══════════════════════════════════════════════ */
#t-kalem-tbody tr td:last-child,
#t-kalem-tbody tr td:nth-last-child(2) {
  position:sticky;
  right:0;
  background:inherit;
  z-index:2;
}
#t-kalem-tbody tr:hover td:last-child,
#t-kalem-tbody tr:hover td:nth-last-child(2) {
  background:rgba(24,71,168,.022);
}
/* Sticky action header */
#kalem-table-wrap thead th:last-child,
#kalem-table-wrap thead th:nth-last-child(2) {
  position:sticky;
  right:0;
  background:#f8fafc;
  z-index:3;
}
/* Shadow on sticky col to indicate scrollability */
#kalem-table-wrap{
  overflow-x:auto;
}
