:root{
  color-scheme:dark;
  --bg:#0A1433; --surface:#101C44; --drop:#15244F; --line:#25386B;
  --ink:#EAF0FF; --muted:#9AA8CC;
  --accent:#5CC8FF; --accent-ink:#06233A; --accent-soft:rgba(92,200,255,.12);
  --warn:#F5B759; --err:#FF8A8A;
  --display:"Onest", "Segoe UI", system-ui, sans-serif;
  --body:"Onest", "Segoe UI", system-ui, -apple-system, sans-serif;
  box-sizing:border-box;
  padding-top:env(safe-area-inset-top,0px); padding-bottom:env(safe-area-inset-bottom,0px);
}
*,*::before,*::after{box-sizing:inherit}
html{scroll-padding-top:env(safe-area-inset-top,0px)}
body{margin:0;background:var(--bg);color:var(--ink);font:400 16px/1.55 var(--body);-webkit-font-smoothing:antialiased}
main{max-width:880px;margin:0 auto;padding:clamp(24px,6vw,56px) clamp(16px,4vw,32px) 48px}
h1{font:700 clamp(30px,6vw,46px)/1.05 var(--display);letter-spacing:-.02em;margin:0 0 12px}
.lede{color:var(--muted);max-width:60ch;margin:0 0 28px}
.drop{position:relative;display:block;background:var(--drop);border:2px dashed var(--line);border-radius:14px;padding:clamp(28px,6vw,48px) 24px;cursor:pointer;transition:border-color .15s,background .15s}
.drop:hover,.drop.over{border-color:var(--accent);background:var(--accent-soft)}
.drop:focus-within{outline:3px solid var(--accent);outline-offset:3px}
.drop input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%}
.drop strong{display:block;font:600 clamp(20px,3.6vw,26px)/1.2 var(--display);margin-bottom:6px}
.drop span{color:var(--muted)}
.privacy{font-size:14px;color:var(--muted);margin:12px 0 0}
.status{margin:20px 0 0;min-height:1.5em;color:var(--muted)}
.results{margin-top:28px;display:none}
.results.show{display:block}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:12px;overflow:hidden}
.stat{background:var(--surface);padding:14px 16px}
.stat b{display:block;font:600 22px/1.2 var(--display);font-variant-numeric:tabular-nums}
.stat small{color:var(--muted);font-size:13px}
.stat:last-child b{font-size:17px;padding-top:4px}
.actions{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0}
button{font:600 16px var(--body);border-radius:10px;padding:12px 20px;cursor:pointer;border:1px solid var(--line);background:var(--surface);color:var(--ink)}
button.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}
button:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
button:disabled{opacity:.5;cursor:default}
.notes{font-size:14px;margin:0 0 16px}
.notes p{margin:4px 0}
.notes .warn{color:var(--warn)} .notes .err{color:var(--err)}
details{font-size:14px;color:var(--muted);margin-bottom:16px}
details ul{margin:6px 0;padding-left:20px;max-height:200px;overflow:auto}
.tablewrap{overflow-x:auto;background:var(--surface);border:1px solid var(--line);border-radius:12px}
table{border-collapse:collapse;width:100%;font-size:14px;font-variant-numeric:tabular-nums}
th,td{padding:9px 12px;text-align:left;white-space:nowrap;border-bottom:1px solid var(--line)}
th{font-weight:600;color:var(--muted);background:var(--surface);position:sticky;top:0}
td.n,th.n{text-align:right}
td.name{max-width:260px;overflow:hidden;text-overflow:ellipsis}
tr:last-child td{border-bottom:0}
.more{font-size:13px;color:var(--muted);margin:8px 2px 0}
.gmu{margin-top:36px;padding:22px 22px 18px;background:var(--surface);border:1px solid var(--line);border-radius:14px}
.gmu h2{font:600 21px/1.25 var(--display);margin:0 0 8px}
.gmu p{margin:0 0 10px;max-width:64ch}
.gmu ol{margin:0 0 16px;padding-left:22px}
.gmu li{margin:3px 0}
.bmrow{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
a.bm{display:inline-block;background:var(--accent);color:var(--accent-ink);text-decoration:none;font:600 16px var(--body);padding:12px 20px;border-radius:10px;cursor:grab}
a.bm:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
.gmu .hint{font-size:14px;color:var(--muted);margin:12px 0 0}
.licbar{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center;font-size:14px;color:var(--muted);margin:0 0 22px}
.licbar b{color:var(--ink);font-weight:600}
.linkbtn{background:none;border:0;padding:0;font:500 14px var(--body);color:var(--accent);text-decoration:underline;cursor:pointer}
footer{margin-top:48px;font-size:13px;color:var(--muted)}
@media (prefers-reduced-motion: reduce){*{transition:none!important}}

/* ---- portal ---- */
[hidden]{display:none!important}
.top{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;max-width:880px;margin:0 auto;padding:18px clamp(16px,4vw,32px) 0}
.brand{font:700 18px/1 var(--display);letter-spacing:-.01em;display:flex;align-items:center;gap:10px}
.brand .mark{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:8px;background:var(--accent);color:var(--accent-ink);font-size:13px}
.who{display:flex;align-items:center;gap:14px;font-size:14px;color:var(--muted);flex-wrap:wrap}
.auth{max-width:420px;margin:clamp(32px,10vh,96px) auto 48px;padding:0 16px}
.auth .box{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:28px}
.auth h1{font-size:clamp(26px,5vw,32px);margin-bottom:8px}
.auth p{color:var(--muted);margin:0 0 18px}
.field{display:block;margin:0 0 14px}
.field span{display:block;font-size:14px;font-weight:500;margin-bottom:4px}
.field input{width:100%;font:16px var(--body);padding:11px 12px;border:1px solid var(--line);border-radius:10px;background:var(--drop);color:var(--ink)}
.field input:focus{outline:3px solid var(--accent);outline-offset:1px;border-color:var(--accent)}
.auth button.primary{width:100%}
.auth .err{color:var(--err);font-size:14px;min-height:1.4em;margin:2px 0 10px}
.auth .ok{color:var(--accent);font-size:14px;min-height:1.4em;margin:2px 0 10px}
.auth .alt{display:flex;justify-content:space-between;gap:10px;margin-top:16px;font-size:14px}
.auth .foot{font-size:13px;color:var(--muted);margin-top:18px;text-align:center}
.expiry{background:var(--accent-soft);border-radius:10px;padding:10px 14px;font-size:14px;margin:-8px 0 22px}
.expiry.late{background:transparent;border:1px solid var(--warn);color:var(--warn)}
.sitefoot{max-width:880px;margin:0 auto;padding:0 clamp(16px,4vw,32px) 32px;font-size:13px;color:var(--muted)}

/* ---- yönetim paneli ---- */
.wide{max-width:1180px}
.adm{max-width:1180px;margin:0 auto;padding:24px clamp(16px,4vw,32px) 48px}
.adm h1{font:700 clamp(26px,4vw,34px)/1.1 var(--display);margin:0 0 18px}
.adm h2{font:600 20px/1.25 var(--display);margin:0 0 12px}
.toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:0 0 16px}
.toolbar input,.toolbar select{font:15px var(--body);padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--ink)}
.toolbar input{flex:1;min-width:200px}
.toolbar .grow{flex:1}
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:12px;overflow:hidden;margin:0 0 20px}
.kpi{background:var(--surface);padding:14px 16px}
.kpi b{display:block;font:600 22px/1.2 var(--display);font-variant-numeric:tabular-nums}
.kpi small{color:var(--muted);font-size:13px}
table.list tbody tr{cursor:pointer}
table.list tbody tr:hover td{background:var(--accent-soft)}
.badge{display:inline-block;font-size:12px;font-weight:600;padding:2px 8px;border-radius:999px;border:1px solid var(--line);color:var(--muted)}
.badge.ok{color:var(--accent);border-color:var(--accent)}
.badge.warn{color:var(--warn);border-color:var(--warn)}
.badge.err{color:var(--err);border-color:var(--err)}
.card{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:20px;margin:0 0 18px}
.grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:4px 18px}
.card .field input,.card .field select,.card .field textarea{width:100%;font:15px var(--body);padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--drop);color:var(--ink)}
.card .field textarea{min-height:70px;resize:vertical}
.card .field input:focus,.card .field select:focus,.card .field textarea:focus{outline:3px solid var(--accent);outline-offset:1px}
.check{display:flex;align-items:center;gap:8px;font-size:15px;margin:6px 0 12px}
.check input{width:18px;height:18px;accent-color:var(--accent)}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin:-4px 0 14px}
.chips button{padding:6px 12px;font-size:14px;border-radius:999px}
.row{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.msg{font-size:14px;min-height:1.4em;margin:8px 0 0}
.msg.err{color:var(--err)} .msg.ok{color:var(--accent)}
button.danger{color:var(--err);border-color:var(--err)}
button.small{padding:6px 10px;font-size:13px;border-radius:8px}
.back{margin:0 0 12px}
.inline{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;align-items:end;margin-top:12px}
.inline .field{margin:0}
.pw{font-family:ui-monospace,Consolas,monospace;background:var(--drop);border:1px dashed var(--line);border-radius:8px;padding:8px 10px;user-select:all}
.empty{color:var(--muted);font-size:14px}
td.empty{padding:14px 12px}

/* ---- yasal sayfalar ---- */
.legal{max-width:760px;margin:0 auto;padding:24px clamp(16px,4vw,32px) 56px}
.legal h1{font:700 clamp(28px,5vw,38px)/1.1 var(--display);margin:0 0 6px}
.legal .meta{color:var(--muted);font-size:14px;margin:0 0 28px}
.legal h2{font:600 19px/1.3 var(--display);margin:30px 0 8px}
.legal p,.legal li{max-width:68ch}
.legal ul,.legal ol{padding-left:22px}
.legal li{margin:4px 0}
.legal a{color:var(--accent)}
.legal table{border:1px solid var(--line);border-radius:10px;margin:8px 0 16px}
.legal td,.legal th{white-space:normal;vertical-align:top}
mark.ph{background:rgba(245,183,89,.18);color:#FFD38A;padding:0 4px;border-radius:4px}
.terms-check{display:flex;gap:10px;align-items:flex-start;font-size:14px;margin:4px 0 12px;color:var(--ink)}
.terms-check input{width:18px;height:18px;margin-top:2px;accent-color:var(--accent);flex:none}
.terms-check a,.foot a,.sitefoot a{color:var(--accent)}
a.brand{color:var(--ink);text-decoration:none}

/* ---- koyu tema ayrıntıları ---- */
body{font-feature-settings:"tnum" 1,"ss01" 1}
h1{font-weight:700;letter-spacing:-.03em}
.top{padding-bottom:16px;border-bottom:1px solid var(--line);max-width:none;margin:0;padding-left:max(clamp(16px,4vw,32px),calc((100vw - 880px)/2 + clamp(16px,4vw,32px)));padding-right:max(clamp(16px,4vw,32px),calc((100vw - 880px)/2 + clamp(16px,4vw,32px)))}
.top.wide{padding-left:max(clamp(16px,4vw,32px),calc((100vw - 1180px)/2 + clamp(16px,4vw,32px)));padding-right:max(clamp(16px,4vw,32px),calc((100vw - 1180px)/2 + clamp(16px,4vw,32px)))}
.brand{font-weight:700;letter-spacing:-.02em}
.brand .mark{background:var(--accent);color:var(--accent-ink);border-radius:7px;font-weight:700}

/* Bırakma alanı: boş bir tablo sayfası gibi */
.drop{
  border:1px solid var(--line);border-radius:12px;
  background-color:var(--drop);
  background-image:
    linear-gradient(to right, rgba(147,164,189,.16) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(147,164,189,.16) 1px, transparent 1px);
  background-size:96px 32px;
  background-position:-1px -1px;
  padding:clamp(36px,7vw,60px) 28px;
  transition:border-color .2s, box-shadow .2s, background-color .2s;
}
.drop:hover,.drop.over{border-color:var(--accent);background-color:#1A2D5E;box-shadow:0 0 0 4px var(--accent-soft);background-image:linear-gradient(to right, rgba(92,200,255,.16) 1px, transparent 1px),linear-gradient(to bottom, rgba(92,200,255,.16) 1px, transparent 1px)}
.drop.over{background-image:
    linear-gradient(to right, rgba(92,200,255,.22) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(92,200,255,.22) 1px, transparent 1px)}
.drop strong{font-weight:600;letter-spacing:-.02em}

button{background:transparent;border-color:var(--line);color:var(--ink);transition:background-color .15s,border-color .15s}
button:hover:not(:disabled){border-color:var(--muted);background:rgba(255,255,255,.04)}
button.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}
button.primary:hover:not(:disabled){background:#86D7FF;border-color:#86D7FF}
button.danger{color:var(--err);border-color:rgba(255,138,138,.45)}
button.danger:hover:not(:disabled){background:rgba(255,138,138,.08);border-color:var(--err)}
.linkbtn{color:var(--accent)}
a.bm{color:var(--accent-ink)}

.stats,.kpis{background:var(--line);border-color:var(--line)}
.stat,.kpi{background:var(--surface)}
.tablewrap{background:var(--surface);border-color:var(--line)}
th{background:#0D1840;color:var(--muted);font-weight:500}
tbody tr:nth-child(even) td{background:rgba(255,255,255,.015)}
table.list tbody tr:hover td{background:var(--accent-soft)}

.auth .box,.card,.gmu{background:var(--surface);border-color:var(--line)}
.field input,.card .field input,.card .field select,.card .field textarea,.toolbar input,.toolbar select,.gate textarea{background:var(--bg);border-color:var(--line);color:var(--ink)}
.field input::placeholder,.toolbar input::placeholder{color:#7486B3}
.expiry{background:var(--accent-soft);border:1px solid rgba(92,200,255,.25)}
.expiry.late{background:rgba(245,183,89,.08);border-color:var(--warn);color:var(--warn)}
.badge.ok{background:rgba(92,200,255,.10)}
.badge.warn{background:rgba(245,183,89,.10)}
.badge.err{background:rgba(255,138,138,.10)}
.licbar b{color:var(--ink)}
.legal h2{letter-spacing:-.01em}
::selection{background:rgba(92,200,255,.35)}
@media (prefers-reduced-motion: reduce){.drop,button{transition:none}}

/* ---- satın alma ---- */
.shop-items{display:grid;gap:10px}
.shop-row{display:grid;grid-template-columns:1fr auto;gap:6px 16px;align-items:center;padding:14px 16px;border:1px solid var(--line);border-radius:10px;background:var(--bg)}
.shop-row h3{margin:0;font:600 16px/1.3 var(--body)}
.shop-row p{margin:2px 0 0;color:var(--muted);font-size:14px}
.shop-row .price{font-weight:600;white-space:nowrap}
.shop-row .ctl{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center}
.shop-row .ctl input[type=number]{width:80px}
.shop-row .ctl input[type=text]{flex:1;min-width:200px}
.shop-row .ctl input{font:15px var(--body);padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink)}
.shop-row .ctl label{display:flex;gap:8px;align-items:center;font-size:15px}
.shop-row .ctl input[type=checkbox]{width:18px;height:18px;accent-color:var(--accent)}
.shop-total{display:flex;justify-content:space-between;align-items:baseline;font-size:18px;margin:0 0 14px}
.shop-total b{font-size:26px;letter-spacing:-.02em}
.notice{border-radius:10px;padding:12px 14px;margin:0 0 20px;font-size:15px;border:1px solid}
.notice.ok{background:var(--accent-soft);border-color:rgba(92,200,255,.35)}
.notice.err{background:rgba(255,138,138,.08);border-color:var(--err);color:var(--err)}

#sec-orders,#sec-prices{margin-top:24px}
.card .hint,.hint{color:var(--muted);font-size:13px}
.pr-in{width:130px;font:15px var(--body);padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:var(--bg);color:var(--ink);text-align:right}
details.fb summary{cursor:pointer;color:var(--accent)}
details.fb div{white-space:normal;font-size:13px;color:var(--muted);margin-top:4px;max-width:340px}
.badge.main{color:var(--accent);border-color:var(--accent)}

/* ---- logo ---- */
.brand{gap:14px}
.brand img.logo{height:54px;width:auto;display:block}
.brand .sep{width:1px;height:32px;background:var(--line)}
.brand .prod{font-weight:600;font-size:17px;letter-spacing:-.01em;color:var(--ink)}
@media (max-width:520px){.brand img.logo{height:40px}.brand .prod{font-size:15px}.brand{gap:10px}}
.auth .box .box-logo{display:block;height:84px;width:auto;margin:0 auto 18px}

/* ---- GMU adımları (üstte) ---- */
.gmu{margin:0 0 24px}
.gmu-steps{margin:4px 0 0;padding-left:24px;counter-reset:none}
.gmu-steps li{margin:0 0 12px;padding-left:4px}
.gmu-steps li::marker{color:var(--accent);font-weight:700}
.gmu-steps .bmrow{margin:12px 0 10px}
.gmu-steps .hint{margin:8px 0 0}
.bm-illus{display:block;width:100%;max-width:560px;height:auto;margin:6px 0 0;border-radius:10px}

/* ödeme yöntemi ve havale bilgileri */
.paymethods{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px}
.paym{display:flex;gap:12px;align-items:flex-start;padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--drop);cursor:pointer}
.paym[hidden]{display:none}
.paym input{width:18px;height:18px;margin-top:3px;accent-color:var(--accent);flex:none}
.paym b{display:block;font-size:15px}
.paym small{display:block;font-size:13px;color:var(--muted);margin-top:3px;line-height:1.4}
.paym:has(input:checked){border-color:var(--accent);box-shadow:0 0 0 1px var(--accent) inset}
.bankinfo{display:grid;grid-template-columns:max-content 1fr;gap:8px 16px;margin:14px 0;padding:14px 16px;background:var(--drop);border:1px solid var(--line);border-radius:12px}
.bankinfo dt{color:var(--muted);font-size:14px}
.bankinfo dd{margin:0;font-weight:600;word-break:break-word}
.bankinfo dd span{font-variant-numeric:tabular-nums}
.bankinfo .copy{font-size:13px;margin-left:8px;padding:0}
@media (max-width:480px){.bankinfo{grid-template-columns:1fr}.bankinfo dt{margin-top:6px}}
