/* Play Teknoloji – Toptan/Kurumsal Portal – Tema v1.1 (aydınlık) */
:root{
  --p:#2563eb; --p2:#7c3aed; --p3:#06b6d4;
  --bg:#f5f7fb; --bg2:#eef2ff; --card:#ffffff; --ink:#0f172a; --ink2:#334155; --muted:#566174; --line:#e2e8f0; --line2:#cbd5e1;
  --ok:#16a34a; --warn:#d97706; --err:#dc2626; --info:#0284c7;
  --r:18px; --r2:12px; --sh:0 18px 50px -20px rgba(15,23,42,.22); --sh2:0 6px 20px -10px rgba(15,23,42,.14); --sh3:0 1px 2px rgba(15,23,42,.06);
  --grad:linear-gradient(135deg,var(--p) 0%,var(--p2) 55%,var(--p3) 100%);
  --grad2:linear-gradient(135deg,rgba(37,99,235,.10),rgba(124,58,237,.10) 60%,rgba(6,182,212,.10));
  --font:'Plus Jakarta Sans',ui-sans-serif,system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif;
  --ease:cubic-bezier(.22,.9,.32,1.1); --safe-b:env(safe-area-inset-bottom,0px);
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;font-family:var(--font);font-size:15px;line-height:1.55;color:var(--ink);background:var(--bg);min-height:100vh;-webkit-font-smoothing:antialiased;overflow-x:hidden}
body.has-bg{background:radial-gradient(1200px 600px at 10% -10%,rgba(37,99,235,.14),transparent 60%),radial-gradient(900px 500px at 100% 0%,rgba(124,58,237,.12),transparent 60%),radial-gradient(700px 400px at 50% 110%,rgba(6,182,212,.12),transparent 60%),var(--bg)}
a{color:var(--p);text-decoration:none}a:hover{text-decoration:underline}
img{max-width:100%}
h1,h2,h3,h4{margin:0 0 .5rem;line-height:1.2;letter-spacing:-.015em}
h1{font-size:clamp(1.6rem,3.2vw,2.4rem);font-weight:800}h2{font-size:1.35rem;font-weight:800}h3{font-size:1.1rem;font-weight:700}
p{margin:0 0 .8rem}
.muted{color:var(--muted)}.small{font-size:.86rem}.tiny{font-size:.78rem}.center{text-align:center}.right{text-align:right}
.grad-text{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.container{width:100%;max-width:1180px;margin:0 auto;padding:0 20px}
.narrow{max-width:760px}
.mt{margin-top:1rem}.mt2{margin-top:2rem}.mb{margin-bottom:1rem}.mb0{margin-bottom:0}
.flex{display:flex;gap:.75rem;align-items:center}.between{justify-content:space-between}.wrap{flex-wrap:wrap}.grow{flex:1}
.grid{display:grid;gap:1rem}.g2{grid-template-columns:repeat(2,1fr)}.g3{grid-template-columns:repeat(3,1fr)}.g4{grid-template-columns:repeat(4,1fr)}
.g21{grid-template-columns:2fr 1fr}.g12{grid-template-columns:1fr 1.4fr}.g11{grid-template-columns:1fr 1fr}.g32{grid-template-columns:1.6fr 1fr}
@media(max-width:1000px){.g21,.g12,.g11,.g32{grid-template-columns:1fr}}
@media(max-width:900px){.g3,.g4{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.g2,.g3,.g4{grid-template-columns:1fr}}
/* v22: ızgara öğeleri içeriklerinin doğal genişliğine kilitlenmesin (min-width:auto) — mobilde yönetim formları (ürünler, ödeme yöntemleri, yöneticiler) ekranı 87-217 px taşırıyordu */
.grid>*{min-width:0}.grid input,.grid select,.grid textarea{max-width:100%}
/* v22: boşluksuz uzun <code> (ör. Ürünler › CSV başlık satırı "sku;name;…") ızgara öğesi artık daralabildiği için kartı masaüstünde 32 px,
 * mobilde 199 px taşırıyordu — kod metni gerektiğinde herhangi bir noktadan kırılır */
code{overflow-wrap:anywhere;word-break:break-word}
/* v23: bölünmeyen uzun ürün/firma adı (ör. 80 karakterlik model kodu) ürün sayfasında başlığı sütundan taşırıp sayfayı yatay kaydırıyordu */
h1,h2,h3,h4,.prod .nm,.alert span{overflow-wrap:anywhere}
.hide{display:none!important}
.sr{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.ic{display:inline-block;vertical-align:-.18em;flex:none}
.btn .ic,.nav .ic{vertical-align:middle}

/* Header */
.hdr{position:sticky;top:0;z-index:50;-webkit-backdrop-filter:saturate(1.4) blur(14px);backdrop-filter:saturate(1.4) blur(14px);background:rgba(255,255,255,.8);border-bottom:1px solid rgba(226,232,240,.8)}
.hdr .container{display:flex;align-items:center;justify-content:space-between;height:68px;gap:1rem}
.brand{display:flex;align-items:center;gap:.65rem;color:var(--ink);font-weight:800;font-size:1.05rem}
.brand img{height:38px;width:auto;border-radius:8px}
.brand .mark{width:38px;height:38px;border-radius:11px;background:var(--grad);display:grid;place-items:center;color:#fff;font-weight:900;box-shadow:0 6px 16px -6px rgba(37,99,235,.6)}
.nav{display:flex;gap:.25rem;align-items:center}
.nav a{padding:.55rem .85rem;border-radius:11px;color:var(--ink2);font-weight:600;font-size:.92rem;display:inline-flex;align-items:center;gap:.4rem;transition:background .2s,color .2s}
.nav a:hover{background:var(--bg2);text-decoration:none;color:var(--p)}
.nav a.active{background:var(--bg2);color:var(--p)}
.burger{display:none;border:1px solid var(--line);background:#fff;border-radius:11px;width:44px;height:44px;place-items:center;cursor:pointer;color:var(--ink)}
@media(max-width:820px){.nav{display:none;position:absolute;top:68px;left:0;right:0;background:#fff;flex-direction:column;align-items:stretch;padding:.6rem;border-bottom:1px solid var(--line);box-shadow:var(--sh);animation:drop .25s var(--ease)}.nav.open{display:flex}.nav a{padding:.85rem 1rem}.burger{display:grid}}
@keyframes drop{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}

/* Buttons */
.btn{position:relative;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border:0;border-radius:12px;padding:.74rem 1.3rem;font-weight:700;font-size:.95rem;cursor:pointer;transition:transform .18s var(--ease),box-shadow .25s,opacity .2s,background .2s,border-color .2s;text-decoration:none!important;line-height:1.2;font-family:inherit;min-height:44px}
.btn:active{transform:translateY(1px) scale(.985)}
.btn-p{background:var(--grad);color:#fff;box-shadow:0 10px 26px -10px rgba(37,99,235,.6)}
.btn-p:hover{box-shadow:0 16px 34px -10px rgba(124,58,237,.6);transform:translateY(-1px)}
.btn-o{background:#fff;color:var(--ink);border:1.5px solid var(--line2)}.btn-o:hover{border-color:var(--p);color:var(--p)}
.btn-g{background:transparent;color:var(--ink2)}.btn-g:hover{background:var(--bg2)}
.btn-ok{background:var(--ok);color:#fff}.btn-err{background:var(--err);color:#fff}.btn-warn{background:#b45309;color:#fff}
.btn-sm{padding:.45rem .85rem;font-size:.85rem;border-radius:10px;min-height:36px}.btn-lg{padding:.95rem 1.7rem;font-size:1.05rem;border-radius:14px;min-height:52px}
.btn-ic{width:40px;height:40px;padding:0;min-height:40px}
.btn:disabled{opacity:.55;cursor:not-allowed;transform:none}
.btn-block{width:100%}
.btn .ripple{position:absolute;border-radius:50%;transform:scale(0);animation:ripple .55s ease-out;background:rgba(255,255,255,.45);pointer-events:none}
.btn-o .ripple,.btn-g .ripple{background:rgba(37,99,235,.18)}
@keyframes ripple{to{transform:scale(3.2);opacity:0}}

/* Cards */
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--sh2)}
.card-b{padding:1.4rem}.card-h{padding:1rem 1.4rem;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}
.card-h h2,.card-h h3{margin:0;display:flex;align-items:center;gap:.5rem}
@media(max-width:640px){.card-b{padding:1.05rem}.card-h{padding:.9rem 1.05rem}}
.glass{background:rgba(255,255,255,.72);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}

/* Forms */
label{display:block;font-weight:600;font-size:.9rem;margin-bottom:.35rem;color:var(--ink2)}
label .req{color:var(--err)}
.in,select,textarea{width:100%;font-family:inherit;font-size:.98rem;color:var(--ink);background:#fff;border:1.5px solid var(--line2);border-radius:12px;padding:.74rem .95rem;outline:none;transition:border .2s,box-shadow .2s;min-height:46px}
.in:focus,select:focus,textarea:focus{border-color:var(--p);box-shadow:0 0 0 4px rgba(37,99,235,.14)}
.in.err,select.err,textarea.err{border-color:var(--err);box-shadow:0 0 0 4px rgba(220,38,38,.12);animation:shake .35s}
@keyframes shake{20%,60%{transform:translateX(-4px)}40%,80%{transform:translateX(4px)}}
textarea{min-height:100px;resize:vertical}
select{-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%2364748b' stroke-width='2'%3E%3Cpath d='M4 6l4 4 4-4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .8rem center;padding-right:2.4rem}
input[type=color].in{padding:.3rem;height:46px}
.field{margin-bottom:1rem}.help{font-size:.8rem;color:var(--muted);margin-top:.3rem}.ferr{font-size:.8rem;color:var(--err);margin-top:.3rem;display:none}.field.has-err .ferr{display:block}
.check{display:flex;gap:.65rem;align-items:flex-start;font-weight:500;font-size:.92rem;cursor:pointer;min-height:28px}
.check input{width:20px;height:20px;margin-top:.1rem;accent-color:var(--p);flex:none}
.chips{display:flex;flex-wrap:wrap;gap:.5rem}
.chip{position:relative}.chip input{position:absolute;opacity:0;inset:0;cursor:pointer}
.chip span{display:inline-block;padding:.5rem .9rem;border-radius:999px;border:1.5px solid var(--line2);font-size:.88rem;font-weight:600;color:var(--ink2);background:#fff;transition:all .15s var(--ease)}
.chip input:checked+span{border-color:var(--p);background:var(--bg2);color:var(--p);transform:translateY(-1px)}
.chip input:focus-visible+span{box-shadow:0 0 0 3px rgba(37,99,235,.3)}
.inline-btn{display:flex;gap:.6rem}.inline-btn .in{flex:1}
@media(max-width:480px){.inline-btn{flex-wrap:wrap}.inline-btn .btn{width:100%}}
.otp{display:flex;gap:.5rem;justify-content:center}
.otp input{width:46px;height:58px;text-align:center;font-size:1.5rem;font-weight:800;border:1.5px solid var(--line2);border-radius:12px;outline:none;transition:.15s}
.otp input:focus{border-color:var(--p);box-shadow:0 0 0 4px rgba(37,99,235,.14);transform:translateY(-2px)}
@media(max-width:380px){.otp input{width:40px;height:52px;font-size:1.3rem}}
.pw-wrap{position:relative}.pw-wrap .in{padding-right:3rem}.pw-eye{position:absolute;right:.5rem;top:50%;transform:translateY(-50%);border:0;background:none;cursor:pointer;color:var(--muted);padding:.4rem;display:grid;place-items:center;border-radius:8px;min-width:40px;min-height:40px}.pw-eye:hover{color:var(--p);background:var(--bg2)}

/* Alerts */
.alert{padding:.85rem 1rem;border-radius:12px;font-size:.92rem;font-weight:500;border:1px solid;margin-bottom:1rem;display:flex;gap:.6rem;align-items:flex-start;animation:up .35s var(--ease)}
.alert .ic{margin-top:.1rem}
.alert-ok{background:#f0fdf4;border-color:#bbf7d0;color:#166534}.alert-err{background:#fef2f2;border-color:#fecaca;color:#991b1b}
.alert-warn{background:#fffbeb;border-color:#fde68a;color:#92400e}.alert-info{background:#eff6ff;border-color:#bfdbfe;color:#1e40af}
.toast-wrap{position:fixed;right:16px;bottom:calc(16px + var(--safe-b));z-index:200;display:flex;flex-direction:column;gap:.5rem;max-width:calc(100vw - 32px)}
@media(max-width:920px){.toast-wrap{bottom:calc(76px + var(--safe-b));left:16px;right:16px;align-items:center}}
.toast{background:#fff;border:1px solid var(--line);border-left:4px solid var(--p);border-radius:12px;padding:.8rem 1rem;box-shadow:var(--sh);font-weight:600;font-size:.9rem;animation:toastin .4s var(--ease);display:flex;gap:.5rem;align-items:center}
.toast.ok{border-left-color:var(--ok)}.toast.err{border-left-color:var(--err)}
@keyframes toastin{from{transform:translateY(14px) scale(.96);opacity:0}to{transform:none;opacity:1}}

/* Badges & tables */
.badge{display:inline-flex;align-items:center;gap:.3rem;padding:.24rem .62rem;border-radius:999px;font-size:.76rem;font-weight:700;letter-spacing:.01em;white-space:nowrap}
.b-gray{background:#f1f5f9;color:#475569}.b-blue{background:#dbeafe;color:#1d4ed8}.b-green{background:#dcfce7;color:#15803d}.b-red{background:#fee2e2;color:#b91c1c}.b-amber{background:#fef3c7;color:#b45309}.b-violet{background:#ede9fe;color:#6d28d9}.b-cyan{background:#cffafe;color:#0e7490}
.dot{width:8px;height:8px;border-radius:50%;background:currentColor;display:inline-block}
.tbl-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
table.tbl{width:100%;border-collapse:collapse;font-size:.9rem}
.tbl th{text-align:left;font-size:.74rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);padding:.75rem .85rem;border-bottom:1px solid var(--line);white-space:nowrap;background:#fafbfe}
.tbl td{padding:.8rem .85rem;border-bottom:1px solid var(--line);vertical-align:middle}
.tbl tr:last-child td{border-bottom:0}.tbl tbody tr{transition:background .15s}.tbl tbody tr:hover{background:#f8fafc}
.tbl .num{text-align:right;font-variant-numeric:tabular-nums}
.tbl .act{white-space:nowrap}
/* Mobil: kart görünümü (data-l etiketleriyle) */
@media(max-width:640px){
  .tbl.cards thead{display:none}.tbl.cards tr{display:block;border:1px solid var(--line);border-radius:12px;margin:.6rem;background:#fff;padding:.3rem 0}
  .tbl.cards td{display:flex;justify-content:space-between;gap:1rem;border:0;padding:.45rem .9rem;text-align:right}
  .tbl.cards td::before{content:attr(data-l);color:var(--muted);font-size:.74rem;text-transform:uppercase;letter-spacing:.05em;font-weight:700;text-align:left;flex:none}
  .tbl.cards td.act{justify-content:flex-end}.tbl.cards td.act::before{display:none}
}
.kv{display:grid;grid-template-columns:180px 1fr;gap:.45rem 1rem;font-size:.92rem}.kv dt{color:var(--muted);font-weight:600}.kv dd{margin:0;word-break:break-word}
@media(max-width:640px){.kv{grid-template-columns:1fr}.kv dt{margin-top:.4rem}}
.pager{display:flex;gap:.35rem;flex-wrap:wrap;margin-top:1rem}.pager a,.pager span{padding:.45rem .8rem;border-radius:9px;border:1px solid var(--line);font-size:.85rem;font-weight:600;background:#fff;min-width:38px;text-align:center}.pager span.cur{background:var(--p);color:#fff;border-color:var(--p)}

/* Hero / welcome */
.hero{padding:4.5rem 0 3rem;text-align:center;position:relative}
.hero .eyebrow{display:inline-flex;align-items:center;gap:.5rem;padding:.45rem 1rem;border-radius:999px;background:#fff;border:1px solid var(--line);font-size:.82rem;font-weight:700;color:var(--p);box-shadow:var(--sh2);animation:up .6s var(--ease) both}
.hero h1{font-size:clamp(2.1rem,5.2vw,3.6rem);margin:1.2rem 0 .8rem;font-weight:900;letter-spacing:-.035em;line-height:1.08;animation:up .7s .1s var(--ease) both}
.hero p.lead{font-size:clamp(1rem,1.8vw,1.2rem);color:var(--ink2);max-width:700px;margin:0 auto 1.8rem;animation:up .7s .2s var(--ease) both}
.hero .cta{display:flex;gap:.8rem;justify-content:center;flex-wrap:wrap;animation:up .7s .3s var(--ease) both}
.hero .trust{display:flex;gap:1.4rem;justify-content:center;flex-wrap:wrap;margin-top:2rem;color:var(--muted);font-size:.85rem;font-weight:600;animation:up .7s .4s var(--ease) both}
.hero .trust span{display:inline-flex;align-items:center;gap:.4rem}
.feat{padding:1.5rem;border-radius:var(--r);background:#fff;border:1px solid var(--line);box-shadow:var(--sh2);transition:transform .3s var(--ease),box-shadow .3s;position:relative;overflow:hidden}
.feat::after{content:"";position:absolute;inset:auto -40px -40px auto;width:120px;height:120px;border-radius:50%;background:var(--grad2);opacity:0;transition:opacity .3s}
.feat:hover{transform:translateY(-5px);box-shadow:var(--sh)}.feat:hover::after{opacity:1}
.feat .ico{width:48px;height:48px;border-radius:13px;background:var(--grad2);display:grid;place-items:center;color:var(--p);margin-bottom:.9rem}
.feat h3{font-size:1rem}.feat p{font-size:.88rem;color:var(--muted);margin:0}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;counter-reset:s}
@media(max-width:820px){.steps{grid-template-columns:repeat(2,1fr)}}@media(max-width:480px){.steps{grid-template-columns:1fr}}
.step-c{position:relative;padding:1.4rem 1.2rem 1.2rem;background:#fff;border:1px solid var(--line);border-radius:var(--r);transition:transform .3s var(--ease)}
.step-c:hover{transform:translateY(-3px)}
.step-c::before{counter-increment:s;content:counter(s);position:absolute;top:-15px;left:16px;width:32px;height:32px;border-radius:50%;background:var(--grad);color:#fff;font-weight:800;display:grid;place-items:center;font-size:.85rem;box-shadow:var(--sh2)}
.step-c h4{margin:.4rem 0 .3rem;font-size:.95rem}.step-c p{font-size:.85rem;color:var(--muted);margin:0}
.stat-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:3rem}
@media(max-width:640px){.stat-strip{grid-template-columns:1fr}}
.stat-strip div{text-align:center;padding:1.2rem;border-radius:var(--r);background:#fff;border:1px solid var(--line)}
.stat-strip b{display:block;font-size:1.8rem;font-weight:900;letter-spacing:-.02em}.stat-strip span{color:var(--muted);font-size:.85rem;font-weight:600}
.faq details{background:#fff;border:1px solid var(--line);border-radius:12px;padding:.9rem 1.1rem;margin-bottom:.6rem}
.faq summary{font-weight:700;cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:1rem}
.faq summary::-webkit-details-marker{display:none}.faq summary::after{content:"+";font-size:1.3rem;color:var(--p);font-weight:400;transition:transform .2s}.faq details[open] summary::after{transform:rotate(45deg)}
.faq p{margin:.6rem 0 0;color:var(--ink2);font-size:.92rem}

/* Splash */
#splash{position:fixed;inset:0;z-index:1000;overflow:hidden;background:var(--grad);color:#fff;display:grid;place-items:center;text-align:center;padding:2rem;transition:opacity .7s var(--ease),visibility .7s,transform .7s var(--ease)}
#splash.done{opacity:0;visibility:hidden;pointer-events:none;transform:scale(1.04)}
#splash .orb{position:absolute;border-radius:50%;filter:blur(46px);opacity:.55;animation:float 10s ease-in-out infinite}
#splash .o1{width:340px;height:340px;background:#60a5fa;top:-90px;left:-70px}#splash .o2{width:300px;height:300px;background:#c084fc;bottom:-70px;right:-50px;animation-delay:-3s}#splash .o3{width:220px;height:220px;background:#22d3ee;bottom:20%;left:14%;animation-delay:-6s}
#splash .grid-bg{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.07) 1px,transparent 1px);background-size:44px 44px;-webkit-mask-image:radial-gradient(circle at center,#000 30%,transparent 75%);mask-image:radial-gradient(circle at center,#000 30%,transparent 75%)}
#splash .inner{position:relative;max-width:760px}
#splash .logo{width:92px;height:92px;border-radius:26px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.35);display:grid;place-items:center;margin:0 auto 1.5rem;font-size:2.2rem;font-weight:900;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:pop .8s cubic-bezier(.2,.9,.3,1.3) both;box-shadow:0 20px 60px -20px rgba(0,0,0,.35)}
#splash .logo img{max-height:60px;max-width:190px;border-radius:12px}
#splash h1{font-size:clamp(1.7rem,4.4vw,3rem);font-weight:900;letter-spacing:-.025em;margin:0 0 .7rem;line-height:1.1}
#splash h1 .w{display:inline-block;opacity:0;transform:translateY(18px);animation:up .6s var(--ease) both}
#splash p{font-size:clamp(1rem,2vw,1.2rem);opacity:0;animation:up .7s 1.1s var(--ease) both;color:rgba(255,255,255,.92);max-width:620px;margin:0 auto;line-height:1.6}
#splash .bar{width:220px;height:4px;background:rgba(255,255,255,.3);border-radius:4px;margin:2rem auto 0;overflow:hidden;opacity:0;animation:up .5s 1.4s var(--ease) both}
#splash .bar i{display:block;height:100%;width:0;background:#fff;border-radius:4px;animation:fill 2.3s 1.5s ease-in-out forwards}
#splash .skip{position:absolute;right:20px;top:20px;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.35);color:#fff;padding:.5rem 1rem;border-radius:999px;font-weight:700;cursor:pointer;font-size:.85rem;display:inline-flex;align-items:center;gap:.4rem;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
#splash .skip:hover{background:rgba(255,255,255,.28)}
@keyframes pop{from{transform:scale(.4) rotate(-8deg);opacity:0}to{transform:none;opacity:1}}
@keyframes up{from{transform:translateY(16px);opacity:0}to{transform:none;opacity:1}}
@keyframes fill{to{width:100%}}
@keyframes float{0%,100%{transform:translate(0,0)}50%{transform:translate(30px,-30px)}}
.reveal{opacity:0;transform:translateY(20px);transition:opacity .7s var(--ease),transform .7s var(--ease)}.reveal.shown{opacity:1;transform:none}
.reveal.d1{transition-delay:.1s}.reveal.d2{transition-delay:.2s}.reveal.d3{transition-delay:.3s}

/* Wizard */
.wiz-prog{display:flex;align-items:center;margin:0 0 1.6rem;counter-reset:w}
.wiz-prog .st{flex:1;display:flex;flex-direction:column;align-items:center;gap:.4rem;position:relative;font-size:.75rem;font-weight:700;color:var(--muted);text-align:center}
.wiz-prog .st i{width:36px;height:36px;border-radius:50%;background:#fff;border:2px solid var(--line2);display:grid;place-items:center;font-style:normal;font-weight:800;color:var(--muted);transition:all .35s var(--ease);z-index:1}
.wiz-prog .st::before{content:"";position:absolute;top:17px;left:-50%;right:50%;height:2px;background:var(--line2);z-index:0;transition:background .4s}
.wiz-prog .st:first-child::before{display:none}
.wiz-prog .st.act i{border-color:var(--p);color:var(--p);box-shadow:0 0 0 6px rgba(37,99,235,.14);transform:scale(1.08)}
.wiz-prog .st.done i{background:var(--grad);border-color:transparent;color:#fff}
.wiz-prog .st.done::before,.wiz-prog .st.act::before{background:var(--p)}
.wiz-prog .st.act,.wiz-prog .st.done{color:var(--ink)}
@media(max-width:640px){.wiz-prog .st span{display:none}.wiz-prog .st.act span{display:block;position:absolute;top:40px;white-space:nowrap}.wiz-prog{margin-bottom:2.4rem}}
.wiz-step{display:none}.wiz-step.act{display:block;animation:slidein .45s var(--ease)}.wiz-step.back{animation:slideback .45s var(--ease)}
@keyframes slidein{from{opacity:0;transform:translateX(28px)}to{opacity:1;transform:none}}
@keyframes slideback{from{opacity:0;transform:translateX(-28px)}to{opacity:1;transform:none}}
.wiz-nav{display:flex;justify-content:space-between;gap:.8rem;margin-top:1.4rem;padding-top:1.2rem;border-top:1px solid var(--line)}
@media(max-width:640px){.wiz-nav{position:sticky;bottom:0;background:rgba(255,255,255,.94);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:.8rem 0 calc(.8rem + var(--safe-b));margin:1rem -1.05rem -1.05rem;padding-left:1.05rem;padding-right:1.05rem;border-radius:0 0 var(--r) var(--r)}
/* v1.9.2: yapışkan .wiz-nav çubuğu ekranın altına sabitlenir. Bir alan
 * odaklandığında mobil klavye açılınca tarayıcının kendiliğinden yaptığı
 * scrollIntoView, bu sabit çubuğun YÜKSEKLİĞİNİ hesaba katmadığından odaklı
 * alan çubuğun ARKASINDA kalabiliyordu. scroll-padding-bottom, kaydırma
 * hedefinin altında çubuğun kapladığı kadar boşluk bırakır — html scroll
 * kapsayıcısı olduğundan burada tanımlanır. */
html{scroll-padding-bottom:calc(4.5rem + var(--safe-b))}}
.sec-title{display:flex;align-items:center;gap:.8rem;margin-bottom:1.2rem}.sec-title .n{width:40px;height:40px;border-radius:12px;background:var(--grad2);color:var(--p);display:grid;place-items:center;font-weight:800;flex:none}
.sec-title h2{margin:0;font-size:1.2rem}.sec-title p{margin:0;font-size:.85rem;color:var(--muted)}
.upload{border:2px dashed var(--line2);border-radius:14px;padding:1.1rem;text-align:center;background:#fafbfe;transition:.2s;cursor:pointer;position:relative;color:var(--ink2);font-weight:600;font-size:.9rem}
.upload:hover,.upload.drag{border-color:var(--p);background:var(--bg2)}.upload input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%}
.upload .ic{color:var(--p);display:block;margin:0 auto .3rem}
.upload .fn{font-size:.85rem;color:var(--p);font-weight:600;margin-top:.3rem;word-break:break-all}
.upload.err{border-color:var(--err)}
.upload.ready{border-style:solid;border-color:var(--ok,#16a34a);background:#fafbfe;background:color-mix(in srgb,var(--ok,#16a34a) 7%,#fafbfe)}
.upload.ready>svg{color:var(--ok,#16a34a)}
.summary{background:var(--bg);border-radius:14px;padding:1.1rem}.summary h4{margin:.7rem 0 .3rem;font-size:.82rem;color:var(--p);text-transform:uppercase;letter-spacing:.06em}
.verified{color:var(--ok);font-weight:700;font-size:.85rem;display:inline-flex;align-items:center;gap:.3rem}

/* Footer */
.ftr{margin-top:3rem;padding:2rem 0 calc(2rem + var(--safe-b));border-top:1px solid var(--line);color:var(--muted);font-size:.85rem}
.ftr .container{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;align-items:center}
.ftr a{display:inline-flex;align-items:center;gap:.3rem}

/* Auth pages */
.auth{min-height:100vh;display:grid;place-items:center;padding:2rem 1rem}
.auth .card{width:100%;max-width:440px;animation:up .5s var(--ease)}
.auth .brand{justify-content:center;margin-bottom:1.2rem;flex-direction:column;text-align:center}
.auth .brand img{height:52px}

/* App layout */
.app{display:grid;grid-template-columns:256px 1fr;min-height:100vh}
.side{background:#fff;border-right:1px solid var(--line);padding:1.2rem .9rem;position:sticky;top:0;height:100vh;overflow-y:auto;display:flex;flex-direction:column}
.side .brand{padding:.3rem .5rem 1rem;font-size:1rem}
.side nav a{display:flex;align-items:center;gap:.7rem;padding:.65rem .85rem;border-radius:11px;color:var(--ink2);font-weight:600;font-size:.9rem;margin-bottom:.15rem;transition:background .15s,color .15s}
.side nav a:hover{background:var(--bg);text-decoration:none}.side nav a.active{background:var(--grad2);color:var(--p)}
.side nav a .ic{opacity:.85}
.side .sec{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:700;padding:.9rem .85rem .35rem}
.side .side-foot{margin-top:auto;padding-top:.8rem}
.main{padding:1.4rem 1.6rem 3rem;min-width:0}
.topbar{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.4rem;flex-wrap:wrap}
.topbar h1{font-size:1.5rem;margin:0}
.user-pill{display:flex;align-items:center;gap:.6rem;background:#fff;border:1px solid var(--line);border-radius:999px;padding:.35rem .5rem .35rem .9rem;font-size:.86rem;font-weight:600}
.user-pill .av{width:30px;height:30px;border-radius:50%;background:var(--grad);color:#fff;display:grid;place-items:center;font-weight:800;font-size:.8rem}
.side-toggle{display:none}
.bell{position:relative;width:42px;height:42px;border-radius:50%;border:1px solid var(--line);background:#fff;display:grid;place-items:center;cursor:pointer;color:var(--ink2)}
.bell:hover{color:var(--p);border-color:var(--p)}
.bell .cnt{position:absolute;top:-5px;right:-5px;min-width:20px;height:20px;border-radius:10px;background:var(--err);color:#fff;font-size:.75rem;font-weight:800;display:grid;place-items:center;padding:0 4px;animation:pop .4s}
.bell .cnt:empty{display:none}
.bell-menu{position:absolute;right:0;top:50px;width:340px;max-width:calc(100vw - 32px);background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--sh);z-index:80;display:none;animation:drop .2s var(--ease);overflow:hidden}
.bell-menu.open{display:block}
.bell-menu .bh{display:flex;justify-content:space-between;align-items:center;padding:.7rem .9rem;border-bottom:1px solid var(--line);font-weight:700;font-size:.9rem}
.bell-menu .bl{max-height:360px;overflow-y:auto}
.bell-menu a.n{display:block;padding:.7rem .9rem;border-bottom:1px solid var(--line);color:inherit;font-size:.86rem}
.bell-menu a.n:hover{background:var(--bg);text-decoration:none}.bell-menu a.n.unread{background:#f5f8ff}
.bell-menu a.n b{display:block}.bell-menu a.n span{color:var(--muted);font-size:.78rem}
.bell-wrap{position:relative}
@media(max-width:920px){.app{grid-template-columns:1fr}.side{position:fixed;left:0;top:0;bottom:0;width:280px;transform:translateX(-100%);transition:transform .3s var(--ease);z-index:100;box-shadow:var(--sh)}.side.open{transform:none}.side-toggle{display:grid}.main{padding:1rem 1rem calc(5.5rem + var(--safe-b))}.overlay{position:fixed;inset:0;background:rgba(15,23,42,.4);z-index:90;display:none;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.overlay.show{display:block}.topbar h1{font-size:1.2rem}}
/* Alt gezinme (mobil) */
.bnav{display:none;position:fixed;left:0;right:0;bottom:0;z-index:70;background:rgba(255,255,255,.94);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-top:1px solid var(--line);padding:.35rem .4rem calc(.35rem + var(--safe-b));grid-template-columns:repeat(5,1fr)}
.bnav a{display:flex;flex-direction:column;align-items:center;gap:.15rem;padding:.4rem .2rem;color:var(--muted);font-size:.66rem;font-weight:700;border-radius:10px;position:relative}
.bnav a.active{color:var(--p)}.bnav a.active::before{content:"";position:absolute;top:0;width:22px;height:3px;border-radius:3px;background:var(--grad)}
.bnav a .cnt{position:absolute;top:1px;right:calc(50% - 22px);min-width:18px;height:18px;border-radius:9px;background:var(--err);color:#fff;font-size:.72rem;display:grid;place-items:center;padding:0 3px}
.bnav a .cnt:empty{display:none}
@media(max-width:920px){.bnav{display:grid}}
.stat{padding:1.15rem 1.25rem;border-radius:var(--r);background:#fff;border:1px solid var(--line);position:relative;overflow:hidden;display:block;color:inherit;transition:transform .25s var(--ease),box-shadow .25s}
.stat:hover{transform:translateY(-3px);box-shadow:var(--sh2);text-decoration:none}
.stat::after{content:"";position:absolute;right:-30px;top:-30px;width:110px;height:110px;border-radius:50%;background:var(--grad2)}
.stat .v{font-size:1.75rem;font-weight:900;letter-spacing:-.02em}.stat .l{font-size:.82rem;color:var(--muted);font-weight:600}
.stat .ico{position:absolute;right:16px;top:16px;color:var(--p);opacity:.9}
.prod{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;transition:transform .25s var(--ease),box-shadow .25s}
.prod:hover{transform:translateY(-4px);box-shadow:var(--sh)}
.prod .img{aspect-ratio:4/3;background:var(--bg2);display:grid;place-items:center;color:var(--muted);overflow:hidden;position:relative}.prod .img img{width:100%;height:100%;object-fit:contain;padding:.6rem;transition:transform .4s var(--ease)}.prod:hover .img img{transform:scale(1.04)}
.prod .img .ic{opacity:.5}
.prod .tagf{position:absolute;left:10px;top:10px}
.prod .pb{padding:.95rem;display:flex;flex-direction:column;gap:.35rem;flex:1}
.prod .nm{font-weight:700;font-size:.92rem;line-height:1.3;min-height:2.4em;color:inherit}
.prod .pr{font-size:1.15rem;font-weight:900;color:var(--p)}.prod .lp{font-size:.8rem;color:var(--muted);text-decoration:line-through}
.qty{display:inline-flex;border:1.5px solid var(--line2);border-radius:10px;overflow:hidden;height:40px}
.qty button{border:0;background:#fff;width:36px;cursor:pointer;font-weight:800;color:var(--ink2);display:grid;place-items:center}.qty button:hover{background:var(--bg2);color:var(--p)}.qty input{width:52px;border:0;text-align:center;font-weight:700;outline:none;font-family:inherit}
.cart-fab{position:fixed;right:18px;bottom:calc(76px + var(--safe-b));z-index:60;background:var(--grad);color:#fff;border-radius:999px;padding:.8rem 1.2rem;font-weight:800;box-shadow:var(--sh);display:none;align-items:center;gap:.5rem}
.filters{display:flex;gap:.6rem;flex-wrap:wrap;align-items:center;margin-bottom:1rem}.filters .in,.filters select{width:auto;min-width:160px}
@media(max-width:640px){.filters .in,.filters select{width:100%}.filters .btn{width:100%}}
.pay-opt{display:block;position:relative}.pay-opt input{position:absolute;opacity:0}
.pay-opt .box{border:1.5px solid var(--line2);border-radius:14px;padding:.95rem 1rem;transition:.15s var(--ease);background:#fff;display:flex;gap:.8rem;align-items:flex-start}
.pay-opt .box .ic{color:var(--p);margin-top:.15rem}
.pay-opt input:checked+.box{border-color:var(--p);background:var(--bg2);box-shadow:0 0 0 3px rgba(37,99,235,.12);transform:translateY(-1px)}
.pay-opt .box b{display:block}.pay-opt .box span{font-size:.85rem;color:var(--muted)}
.timeline{list-style:none;padding:0;margin:0;display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:.3rem}
.timeline li{position:relative;text-align:center;font-size:.78rem;font-weight:600;color:var(--muted);padding-top:2rem}
.timeline li::before{content:"";position:absolute;left:50%;top:9px;width:14px;height:14px;border-radius:50%;background:#fff;border:2px solid var(--line2);transform:translateX(-50%);z-index:1;transition:.3s}
.timeline li::after{content:"";position:absolute;top:15px;left:-50%;right:50%;height:2px;background:var(--line2)}
.timeline li:first-child::after{display:none}
.timeline li.on{color:var(--ink)}.timeline li.on::before{background:var(--grad);border-color:transparent;box-shadow:0 0 0 4px rgba(37,99,235,.15)}.timeline li.on::after{background:var(--p)}
.timeline li small{display:block;font-size:.68rem;font-weight:500;color:var(--muted);margin-top:.15rem;font-variant-numeric:tabular-nums}
/* v23: adım tarihleri + olay listesi */
.olay-liste{list-style:none;margin:.8rem 0 0;padding:0;border-top:1px dashed var(--line)}.olay-liste li{display:flex;justify-content:space-between;gap:.6rem;padding:.4rem 0;border-bottom:1px dashed var(--line);font-size:.8rem}.olay-liste li span:last-child{color:var(--muted);white-space:nowrap}
@media(max-width:480px){.timeline li{font-size:.66rem}.timeline li small{font-size:.58rem}}
.code-box{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;background:var(--ink);color:#e2e8f0;border-radius:12px;padding:1rem;font-size:.9rem;overflow-x:auto;word-break:break-all}
.danger-zone{border:1px solid #fecaca;background:#fff5f5;border-radius:14px;padding:1rem}
.tabs{display:flex;gap:.3rem;border-bottom:1px solid var(--line);margin-bottom:1rem;overflow-x:auto;scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.tabs a{padding:.65rem .9rem;font-weight:700;font-size:.9rem;color:var(--muted);border-bottom:2px solid transparent;white-space:nowrap;display:inline-flex;align-items:center;gap:.4rem}.tabs a.active{color:var(--p);border-color:var(--p)}
.tabs a:hover{text-decoration:none;color:var(--p)}
.logo-prev{height:60px;background:var(--bg);border-radius:10px;padding:.4rem}
.ann{border-left:4px solid var(--p);background:#fff;padding:.9rem 1rem;border-radius:0 12px 12px 0;margin-bottom:.6rem;border:1px solid var(--line);border-left-width:4px}
.spinner{width:18px;height:18px;border:3px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite;display:inline-block}
.btn-o .spinner{border-color:rgba(37,99,235,.3);border-top-color:var(--p)}
@keyframes spin{to{transform:rotate(360deg)}}
.err-page{min-height:100vh;display:grid;place-items:center;padding:2rem}
.err-page .code{font-size:5rem;font-weight:900;line-height:1}
.pw-meter{height:5px;background:var(--line);border-radius:5px;overflow:hidden;margin-top:.4rem}.pw-meter i{display:block;height:100%;width:0;background:var(--err);transition:.3s}
.skel{background:linear-gradient(90deg,#eef2f7 25%,#f7f9fc 50%,#eef2f7 75%);background-size:200% 100%;animation:skel 1.2s infinite;border-radius:8px;min-height:1em}
@keyframes skel{to{background-position:-200% 0}}
.spark{width:100%;height:120px;display:block}
.spark .ln{fill:none;stroke:var(--p);stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}
.spark .ar{fill:url(#sg);opacity:.35}.spark .ax{stroke:var(--line);stroke-width:1}
.bars{display:flex;align-items:flex-end;gap:6px;height:110px}
.bars div{flex:1;background:var(--grad2);border-radius:6px 6px 2px 2px;position:relative;min-height:3px;transition:height .8s var(--ease)}
.bars div.on{background:var(--grad)}
.bars div span{position:absolute;bottom:-1.35rem;left:0;right:0;text-align:center;font-size:.7rem;color:var(--muted);white-space:nowrap}
.tpl{background:var(--bg);border-radius:12px;padding:1rem;margin-bottom:.8rem;border:1px solid var(--line)}
.tpl textarea{min-height:76px;font-family:ui-monospace,Menlo,monospace;font-size:.88rem}
.ph{display:inline-block;background:#fff;border:1px solid var(--line2);border-radius:6px;padding:.1rem .4rem;font-family:ui-monospace,Menlo,monospace;font-size:.78rem;cursor:pointer;margin:.15rem}
.ph:hover{border-color:var(--p);color:var(--p)}
.install-bar{position:fixed;left:16px;right:16px;bottom:calc(16px + var(--safe-b));z-index:150;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:var(--sh);padding:.9rem 1rem;display:none;gap:.9rem;align-items:center;animation:toastin .5s var(--ease);max-width:520px;margin:0 auto}
.install-bar.show{display:flex}
.install-bar img{width:46px;height:46px;border-radius:12px}
.install-bar b{display:block;font-size:.92rem}.install-bar span{font-size:.8rem;color:var(--muted)}
.install-bar .x{border:0;background:none;color:var(--muted);cursor:pointer;padding:.3rem}
@media(max-width:920px){.install-bar{bottom:calc(76px + var(--safe-b))}}
.offline-badge{position:fixed;top:12px;left:50%;transform:translateX(-50%);background:var(--ink);color:#fff;padding:.4rem .9rem;border-radius:999px;font-size:.8rem;font-weight:700;z-index:300;display:none;align-items:center;gap:.4rem}
.offline-badge.show{display:inline-flex}
.notif-item{display:flex;gap:.8rem;padding:.9rem 1rem;border-bottom:1px solid var(--line);align-items:flex-start}
.notif-item .ico{width:38px;height:38px;border-radius:11px;background:var(--grad2);color:var(--p);display:grid;place-items:center;flex:none}
.notif-item b{display:block}.notif-item .t{color:var(--muted);font-size:.78rem}
.notif-item.unread{background:#f5f8ff}
.hl{background:linear-gradient(transparent 60%,rgba(37,99,235,.18) 60%)}
.quick textarea{font-family:ui-monospace,Menlo,monospace;min-height:220px}
kbd{font-family:ui-monospace,Menlo,monospace;background:var(--bg);border:1px solid var(--line2);border-radius:6px;padding:.05rem .4rem;font-size:.8rem}
@media(max-width:640px){.prods{grid-template-columns:repeat(2,1fr);gap:.6rem}.prods .prod .pb{padding:.6rem}.prods .prod .nm{font-size:.82rem}.prods .prod .pr{font-size:1rem}.prods .qty input{width:36px}
/* v1.9.2: mobilde qty butonu MASAÜSTÜNDEN (36px, satır 272) DAHA KÜÇÜKTÜ
 * (28px) — dokunma hedefi tam da parmakla kullanıldığı yerde küçülüyordu.
 * En azından masaüstüyle eşitlendi; tam 44px için bkz. aşağıdaki
 * pointer:coarse bloğu. */
.prods .qty button{width:36px}.prods .prod .cart-add .btn{padding:.45rem .5rem;font-size:.78rem}}
@media(max-width:380px){.prods{grid-template-columns:1fr}}

/* ═══════════════════════════════════════════════════════════════════════════
 *  v1.9.2 — DOKUNMA HEDEFLERİ (bkz. POS/Müşteri/Destek'teki aynı blok)
 *  Ölçüt genişlik değil `pointer: coarse` olmalı: dokunmatik tablet ve
 *  dokunmatik kasa ekranları genişlik eşiğinin üstünde kalıyor ve 44px
 *  kuralından hiç yararlanamıyordu. Fare ile kullanımda hiçbir şey değişmez.
 *  WCAG 2.2 (2.5.8) ve Apple HIG: en az 44×44 px.
 *
 *  BULGU: TKC'de bu blok HİÇ YOKTU (diğer 5 modülün tümünde vardı). .btn
 *  taban stili zaten 44px'ti (satır 52) ama .btn-ic (40px, mobil hamburger/
 *  menü düğmeleri) ve .bell (42px, bildirim zili) bunun altındaydı.
 * ═════════════════════════════════════════════════════════════════════════ */
@media (pointer: coarse) {
  .btn-ic { width: 44px; height: 44px; min-height: 44px; }
  .bell { width: 44px; height: 44px; }
  .qty { min-height: 44px; }
  .qty button { min-width: 44px; }
  select, textarea,
  input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]) {
    min-height: 44px;
  }
  label:has(> input[type="checkbox"]), label:has(> input[type="radio"]) {
    min-height: 44px; display: inline-flex; align-items: center; gap: 8px;
  }
}

@media print{.hdr,.side,.topbar .btn,.ftr,.wiz-nav,.bnav,.cart-fab,.install-bar,.bell-wrap,.side-toggle,.no-print{display:none!important}.app{grid-template-columns:1fr}.main{padding:0}body{background:#fff}.card{box-shadow:none}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* ═══════════════════════════════════════════════════════════════════════════
 *  v1.10.0 — GÜVENLİ ALAN (SAFE AREA) KATMANI
 *
 *  ══ SORUN ══
 *  Sayfa `viewport-fit=cover` ile açılıyor ama yalnız ALT güvenli alan
 *  (--safe-b) tanımlıydı. Üst (çentik/durum çubuğu) ve yan (yatay kullanımda
 *  çentik) payları hiç yoktu. Sonuç:
 *    · Yatay kullanımda alt gezinme çubuğunun (.bnav) ilk ve son sekmesi
 *      çentiğin altında kalıp basılamıyordu.
 *    · Sepet düğmesi (.cart-fab) ve kurulum şeridi aynı biçimde kırpılıyordu.
 *    · Kenar menüsü (.side) tam boy sabit olduğu için üstte durum çubuğunun,
 *      altta ana ekran çizgisinin altına giriyordu.
 *    · Çevrimdışı rozeti (.offline-badge) durum çubuğunun altında kayboluyordu.
 * ═════════════════════════════════════════════════════════════════════════ */
:root{
  --safe-t:env(safe-area-inset-top,0px);
  --safe-l:env(safe-area-inset-left,0px);
  --safe-r:env(safe-area-inset-right,0px);
}
.bnav{padding-left:calc(.4rem + var(--safe-l));padding-right:calc(.4rem + var(--safe-r))}
.cart-fab{right:calc(18px + var(--safe-r))}
.toast-wrap{right:calc(16px + var(--safe-r))}
@media(max-width:920px){
  .toast-wrap{left:calc(16px + var(--safe-l));right:calc(16px + var(--safe-r))}
  .side{padding-top:var(--safe-t);padding-bottom:var(--safe-b);padding-left:var(--safe-l)}
  .main{padding-left:calc(1rem + var(--safe-l));padding-right:calc(1rem + var(--safe-r))}
}
.install-bar{left:calc(16px + var(--safe-l));right:calc(16px + var(--safe-r))}
.offline-badge{top:calc(12px + var(--safe-t))}
#splash{padding-top:calc(2rem + var(--safe-t));padding-bottom:calc(2rem + var(--safe-b));
  padding-left:calc(2rem + var(--safe-l));padding-right:calc(2rem + var(--safe-r))}
/* Sayfa gövdesi: üst şerit durum çubuğunun altına kaymaz. */
body{padding-top:var(--safe-t)}
@media print{:root{--safe-t:0px;--safe-b:0px;--safe-l:0px;--safe-r:0px}}

/* v1.9.9 — DAR EKRANDA SEPETE EKLE: iki sütunlu katalogda adet seçici (44+36+44 px)
 * ile "Ekle" düğmesi aynı satıra sığmıyor, düğme 31 px'e ezilip metni "Ek"e
 * kırpılıyordu. Dar ekranda adet ve düğme alt alta, tam genişlikte. */
@media (max-width: 640px) {
  .prods .prod .cart-add { flex-wrap: wrap; gap: .4rem; }
  .prods .prod .cart-add .qty { flex: 1 1 100%; justify-content: space-between; }
  .prods .prod .cart-add .qty input { flex: 1 1 auto; width: auto; min-width: 0; }
  .prods .prod .cart-add .btn { flex: 1 1 100%; min-height: 40px; justify-content: center; }
}

/* v1.9.9 — dar kartta fiyat ile "₺" ayrı satırlara bölünüyor, stok rozeti
 * kart kenarından taşıyordu: fiyat bölünmez, rozet sığmazsa alt satıra iner. */
.prod .pr, .prod .lp { white-space: nowrap; }
.prod .pb > .flex.between { flex-wrap: wrap; gap: .3rem; }
.prod .pb > .flex.between .badge { white-space: nowrap; max-width: 100%; }
/* Adet düğmeleri hiçbir koşulda ezilmez (dar kartta 26 px'e iniyordu);
 * sıkışmayı ortadaki sayı kutusu karşılar. */
.qty button { flex: 0 0 auto; min-width: 36px; }
.qty input { flex: 1 1 auto; min-width: 28px; }
@media (pointer: coarse) { .qty button { min-width: 44px; } }
/* Parmakla kullanımda onay kutuları WCAG 2.5.8 asgari 24 px */
@media (pointer: coarse), (max-width: 760px) { input[type="checkbox"], input[type="radio"] { width: 24px !important; height: 24px !important; min-width: 24px !important; min-height: 24px !important; flex-shrink: 0 !important; } }
/* v1.9.9 — alt menü etiketleri en az 11 px (okunurluk) */
.bnav a{font-size:11px}
/* v22 — Yönetim › Telegram (Tebot) */
.tg-qr{display:inline-block;background:#fff;border:1px solid var(--line);border-radius:12px;padding:.4rem;max-width:100%}
.tg-qr svg{display:block;width:176px;height:176px;max-width:100%}
.tg-olay{border:1px solid var(--line);border-radius:12px;padding:.7rem .9rem;margin-bottom:.55rem;background:#fff}
.tg-olay summary{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;cursor:pointer;list-style:none}
.tg-olay summary::-webkit-details-marker{display:none}
.tg-olay summary .check{flex:1 1 14rem;margin:0}
.tg-olay[open]{box-shadow:0 4px 18px rgba(30,41,59,.06)}
