/* GAZE PORTAL — mobil öncelikli, yumuşak/cam görünüm. Satır içi stil yok (CSP: style-src 'self'). */
:root{
  --bg:#f3f4fa;--bg-glow1:rgba(124,108,255,.18);--bg-glow2:rgba(56,189,248,.14);
  --surface:rgba(255,255,255,.78);--surface-solid:#fff;--surface-2:rgba(14,18,32,.035);
  --ink:#0e1220;--ink-2:#3a4052;--muted:#6b7286;--line:rgba(14,18,32,.08);--line-2:rgba(14,18,32,.14);
  --brand:#5b5bf0;--brand-2:#8b5cf6;--brand-ink:#fff;--brand-soft:rgba(91,91,240,.10);
  --ok:#0f9f6e;--ok-soft:rgba(15,159,110,.12);--err:#e5384f;--err-soft:rgba(229,56,79,.11);
  --warn:#b7791f;--warn-soft:rgba(183,121,31,.12);
  --shadow:0 1px 2px rgba(14,18,32,.04),0 8px 28px rgba(14,18,32,.07);
  --shadow-lg:0 24px 60px rgba(14,18,32,.18);
  --r:20px;--r-sm:12px;--ease:cubic-bezier(.2,.8,.2,1);
  --font:-apple-system,BlinkMacSystemFont,"SF Pro Text","Inter","Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
}
@media (prefers-color-scheme:dark){:root{
  --bg:#090b12;--bg-glow1:rgba(124,108,255,.20);--bg-glow2:rgba(45,212,191,.10);
  --surface:rgba(22,26,40,.72);--surface-solid:#151927;--surface-2:rgba(255,255,255,.04);
  --ink:#eef0f7;--ink-2:#c4c8d6;--muted:#8b91a7;--line:rgba(255,255,255,.08);--line-2:rgba(255,255,255,.14);
  --brand:#8c8cff;--brand-2:#b18cff;--brand-ink:#0b0d16;--brand-soft:rgba(140,140,255,.14);
  --ok:#3ddc97;--ok-soft:rgba(61,220,151,.13);--err:#ff6b81;--err-soft:rgba(255,107,129,.13);
  --warn:#f2c14e;--warn-soft:rgba(242,193,78,.13);
  --shadow:0 1px 0 rgba(255,255,255,.04) inset,0 10px 30px rgba(0,0,0,.35);--shadow-lg:0 30px 80px rgba(0,0,0,.6);
}}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:76px}
body{margin:0;min-height:100vh;color:var(--ink);background:var(--bg);font:16px/1.5 var(--font);
  -webkit-font-smoothing:antialiased;overflow-x:hidden}
body::before{content:"";position:fixed;inset:-20vmax;z-index:-1;pointer-events:none;
  background:radial-gradient(40vmax 40vmax at 15% 10%,var(--bg-glow1),transparent 60%),
             radial-gradient(36vmax 36vmax at 90% 30%,var(--bg-glow2),transparent 60%);
  animation:drift 26s ease-in-out infinite alternate}
@keyframes drift{to{transform:translate3d(-3vmax,2vmax,0) scale(1.05)}}
a{color:var(--brand);text-decoration:none}
a:hover{text-decoration:underline}
.wrap{width:100%;max-width:1040px;margin:0 auto;padding:0 16px}
h1{font-size:26px;line-height:1.2;letter-spacing:-.02em;margin:0 0 4px;font-weight:700}
h2{font-size:17px;letter-spacing:-.01em;margin:0;font-weight:650}
.muted{color:var(--muted);font-size:14px}.right{text-align:right}.center{text-align:center}
.num{font-variant-numeric:tabular-nums;white-space:nowrap}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ---------- logo (firmanın kendi GAZE yazısı; renk temadan gelir) ---------- */
.logo{display:inline-flex;align-items:center;gap:10px;color:var(--ink);text-decoration:none!important;line-height:1}
.logo-mark{display:block;height:20px;width:auto;fill:currentColor}
.logo-sub{font-size:9px;font-weight:600;letter-spacing:.42em;color:var(--brand);padding-left:10px;border-left:1px solid var(--line-2)}
.logo.big{flex-direction:column;gap:12px}
.logo.big .logo-mark{height:42px}
.logo.big .logo-sub{font-size:11px;letter-spacing:.6em;margin-right:-.6em;padding-left:0;border-left:0}

/* ---------- üst çubuk ---------- */
.top{position:sticky;top:0;z-index:20;backdrop-filter:saturate(1.6) blur(18px);-webkit-backdrop-filter:saturate(1.6) blur(18px);
  background:color-mix(in srgb,var(--bg) 72%,transparent);border-bottom:1px solid var(--line)}
.bar{display:flex;align-items:center;gap:16px;height:64px}
.bar nav{display:flex;gap:4px;flex:1;overflow-x:auto;scrollbar-width:none}
.bar nav a{padding:8px 12px;border-radius:99px;color:var(--ink-2);font-size:14px;white-space:nowrap;text-decoration:none}
.bar nav a.on{background:var(--brand-soft);color:var(--brand)}
.spacer{flex:1}
.menu{position:relative}
.menu summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:8px;border-radius:99px;padding:4px 4px 4px 12px;
  border:1px solid var(--line);background:var(--surface);transition:border-color .2s}
.menu summary::-webkit-details-marker{display:none}
.menu summary:hover{border-color:var(--line-2)}
.menu .who{font-size:13px;color:var(--ink-2);max-width:34vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.avatar{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;font-size:13px;font-weight:700;color:#fff;
  background:linear-gradient(135deg,var(--brand),var(--brand-2))}
.menu-pop{position:absolute;right:0;top:calc(100% + 8px);min-width:200px;padding:6px;border-radius:16px;background:var(--surface-solid);
  border:1px solid var(--line);box-shadow:var(--shadow-lg);transform-origin:top right;animation:pop .18s var(--ease)}
.menu-pop a,.menu-pop button{display:flex;width:100%;gap:10px;align-items:center;padding:10px 12px;border-radius:10px;font:inherit;font-size:15px;
  color:var(--ink);background:none;border:0;cursor:pointer;text-decoration:none;text-align:left}
.menu-pop a:hover,.menu-pop button:hover{background:var(--surface-2)}
.menu-pop form{margin:0}
.menu-pop .danger{color:var(--err)}
@keyframes pop{from{opacity:0;transform:scale(.94) translateY(-4px)}}

main{padding:20px 16px 56px}
.foot{color:var(--muted);font-size:12px;padding:0 16px 32px;text-align:center}

/* ---------- kartlar ---------- */
.card{background:var(--surface);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--line);
  border-radius:var(--r);padding:18px;margin-bottom:16px;box-shadow:var(--shadow)}
.card-head{display:flex;align-items:center;gap:10px;margin-bottom:12px;flex-wrap:wrap}
.card-head h2{flex:1;min-width:0;white-space:nowrap}
@media (max-width:420px){.card-head .lbl{display:none}.card-head{gap:8px}.hello h1{font-size:22px}.card{padding:14px}}
@media (max-width:480px){.menu .who{display:none}.menu summary{padding:3px}.bar{gap:10px}}
.narrow{max-width:420px;margin:24px auto}
.reveal>*{animation:rise .55s var(--ease) both}
.reveal>*:nth-child(2){animation-delay:.06s}.reveal>*:nth-child(3){animation-delay:.12s}
.reveal>*:nth-child(4){animation-delay:.18s}.reveal>*:nth-child(5){animation-delay:.24s}
@keyframes rise{from{opacity:0;transform:translateY(14px)}}

.hello{margin:4px 2px 16px}.hello .muted{display:block;margin-bottom:2px}

/* bakiye kartı */
.hero{position:relative;overflow:hidden;border-radius:26px;padding:22px 20px 18px;color:#fff;margin-bottom:16px;
  background:linear-gradient(135deg,#4f46e5 0%,#7c3aed 55%,#0ea5e9 130%);box-shadow:0 18px 50px rgba(79,70,229,.35)}
.hero::after{content:"";position:absolute;width:260px;height:260px;right:-80px;top:-110px;border-radius:50%;
  background:radial-gradient(circle,rgba(255,255,255,.35),transparent 65%);animation:float 9s ease-in-out infinite alternate}
@keyframes float{to{transform:translate(-30px,24px)}}
.hero .label{font-size:13px;opacity:.85;letter-spacing:.02em}
.hero .amount{font-size:clamp(30px,9vw,42px);font-weight:750;letter-spacing:-.03em;line-height:1.1;margin:6px 0 4px}
.hero .amount small{font-size:15px;font-weight:500;opacity:.8;margin-left:4px}
.hero .tag{display:inline-block;font-size:12px;padding:3px 10px;border-radius:99px;background:rgba(255,255,255,.18);backdrop-filter:blur(6px)}
.hero-row{display:flex;gap:10px;margin-top:16px;flex-wrap:wrap}
.hero-pill{flex:1;min-width:140px;display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:16px;color:#fff;
  background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.18);text-decoration:none!important;transition:background .2s,transform .2s var(--ease)}
.hero-pill:hover{background:rgba(255,255,255,.22);transform:translateY(-1px)}
.hero-pill b{font-size:18px;font-variant-numeric:tabular-nums}.hero-pill span{font-size:12px;opacity:.85;display:block}
.hero-pill .ic{width:30px;height:30px;border-radius:10px;display:grid;place-items:center;background:rgba(255,255,255,.18);flex:none}

/* ---------- düğmeler ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 20px;font:inherit;font-weight:650;font-size:15px;
  color:#fff;background:linear-gradient(135deg,var(--brand),var(--brand-2));border:0;border-radius:14px;cursor:pointer;text-decoration:none!important;
  box-shadow:0 6px 18px color-mix(in srgb,var(--brand) 35%,transparent);transition:transform .15s var(--ease),box-shadow .2s,filter .2s}
.btn:hover{filter:brightness(1.06)}.btn:active{transform:scale(.97)}
.btn.block{width:100%}
.btn.small{padding:8px 14px;font-size:14px;border-radius:12px}
.btn.ghost{background:var(--surface);color:var(--ink);border:1px solid var(--line);box-shadow:none}
.btn.ghost:hover{border-color:var(--line-2)}
.icon-btn{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 12px;border-radius:99px;border:1px solid var(--line);
  background:var(--surface);color:var(--ink-2);font:inherit;font-size:13px;font-weight:600;cursor:pointer;text-decoration:none!important;
  transition:border-color .2s,background .2s,transform .15s var(--ease)}
.icon-btn:hover{border-color:var(--line-2);background:var(--surface-solid)}.icon-btn:active{transform:scale(.96)}
button.link{background:none;border:0;padding:0;font:inherit;font-size:14px;color:var(--brand);cursor:pointer}
svg.i{width:16px;height:16px;flex:none;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

/* anahtar (toggle) */
.switch{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:var(--ink-2);cursor:pointer;user-select:none;margin:0}
.switch input{position:absolute;opacity:0;width:1px;height:1px}
.switch .track{width:38px;height:22px;border-radius:99px;background:var(--line-2);position:relative;transition:background .25s var(--ease)}
.switch .track::after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;
  box-shadow:0 1px 3px rgba(0,0,0,.25);transition:transform .3s var(--ease)}
.switch input:checked+.track{background:linear-gradient(135deg,var(--brand),var(--brand-2))}
.switch input:checked+.track::after{transform:translateX(16px)}
.switch input:focus-visible+.track{outline:2px solid var(--brand);outline-offset:2px}

/* yıl seçici (kayan gösterge) */
.seg{position:relative;display:inline-flex;padding:4px;border-radius:14px;background:var(--surface-2);border:1px solid var(--line);gap:2px}
.seg a{position:relative;z-index:1;padding:8px 16px;border-radius:10px;font-size:14px;font-weight:650;color:var(--muted);
  text-decoration:none!important;transition:color .25s}
.seg a.on{color:var(--ink)}
.seg .thumb{position:absolute;top:4px;bottom:4px;left:0;border-radius:10px;background:var(--surface-solid);box-shadow:0 2px 8px rgba(14,18,32,.12);
  transition:transform .35s var(--ease),width .35s var(--ease)}
.seg:not(.js) a.on{background:var(--surface-solid);box-shadow:0 2px 8px rgba(14,18,32,.12)}

/* ---------- hareket listesi: her hareket tek satır (telefonda tarih işlem altına iner) ---------- */
.mv-list{margin:0 -2px}
.mv{display:grid;grid-template-columns:minmax(0,1fr) 76px 90px 26px;column-gap:5px;align-items:center;
  padding:9px 4px;border-top:1px solid var(--line);transition:background .2s}
.mv-head{border-top:0;padding-top:0;padding-bottom:6px;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.mv-head>span{font-size:11px}
.mv .d{display:none;font-size:14px;color:var(--muted);font-variant-numeric:tabular-nums}
.mv .t{min-width:0}
.mv .t strong{display:block;font-size:14px;font-weight:600;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mv .t>span{display:block;font-size:12px;color:var(--muted);line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mv .t .dd{font-style:normal}
.mv .m,.mv .k{text-align:center;font-size:12.5px;letter-spacing:-.01em;font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mv .m.b{color:var(--err);font-weight:600}.mv .m.a{color:var(--ok);font-weight:600}
.mv .k{font-weight:650}.mv .k small{font-size:10px;font-weight:600;color:var(--muted);margin-left:2px}
.mv-head .m,.mv-head .k{font-weight:700;letter-spacing:.06em}
.mv .p{display:flex;justify-content:flex-end}
.mv.inv{cursor:pointer}
.mv.inv:hover{background:var(--surface-2)}
.mv.inv .t strong{color:var(--brand)}
.mv.more{display:none}
.mv-list.all .mv.more{display:grid;animation:rise .4s var(--ease) both}
@media (min-width:720px){
  .mv{grid-template-columns:90px minmax(0,1fr) 160px 170px 56px;column-gap:12px;padding:11px 10px}
  .mv .d{display:block}.mv .t .dd{display:none}
  .mv .t strong{font-size:15px}
  .mv .m,.mv .k{font-size:14px}
}
/* fatura PDF düğmesi: sade cam yuvarlak + belge simgesi (vurgu rengi) */
.pdf{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;
  color:var(--brand);background:var(--glass);box-shadow:var(--glass-hi),0 2px 6px rgba(14,18,32,.08);text-decoration:none!important;
  transition:transform .35s cubic-bezier(.3,1.5,.5,1),background .2s,color .2s}
.pdf svg.i{width:15px;height:15px}
.pdf:hover{background:var(--brand-soft)}
.pdf:active{transform:scale(1.12)}
.pdf-pick{position:relative}
.pdf-pick summary{list-style:none;cursor:pointer}
.pdf-pick summary::-webkit-details-marker{display:none}
.pdf-pick .menu-pop{min-width:160px}

.legend{display:flex;gap:14px;flex-wrap:wrap;font-size:12px;color:var(--muted)}
.legend span{display:inline-flex;align-items:center;gap:6px}
.dot{width:8px;height:8px;border-radius:50%;background:var(--muted);flex:none}
.dot.ok{background:var(--ok)}.dot.err{background:var(--err)}

/* ---------- siparişler: düz kalem listesi (bekleyen üstte) ---------- */
.sec-title{display:flex;align-items:center;gap:10px;margin:22px 2px 10px}
.sec-title h2{font-size:15px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:700}
.code{display:inline-block;font-weight:800;color:var(--brand);margin-right:6px;font-variant-numeric:tabular-nums;letter-spacing:.01em}
.oi-list{margin:0 -2px}
.oi{display:grid;grid-template-columns:minmax(0,1fr) 88px 52px;column-gap:8px;align-items:center;padding:9px 2px;border-top:1px solid var(--line)}
.oi-head{border-top:0;padding-top:0;padding-bottom:6px;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.oi .d{display:none;font-size:14px;color:var(--muted);font-variant-numeric:tabular-nums}
.oi .u{min-width:0}
.oi .u strong{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;font-size:14px;font-weight:600;line-height:1.3;overflow:hidden;overflow-wrap:anywhere}
.oi .u .sub{display:block;font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.oi .r{font-size:13px;font-weight:600;color:var(--ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.oi .q{text-align:center}
.oi-head .r{font-weight:700;font-size:11px;color:var(--muted)}
.oi .q b{font-size:15px;font-weight:750;font-variant-numeric:tabular-nums;color:var(--muted)}
.oi.bekliyor .q b{color:var(--err)}.oi.sevk .q b{color:var(--ok)}
.oi.sevk .u strong,.oi.sevk .r{color:var(--ink-2)}
.oi.inv{cursor:pointer;transition:background .2s}.oi.inv:hover{background:var(--glass-thin);border-radius:14px}
.oi.inv .u strong::after{content:" ›";color:var(--brand);font-weight:600}
.oi-sec{padding:12px 2px 6px;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.oi-sec.err{color:var(--err)}.oi-sec.ok{color:var(--ok);border-top:1px solid var(--line-2);margin-top:6px}
.oi-head+.oi-sec{padding-top:4px}
@media (min-width:720px){
  .oi{grid-template-columns:90px minmax(0,1fr) 200px 90px;column-gap:12px;padding:10px 8px}
  .oi .d{display:block}.oi .u .sub{display:none}
  .oi .u strong{font-size:15px}.oi .r{font-size:14px}
}

/* iskelet (yüklenirken) */
.skel{height:86px;border-radius:var(--r);margin-bottom:12px;background:linear-gradient(90deg,var(--surface-2),var(--line),var(--surface-2));
  background-size:200% 100%;animation:shimmer 1.3s linear infinite}
@keyframes shimmer{to{background-position:-200% 0}}

/* ---------- ekstre ---------- */
.toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:10px 0 16px}
.stat{padding:14px;border-radius:16px;background:var(--surface);border:1px solid var(--line)}
.stat span{display:block;font-size:12px;color:var(--muted);margin-bottom:4px}
.stat b{font-size:17px;font-variant-numeric:tabular-nums}
.stat.hl{background:var(--brand-soft);border-color:transparent}
.bakiye-ozet{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:16px}
.bakiye-ozet span{margin:0;font-size:14px;font-weight:600;color:var(--ink-2)}
.bakiye-ozet b{font-size:22px;letter-spacing:-.01em}.bakiye-ozet small{font-size:13px;font-weight:500;color:var(--muted)}
.icon-btn.icon-only{width:40px;height:40px;padding:0;justify-content:center;gap:0}
.icon-btn.icon-only svg.i{width:18px;height:18px}
@media (max-width:420px){.toolbar{gap:6px}.toolbar .seg a{padding:8px 12px}}
.swap{transition:opacity .2s}.swap.loading{opacity:.35}

/* ---------- fatura ---------- */
.inv-head{display:flex;align-items:center;flex-wrap:wrap;gap:8px 10px;margin-bottom:12px;padding-right:40px}
.inv-head .inv-title{flex:1 1 100%;min-width:0}
.inv-head .inv-title>span{display:block}
.inv-head h1{font-size:20px;margin:2px 0;overflow-wrap:anywhere}
.inv-head .icon-btn{flex:none}
.only-page+.inv-head,.doc .inv-head{padding-right:0}
/* fatura kalemleri: sipariş listesiyle aynı düzen, renk başına tek satır */
.fi{display:grid;grid-template-columns:minmax(0,1fr) 70px 34px 80px;column-gap:6px;align-items:center;padding:9px 2px;border-top:1px solid var(--line)}
.fi-head{border-top:0;padding-top:4px;padding-bottom:6px;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.fi .u{min-width:0}
.fi .u strong{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;font-size:14px;font-weight:600;line-height:1.3;overflow-wrap:anywhere}
.fi .u .sub{display:block;font-size:12px;color:var(--muted)}
.fi .r{font-size:13px;font-weight:600;color:var(--ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fi .q{text-align:center;font-size:15px;font-weight:750;font-variant-numeric:tabular-nums}
.fi .t{text-align:right;font-size:13px;font-weight:600}
.fi-head .q,.fi-head .t{font-size:11px;font-weight:700}
@media (min-width:720px){.fi{grid-template-columns:minmax(0,1fr) 150px 60px 120px;column-gap:12px;padding:10px 4px}.fi .t{font-size:14px}}
.sheet-body .only-page{display:none}
.totals{margin-top:8px;padding-top:12px;border-top:1px solid var(--line-2)}
.totals div{display:flex;justify-content:space-between;padding:4px 0;font-size:15px}
.totals .grand:first-child{border-top:0;margin-top:0}
.totals .grand{font-size:19px;font-weight:750;padding-top:10px;margin-top:6px;border-top:1px dashed var(--line-2)}
.totals .neg{color:var(--ok)}
.inv-head h1 .chip{vertical-align:middle;font-size:12px}

/* ---------- alt panel (sheet) ---------- */
.sheet{position:fixed;inset:0;z-index:50;display:flex;align-items:flex-end;justify-content:center;pointer-events:none}
.sheet[hidden]{display:none}
.sheet-back{position:absolute;inset:0;background:rgba(8,10,18,.45);backdrop-filter:blur(3px);opacity:0;transition:opacity .3s}
.sheet-panel{position:relative;width:100%;max-width:640px;max-height:92vh;overflow:auto;overscroll-behavior:contain;
  background:var(--surface-solid);border-radius:26px 26px 0 0;padding:10px 18px calc(24px + env(safe-area-inset-bottom));
  box-shadow:var(--shadow-lg);transform:translateY(100%);transition:transform .38s var(--ease)}
.sheet.open{pointer-events:auto}.sheet.open .sheet-back{opacity:1}.sheet.open .sheet-panel{transform:none}
.grab{width:42px;height:5px;border-radius:99px;background:var(--line-2);margin:0 auto 10px}
.sheet-x{position:sticky;top:0;float:right;width:34px;height:34px;border-radius:50%;border:0;background:var(--surface-2);color:var(--ink);
  font-size:20px;line-height:1;cursor:pointer;z-index:2}
@media (min-width:720px){.sheet{align-items:center}.sheet-panel{border-radius:26px;transform:translateY(30px) scale(.98);opacity:0;
  transition:transform .35s var(--ease),opacity .25s}.sheet.open .sheet-panel{opacity:1}}
body.locked{overflow:hidden}

/* ---------- formlar ---------- */
label{display:block;margin-bottom:14px;font-size:13px;font-weight:600;color:var(--ink-2)}
input,select{display:block;width:100%;margin-top:6px;padding:13px 14px;font:inherit;font-size:16px;color:var(--ink);background:var(--surface-2);
  border:1px solid var(--line);border-radius:14px;transition:border-color .2s,box-shadow .2s,background .2s}
input:focus,select:focus{outline:0;border-color:var(--brand);background:var(--surface-solid);box-shadow:0 0 0 4px var(--brand-soft)}
.pw{position:relative}
.pw input{padding-right:52px}
.pw button{position:absolute;right:6px;bottom:6px;height:38px;width:42px;border:0;border-radius:10px;background:none;color:var(--muted);cursor:pointer}
.pw button:hover{background:var(--surface-2)}

.login{min-height:calc(100vh - 160px);display:grid;place-items:center}
.login .card{width:100%;max-width:400px;padding:28px 22px}
.login .logo{margin:0 auto 22px;display:flex;justify-content:center}
.login h1{font-size:20px;text-align:center;margin-bottom:18px;font-weight:600;color:var(--ink-2)}
.keep{display:flex;align-items:center;gap:8px;justify-content:center;font-size:12px;color:var(--muted);margin-top:14px}

.alert{padding:12px 14px;border-radius:14px;background:var(--surface-2);border:1px solid var(--line);margin:0 0 14px;font-size:14px}
.alert.err{border-color:transparent;background:var(--err-soft);color:var(--err)}
.alert.ok{border-color:transparent;background:var(--ok-soft);color:var(--ok)}
.empty{text-align:center;padding:26px 16px;color:var(--muted)}

/* ---------- yönetim sayfaları (masaüstü) ---------- */
.scroll{overflow-x:auto}
table{width:100%;border-collapse:collapse;font-size:14px}
th,td{padding:10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
th{font-size:11px;color:var(--muted);font-weight:700;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}
td.num,th.num{text-align:right}
.chip{display:inline-block;padding:3px 10px;border-radius:99px;font-size:12px;font-weight:600;background:var(--surface-2);color:var(--ink-2)}
.chip.ok{background:var(--ok-soft);color:var(--ok)}.chip.off{background:var(--err-soft);color:var(--err)}.chip.warn{background:var(--warn-soft);color:var(--warn)}
.inline-form{display:flex;gap:12px;align-items:end;flex-wrap:wrap}.inline-form label{margin:0;flex:1;min-width:160px}
.row{display:flex;gap:10px;flex-wrap:wrap}.actions{display:flex;gap:12px;flex-wrap:wrap}.actions form{margin:0}
.creds{display:grid;grid-template-columns:auto 1fr;gap:8px 16px;margin:0 0 16px}.creds dt{color:var(--muted)}.creds dd{margin:0}
.mono{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:20px;font-weight:700;letter-spacing:2px;user-select:all}

/* ---------- ödeme ---------- */
.hero-pay{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;gap:8px;margin-top:14px;padding:13px;border-radius:999px;
  font-weight:700;color:#3b2bb8;background:rgba(255,255,255,.92);text-decoration:none!important;
  box-shadow:inset 0 1px 0 #fff,0 8px 24px -8px rgba(0,0,0,.35);transition:transform .35s cubic-bezier(.3,1.5,.5,1)}
.hero-pay:active{transform:scale(1.04)}
.hero-note{position:relative;z-index:1;margin:10px 0 0;font-size:13px;opacity:.9}
.alert.warn{border-color:transparent;background:var(--warn-soft);color:var(--warn)}
.pay{max-width:480px;margin:0 auto}
.pay-card{padding:22px}
.amount-field{font-size:13px}
.amount-input{display:flex;align-items:center;gap:8px;margin-top:6px}
.amount-input input{margin:0;font-size:30px;font-weight:750;letter-spacing:-.02em;padding:10px 14px;font-variant-numeric:tabular-nums}
.amount-input b{font-size:18px;color:var(--muted)}
.pay-row{display:grid;grid-template-columns:1fr 1fr 1.2fr;gap:10px}
.cc-preview{position:relative;overflow:hidden;aspect-ratio:1.586;max-width:340px;margin:18px auto 20px;border-radius:22px;padding:20px;color:#fff;
  display:flex;flex-direction:column;justify-content:flex-end;gap:10px;
  background:linear-gradient(135deg,#1e1b4b,#4338ca 55%,#0ea5e9);box-shadow:inset 0 1px 0 rgba(255,255,255,.4),0 20px 40px -16px rgba(30,27,75,.6)}
.cc-preview::after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,rgba(255,255,255,.28),transparent 42%)}
.cc-chip{position:absolute;top:20px;left:20px;width:42px;height:30px;border-radius:7px;background:linear-gradient(135deg,#fde68a,#d4a017)}
.cc-num{font-size:clamp(17px,5.4vw,21px);letter-spacing:.12em;font-variant-numeric:tabular-nums;white-space:nowrap}
.cc-row{display:flex;justify-content:space-between;gap:10px;font-size:12px;letter-spacing:.08em;text-transform:uppercase;opacity:.9}
.cc-row span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.spinner{width:44px;height:44px;margin:6px auto 14px;border-radius:50%;border:3px solid var(--line-2);border-top-color:var(--brand);animation:spin .8s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.pay-result h1{margin-top:6px}
.result-icon{width:68px;height:68px;margin:4px auto 10px;border-radius:50%;display:grid;place-items:center;animation:popIn .5s cubic-bezier(.3,1.5,.5,1)}
.result-icon svg{width:40px;height:40px;fill:none;stroke:#fff;stroke-width:5;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:40;stroke-dashoffset:40;animation:draw .45s .25s ease forwards}
.result-icon.ok{background:var(--ok);box-shadow:0 10px 30px -8px var(--ok)}.result-icon.err{background:var(--err);box-shadow:0 10px 30px -8px var(--err)}
@keyframes popIn{from{transform:scale(.4);opacity:0}}
@keyframes draw{to{stroke-dashoffset:0}}
.big-amount{font-size:32px;font-weight:750;letter-spacing:-.02em;margin:4px 0 8px}
.receipt{text-align:left;max-width:320px;margin:18px auto;font-size:14px}
.center-row{justify-content:center}

/* ---------- bilgi sayfaları ve alt bilgi ---------- */
.doc{max-width:760px;margin:0 auto}
.doc-nav{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;margin:4px 0 14px;padding-bottom:2px}
.doc-nav a{flex:none;padding:8px 14px;border-radius:999px;font-size:13px;font-weight:600;color:var(--ink-2);text-decoration:none!important;
  background:var(--glass);box-shadow:var(--glass-hi)}
.doc-nav a.on{background:var(--brand);color:#fff}
.doc-body{padding:22px}
.doc-body h1{font-size:24px;margin-bottom:12px}
.doc-body h2{font-size:16px;margin:22px 0 8px}
.doc-body p,.doc-body li{font-size:15px;line-height:1.65;color:var(--ink-2)}
.doc-body ul{padding-left:20px;margin:8px 0}
.doc-body li{margin:4px 0}
.doc-date{margin-top:24px}
.intro{max-width:400px;margin:18px auto 0;text-align:center;font-size:14px;color:var(--ink-2)}
.foot{max-width:760px;margin:0 auto;line-height:1.6}
.foot p{margin:8px 0}
.foot a{color:var(--muted)}
.foot-links{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 14px;margin-bottom:12px}
.foot-links a{font-weight:600;color:var(--ink-2)}
.cards{display:flex;justify-content:center;gap:6px;flex-wrap:wrap;margin:10px 0}
.cb{font-size:10px;font-weight:800;letter-spacing:.04em;padding:5px 9px;border-radius:7px;background:var(--glass);box-shadow:var(--glass-hi);color:var(--ink-2)}
.cb.visa{color:#1a1f71}.cb.mc{color:#eb001b}.cb.troy{color:#00a5b5}.cb.tds{color:var(--ok)}
@media (prefers-color-scheme:dark){.cb.visa{color:#8f9bff}}
.foot-mini{opacity:.7;font-size:11px}

/* ---------- yönetim: cari arama ---------- */
.cari-ara input{font-size:17px}
.cari-sonuc{list-style:none;margin:6px 0 0;padding:0}
.cari-sonuc li{display:flex;align-items:center;gap:12px;padding:10px 4px;border-top:1px solid var(--line)}
.cari-sonuc li:first-child{border-top:0}
.cari-sonuc .c-ad{flex:1;min-width:0}
.cari-sonuc .c-ad strong{display:block;font-size:15px;line-height:1.3}
.cari-sonuc .c-ad span{font-size:12px;color:var(--muted)}
.cari-sonuc .c-yeni{display:flex;flex-wrap:wrap;align-items:center;gap:8px;justify-content:flex-end;max-width:60%}
.cari-sonuc .c-yeni input{width:170px;margin:0;padding:8px 12px;font-size:15px}
.cari-sonuc .c-hata{flex-basis:100%;text-align:right;font-size:12px;color:var(--err)}
@media (max-width:560px){.cari-sonuc li{flex-wrap:wrap}.cari-sonuc .c-yeni{max-width:none;flex-basis:100%;justify-content:flex-start}.cari-sonuc .c-hata{text-align:left}}
.cari-sonuc .c-var{font-size:12px;font-weight:600;color:var(--ok);white-space:nowrap}
details > summary{cursor:pointer;list-style:none}
details > summary::-webkit-details-marker{display:none}
details > summary h2{display:inline}
details > summary h2::after{content:" ▾";color:var(--muted);font-size:14px}

/* =====================================================================
   LIQUID GLASS — Apple'ın iOS 26 tasarım dilinden esinlenen malzeme katmanı.
   Yarı saydam cam + arka plan bulanıklığı, kenarda ışık kırılması (specular), yüzen kapsül
   kontroller, dokununca hafifçe şişen düğmeler. "Saydamlığı azalt" açıksa düz yüzeye döner.
   ===================================================================== */
:root{
  --glass:rgba(255,255,255,.52);--glass-strong:rgba(255,255,255,.72);--glass-thin:rgba(255,255,255,.34);
  --glass-edge-a:rgba(255,255,255,.95);--glass-edge-b:rgba(255,255,255,.18);--glass-edge-c:rgba(255,255,255,.55);
  --glass-hi:inset 0 1px 0 rgba(255,255,255,.85),inset 0 -1px 0 rgba(255,255,255,.25);
  --glass-shadow:0 1px 1px rgba(14,18,32,.04),0 10px 30px -6px rgba(40,44,90,.18);
  --glass-blur:blur(22px) saturate(1.9);
  --blob1:rgba(124,92,255,.38);--blob2:rgba(34,211,238,.30);--blob3:rgba(244,114,182,.26);--blob4:rgba(251,191,36,.20);
}
@media (prefers-color-scheme:dark){:root{
  --glass:rgba(32,36,56,.46);--glass-strong:rgba(32,36,56,.66);--glass-thin:rgba(255,255,255,.06);
  --glass-edge-a:rgba(255,255,255,.34);--glass-edge-b:rgba(255,255,255,.04);--glass-edge-c:rgba(255,255,255,.16);
  --glass-hi:inset 0 1px 0 rgba(255,255,255,.14),inset 0 -1px 0 rgba(255,255,255,.04);
  --glass-shadow:0 1px 1px rgba(0,0,0,.3),0 14px 40px -8px rgba(0,0,0,.6);
  --blob1:rgba(124,92,255,.34);--blob2:rgba(34,211,238,.16);--blob3:rgba(244,114,182,.16);--blob4:rgba(251,191,36,.08);
}}

/* camın arkasında görünecek renkli, yavaş hareket eden ışık lekeleri */
body::before{inset:-25vmax;
  background:radial-gradient(34vmax 34vmax at 12% 8%,var(--blob1),transparent 62%),
             radial-gradient(30vmax 30vmax at 92% 22%,var(--blob2),transparent 62%),
             radial-gradient(28vmax 28vmax at 78% 88%,var(--blob3),transparent 62%),
             radial-gradient(26vmax 26vmax at 8% 72%,var(--blob4),transparent 62%);
  animation:drift 30s ease-in-out infinite alternate}

/* ortak cam yüzey + kenarda ışık kırılması (maskeyle yalnız 1px kenar boyanır) */
.card,.stat,.sheet-panel,.menu-pop,.bar,.seg,.icon-btn,.menu summary,.btn.ghost{
  background:var(--glass);border:0;box-shadow:var(--glass-hi),var(--glass-shadow);
  backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);position:relative;isolation:isolate}
.card::before,.stat::before,.sheet-panel::before,.menu-pop::before,.bar::before,.seg::before,.icon-btn::before,.menu summary::before,.btn.ghost::before,.hero::before{
  content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;pointer-events:none;z-index:2;
  background:linear-gradient(140deg,var(--glass-edge-a),var(--glass-edge-b) 38%,var(--glass-edge-b) 62%,var(--glass-edge-c));
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;
  mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0)}
.card{border-radius:28px}
.stat{border-radius:22px}

/* yüzen kapsül üst çubuk */
.top{background:none;border:0;backdrop-filter:none;-webkit-backdrop-filter:none;padding:10px 12px 0}
.bar.wrap{max-width:1016px;height:58px;padding:0 7px 0 20px;border-radius:999px;background:var(--glass-strong)}
.menu summary{border-radius:999px;padding:4px 4px 4px 14px}
.avatar{box-shadow:inset 0 1px 0 rgba(255,255,255,.45),0 4px 12px color-mix(in srgb,var(--brand) 40%,transparent)}
.menu-pop{position:absolute;border-radius:22px;padding:8px;background:var(--glass-strong);transform-origin:top right;animation:glassPop .32s cubic-bezier(.3,1.4,.5,1)}
.menu-pop a,.menu-pop button{border-radius:14px}
@keyframes glassPop{from{opacity:0;transform:scale(.86) translateY(-6px);filter:blur(4px)}}
@media (max-width:480px){.bar.wrap{padding:0 6px 0 16px}}

/* kapsül düğmeler: dokununca hafif şişer, yay gibi geri döner */
.btn,.icon-btn,.pdf,.menu summary,.hero-pill{transition:transform .35s cubic-bezier(.3,1.5,.5,1),box-shadow .25s,filter .2s,background .25s}
.btn{border-radius:999px;box-shadow:inset 0 1px 0 rgba(255,255,255,.45),inset 0 -1px 0 rgba(0,0,0,.08),0 8px 22px -6px color-mix(in srgb,var(--brand) 60%,transparent)}
.btn:active,.icon-btn:active,.menu summary:active,.hero-pill:active{transform:scale(1.05)}
.btn.small{border-radius:999px}
.btn.ghost{color:var(--ink)}
.icon-btn{border-radius:999px;height:36px;padding:0 14px;color:var(--ink)}
.icon-btn:hover,.btn.ghost:hover{background:var(--glass-strong)}

/* bakiye kartı: renkli cam */
.hero{border-radius:32px;box-shadow:inset 0 1px 0 rgba(255,255,255,.5),inset 0 -1px 0 rgba(255,255,255,.12),0 24px 60px -14px rgba(79,70,229,.55)}
.hero::before{--glass-edge-a:rgba(255,255,255,.9);--glass-edge-b:rgba(255,255,255,.08);--glass-edge-c:rgba(255,255,255,.4)}
.hero-pill{border-radius:22px;border:0;background:rgba(255,255,255,.16);backdrop-filter:blur(14px) saturate(1.6);-webkit-backdrop-filter:blur(14px) saturate(1.6);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.45),inset 0 -1px 0 rgba(255,255,255,.1)}
.hero .tag{box-shadow:inset 0 1px 0 rgba(255,255,255,.35)}

/* anahtar: cam yuva + cam düğme, basılı tutunca uzar */
.switch .track{width:48px;height:28px;background:var(--glass-thin);box-shadow:inset 0 1px 2px rgba(0,0,0,.12),inset 0 0 0 1px var(--line)}
.switch .track::after{top:2px;left:2px;width:24px;height:24px;background:rgba(255,255,255,.96);
  box-shadow:0 2px 6px rgba(0,0,0,.18),inset 0 -1px 0 rgba(0,0,0,.06);transition:transform .45s cubic-bezier(.3,1.5,.5,1),width .2s}
.switch:active .track::after{width:30px}
.switch input:checked+.track{background:linear-gradient(135deg,var(--brand),var(--brand-2));box-shadow:inset 0 1px 0 rgba(255,255,255,.3)}
.switch input:checked+.track::after{transform:translateX(20px)}
.switch:active input:checked+.track::after{transform:translateX(14px)}

/* yıl seçici: cam yuva içinde kayan "mercek" */
.seg{border-radius:999px;padding:4px}
.seg a{border-radius:999px;padding:8px 18px}
.seg .thumb{border-radius:999px;background:var(--glass-strong);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9),inset 0 -1px 0 rgba(255,255,255,.3),0 4px 14px rgba(14,18,32,.14);
  transition:transform .5s cubic-bezier(.3,1.35,.5,1),width .5s cubic-bezier(.3,1.35,.5,1)}
@media (prefers-color-scheme:dark){.seg .thumb{background:rgba(255,255,255,.14);box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 4px 14px rgba(0,0,0,.4)}}

/* alt panel: kalın cam, yuvarlak kenarlar, ekrandan ayrık */
.sheet-back{background:rgba(8,10,18,.28);backdrop-filter:blur(6px) saturate(1.2);-webkit-backdrop-filter:blur(6px) saturate(1.2)}
.sheet-panel{background:var(--glass-strong);border-radius:34px;width:calc(100% - 16px);margin-bottom:8px;
  padding-bottom:calc(20px + env(safe-area-inset-bottom));transition:transform .5s cubic-bezier(.25,1.15,.4,1)}
.sheet-x{background:var(--glass-thin);box-shadow:var(--glass-hi);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.grab{background:var(--line-2);width:38px}

/* listeler cam kartın içinde: satır ayırıcılar daha ince, üzerine gelince cam vurgu */
.mv,.oi{border-top-color:color-mix(in srgb,var(--line) 70%,transparent)}
.mv.inv:hover{background:var(--glass-thin);border-radius:14px}

/* form alanları: içe gömük cam */
input,select{background:var(--glass-thin);border:1px solid var(--line);border-radius:16px;box-shadow:inset 0 1px 2px rgba(0,0,0,.05)}
input:focus,select:focus{background:var(--glass-strong)}
.login .card{border-radius:34px}

/* "Saydamlığı azalt" erişilebilirlik ayarı: düz, opak yüzeyler */
@media (prefers-reduced-transparency:reduce){
  .card,.stat,.sheet-panel,.menu-pop,.bar.wrap,.seg,.icon-btn,.menu summary,.btn.ghost,.hero-pill{
    background:var(--surface-solid);backdrop-filter:none;-webkit-backdrop-filter:none}
  body::before{opacity:.35}
}

@media print{
  body::before,.top,.foot,.noprint,.sheet{display:none!important}
  .card::before,.stat::before,.hero::before{display:none}
  body{background:#fff;color:#000}.card,.stat{box-shadow:none;backdrop-filter:none;background:#fff;border:0;padding:0}
  .mv.more{display:grid!important}.mv-list{margin:0}
}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}html{scroll-behavior:auto}}
