/* ═══════════════════════════════════════════════
   SİMBİEN v5 — Apple Wallet × Garanti BBVA
   ═══════════════════════════════════════════════ */

/* ── KOYU TEMA (varsayılan) ─────────────────── */
:root {
  --bg:      #000000;
  --bg1:     #0a0a0a;
  --bg2:     #111111;
  --bg3:     #1c1c1e;
  --bg4:     #2c2c2e;
  --bg5:     #3a3a3c;

  --border:  rgba(255,255,255,.08);
  --border2: rgba(255,255,255,.14);

  --t1: #ffffff;
  --t2: rgba(255,255,255,.75);
  --t3: rgba(255,255,255,.45);
  --t4: rgba(255,255,255,.28);
  --t5: rgba(255,255,255,.12);

  /* Garanti BBVA yeşili */
  --green:       #34c759;
  --green-mid:   #2d7a3a;
  --green-dark:  #1e5c2e;
  --green-d:     rgba(52,199,89,.12);
  --green-d2:    rgba(52,199,89,.2);
  --green-border:rgba(52,199,89,.22);

  --red:    #ff453a;
  --red-d:  rgba(255,69,58,.1);
  --ora:    #ff9f0a;
  --ora-d:  rgba(255,159,10,.1);
  --blue:   #0a84ff;
  --blue-d: rgba(10,132,255,.1);

  /* Uyumluluk */
  --accent:       var(--green);
  --accent2:      var(--green-mid);
  --accent-glow:  rgba(52,199,89,.25);
  --accent-d:     var(--green-d);
  --danger:       var(--red);
  --orange:       var(--ora);
  --yellow:       #ffd60a;
  --purple:       #bf5af2;
  --purple-d:     rgba(191,90,242,.1);
  --orange-d:     var(--ora-d);
  --yellow-d:     rgba(255,214,10,.1);

  --font: -apple-system,'SF Pro Display','SF Pro Text','Helvetica Neue',system-ui,sans-serif;
  --r-sm:  8px;  --r-md: 12px;  --r-lg: 16px;
  --r-xl:  20px; --r-2xl:26px;  --r-pill:100px;
  --ease: cubic-bezier(.4,0,.2,1);
  --t: all .18s var(--ease);
}

/* ── AÇIK TEMA ──────────────────────────────── */
.theme-light {
  --bg:      #f2f2f7;
  --bg1:     #ffffff;
  --bg2:     #ffffff;
  --bg3:     #e5e5ea;
  --bg4:     #d1d1d6;
  --bg5:     #c7c7cc;

  --border:  rgba(0,0,0,.08);
  --border2: rgba(0,0,0,.14);

  --t1: #000000;
  --t2: rgba(0,0,0,.75);
  --t3: rgba(0,0,0,.45);
  --t4: rgba(0,0,0,.28);
  --t5: rgba(0,0,0,.1);

  --green:       #1a6b2e;
  --green-mid:   #2d7a3a;
  --green-dark:  #1e5c2e;
  --green-d:     rgba(26,107,46,.1);
  --green-d2:    rgba(26,107,46,.18);
  --green-border:rgba(26,107,46,.22);

  --red:    #c0392b;
  --red-d:  rgba(192,57,43,.08);
  --ora:    #c07800;
  --ora-d:  rgba(192,120,0,.08);
  --blue:   #0051a8;
  --blue-d: rgba(0,81,168,.08);

  --accent:       var(--green);
  --accent2:      var(--green-mid);
  --accent-glow:  rgba(26,107,46,.2);
  --accent-d:     var(--green-d);
}

/* ── RESET ──────────────────────────────────── */
*, *::before, *::after {
  box-sizing: border-box; margin: 0; padding: 0;
  -webkit-tap-highlight-color: transparent;
}
html { scroll-behavior: smooth; }
body {
  font-family: var(--font);
  background: var(--bg); color: var(--t1);
  font-size: 15px; line-height: 1.5;
  -webkit-font-smoothing: antialiased;
  overflow: hidden; height: 100vh; width: 100vw;
  letter-spacing: -.01em;
}

/* ── SAYFA SİSTEMİ ──────────────────────────── */
.page { display:none; position:fixed; inset:0; z-index:1; overflow-y:auto; }
.page.active { display:block; animation: pgIn .22s var(--ease); }
@keyframes pgIn { from{opacity:0;transform:translateY(4px)} to{opacity:1;transform:none} }

#pg-app.page.active {
  display: flex !important;
  flex-direction: column;
  overflow: hidden !important;
}
#pg-app .app-status-bar { flex-shrink:0; background:var(--bg); }
#pg-app .app-content { flex:1; overflow:hidden; position:relative; min-height:0; }

.tab { display:none; height:100%; overflow:hidden; }
.tab.active { display:flex; flex-direction:column; }
.tab-scroll {
  flex:1; overflow-y:auto; overflow-x:hidden;
  -webkit-overflow-scrolling:touch; padding:16px 16px 8px;
}
.tab-scroll::-webkit-scrollbar { display:none; }

/* ── ALT NAV — Apple tarzı ──────────────────── */
#pg-app .bottom-nav {
  flex-shrink: 0;
  height: 76px;
  background: var(--bg);
  border-top: .5px solid var(--border);
  display: flex;
  align-items: flex-start;
  padding: 8px 0 0;
  position: relative; z-index: 50;
}
.bn-btn {
  flex: 1; display: flex; flex-direction: column;
  align-items: center; gap: 3px;
  background: none; border: none; cursor: pointer;
  padding: 6px 4px; border-radius: 12px;
  transition: var(--t); position: relative;
}
.bn-btn svg { width: 24px; height: 24px; color: var(--t4); transition: color .15s; }
.bn-btn span { font-size: 10px; font-weight: 500; color: var(--t4); transition: color .15s; }
.bn-btn.active svg  { color: var(--green); }
.bn-btn.active span { color: var(--green); font-weight: 600; }
.reminder-badge {
  position:absolute; top:3px; right:calc(50% - 18px);
  background:var(--red); color:#fff;
  font-size:9px; font-weight:700;
  min-width:16px; height:16px; border-radius:100px;
  padding:0 4px; display:flex; align-items:center; justify-content:center;
}

/* ── BUTONLAR ───────────────────────────────── */
.btn-green-full, .btn-ghost-full, .btn-red-full {
  width:100%; padding:14px; border-radius:var(--r-lg);
  font-size:15px; font-weight:600;
  cursor:pointer; border:none; transition:var(--t); font-family:var(--font);
}
.btn-green-full { background:var(--green); color:#fff; box-shadow:0 4px 14px var(--accent-glow); }
.btn-ghost-full { background:var(--bg3); color:var(--t2); border:.5px solid var(--border2); }
.btn-red-full   { background:var(--red); color:#fff; }
.btn-green-sm   { display:inline-flex; align-items:center; border-radius:var(--r-md); padding:8px 16px; font-size:13px; font-weight:600; cursor:pointer; border:none; background:var(--green); color:#fff; font-family:var(--font); }
.btn-green-lg   { display:inline-flex; align-items:center; border-radius:var(--r-lg); padding:14px 30px; font-size:16px; font-weight:600; cursor:pointer; border:none; background:var(--green); color:#fff; font-family:var(--font); }
.btn-ghost-lg   { display:inline-flex; align-items:center; border-radius:var(--r-lg); padding:14px 30px; font-size:16px; font-weight:600; cursor:pointer; border:none; background:var(--bg3); color:var(--t2); border:.5px solid var(--border2); font-family:var(--font); }
.btn-outline-sm { display:inline-flex; align-items:center; border-radius:var(--r-md); padding:8px 16px; font-size:13px; font-weight:600; cursor:pointer; background:var(--bg3); color:var(--t2); border:.5px solid var(--border2); font-family:var(--font); }
.btn-danger-sm  { display:inline-flex; align-items:center; justify-content:center; gap:6px; background:var(--red-d); color:var(--red); font-size:13px; font-weight:500; border:.5px solid rgba(255,69,58,.2); border-radius:var(--r-md); padding:9px 14px; cursor:pointer; width:100%; margin-top:8px; font-family:var(--font); }

/* ── FORM ───────────────────────────────────── */
.fld { display:flex; flex-direction:column; gap:5px; }
.fld label { font-size:11px; font-weight:600; color:var(--t4); letter-spacing:.05em; text-transform:uppercase; }
.fld-row { display:grid; grid-template-columns:1fr 1fr; gap:10px; }

input[type=text], input[type=email], input[type=password],
input[type=number], input[type=date], input[type=time],
select, textarea {
  width:100%; background:var(--bg3); border:.5px solid var(--border2);
  border-radius:var(--r-md); padding:11px 14px;
  font-family:var(--font); font-size:15px; color:var(--t1);
  outline:none; transition:var(--t);
  -webkit-appearance:none; appearance:none;
}
input::placeholder, textarea::placeholder { color:var(--t4); }
input:focus, select:focus, textarea:focus {
  border-color:var(--green);
  background:var(--bg4);
  box-shadow:0 0 0 3px var(--green-d);
}
select option { background:var(--bg3); color:var(--t1); }

/* ── İKON BUTON ─────────────────────────────── */
.icon-btn {
  width:34px; height:34px; background:var(--bg3);
  border:.5px solid var(--border); border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  cursor:pointer; color:var(--t2); transition:var(--t); border:none;
}
.icon-btn svg { width:16px; height:16px; }
.icon-btn-sm {
  width:30px; height:30px; background:var(--bg3);
  border:.5px solid var(--border); border-radius:10px;
  display:flex; align-items:center; justify-content:center;
  cursor:pointer; color:var(--t3); font-size:16px; font-family:var(--font);
}
.green-ic  { background:var(--green-d) !important; color:var(--green) !important; border-color:var(--green-border) !important; }
.green-txt { color:var(--green) !important; }

/* ── TOAST ──────────────────────────────────── */
.toast {
  position:fixed; bottom:90px; left:50%; transform:translateX(-50%) translateY(20px);
  background:var(--bg3); color:var(--t1);
  padding:11px 20px; border-radius:var(--r-pill);
  font-size:14px; font-weight:600; z-index:9999;
  opacity:0; transition:opacity .2s, transform .2s;
  white-space:nowrap; pointer-events:none;
  box-shadow:0 4px 20px rgba(0,0,0,.3);
}
.toast.show { opacity:1; transform:translateX(-50%) translateY(0); }
.toast.ok  { background:var(--green); color:#fff; }
.toast.err { background:var(--red);   color:#fff; }
.toast.inf { background:var(--blue);  color:#fff; }

/* ── SHEET ──────────────────────────────────── */
.sheet-overlay {
  display:none; position:fixed; inset:0; z-index:200;
  background:rgba(0,0,0,.5); backdrop-filter:blur(6px);
  align-items:flex-end; justify-content:center;
}
.sheet-overlay.open { display:flex; animation:overlayIn .2s var(--ease); }
@keyframes overlayIn { from{opacity:0} to{opacity:1} }
.sheet {
  background:var(--bg2); border:.5px solid var(--border2);
  border-radius:26px 26px 0 0;
  width:100%; max-width:540px; max-height:90vh;
  overflow-y:auto; animation:sheetUp .28s var(--ease);
}
.sheet-lg { max-height:92vh; }
@keyframes sheetUp { from{transform:translateY(100%)} to{transform:none} }
.sheet-handle { width:36px; height:4px; background:var(--border2); border-radius:2px; margin:10px auto 0; }
.sheet-hdr { display:flex; align-items:center; justify-content:space-between; padding:14px 20px 10px; }
.sheet-hdr h3 { font-size:17px; font-weight:700; color:var(--t1); }
.sheet-close { width:28px; height:28px; border-radius:50%; background:var(--bg4); border:none; color:var(--t3); font-size:14px; display:flex; align-items:center; justify-content:center; cursor:pointer; }
.sheet-body { padding:16px 20px; display:flex; flex-direction:column; gap:12px; }
.sheet-foot { padding:0 20px 24px; display:flex; gap:10px; }
.sheet-foot .btn-ghost-full { flex:1; }
.sheet-foot .btn-green-full { flex:2; }
.sheet-apple-hdr { display:flex; align-items:center; padding:12px 16px; border-bottom:.5px solid var(--border); }
.sheet-apple-title-lbl { flex:1; text-align:center; font-size:15px; font-weight:700; color:var(--t1); }
.sheet-apple-cancel { background:none; border:none; font-size:15px; cursor:pointer; font-family:var(--font); color:var(--t3); font-weight:400; }
.sheet-apple-done   { background:none; border:none; font-size:15px; cursor:pointer; font-family:var(--font); color:var(--green); font-weight:700; }

/* AEF */
.aef-group { background:var(--bg3); border-radius:var(--r-lg); overflow:hidden; border:.5px solid var(--border); }
.aef-row { display:flex; align-items:center; gap:12px; padding:12px 14px; border-bottom:.5px solid var(--border); }
.aef-row:last-child { border-bottom:none; }
.aef-row-icon { width:30px; height:30px; border-radius:8px; display:flex; align-items:center; justify-content:center; font-size:14px; flex-shrink:0; }
.aef-row-label { font-size:14px; font-weight:500; color:var(--t1); flex-shrink:0; min-width:80px; }
.aef-row-input, .aef-row-select { flex:1; background:none; border:none; font-size:14px; color:var(--t1); text-align:right; font-family:var(--font); outline:none; padding:0; box-shadow:none; }
.aef-notes-input { flex:1; background:none; border:none; font-size:14px; color:var(--t2); font-family:var(--font); outline:none; min-height:80px; resize:none; line-height:1.5; }
.aef-color-row { display:flex; gap:8px; justify-content:flex-end; }
.aef-color-dot { width:24px; height:24px; border-radius:50%; cursor:pointer; border:2px solid transparent; transition:var(--t); }
.aef-color-dot.active { border-color:var(--t1); transform:scale(1.15); }
.clr-row { display:flex; gap:8px; }
.clr { width:28px; height:28px; border-radius:50%; cursor:pointer; border:2px solid transparent; transition:var(--t); }
.clr.active { border-color:var(--t1); transform:scale(1.15); }

/* ── BÜTÇE HEADER ───────────────────────────── */
.bud-hdr { display:flex; align-items:center; justify-content:space-between; padding:14px 20px 0; flex-shrink:0; }
.bud-title   { font-size:28px; font-weight:700; color:var(--t1); letter-spacing:-.04em; }
.bud-subtitle { font-size:12px; color:var(--t3); margin-top:2px; font-weight:400; letter-spacing:0; }

/* ── HERO KART ──────────────────────────────── */
.hero-card {
  margin:14px 16px 0;
  background:var(--bg2);
  border-radius:20px;
  padding:20px;
  border:.5px solid var(--border);
}
.hero-bal-lbl { font-size:11px; font-weight:600; color:var(--t4); text-transform:uppercase; letter-spacing:.05em; margin-bottom:5px; }
.hero-net { font-size:38px; font-weight:700; color:var(--t1); letter-spacing:-.04em; line-height:1; margin-bottom:16px; }
.hero-net.pos { color:var(--green); }
.hero-net.neg { color:var(--red); }
.hero-stats { display:flex; gap:0; background:var(--bg3); border-radius:14px; overflow:hidden; }
.hstat { flex:1; padding:12px 8px; text-align:center; }
.hstat+.hstat { border-left:.5px solid var(--border); }
.hstat-lbl { font-size:9px; font-weight:600; color:var(--t4); text-transform:uppercase; letter-spacing:.05em; margin-bottom:4px; display:block; }
.hstat-val { font-size:15px; font-weight:700; color:var(--t1); letter-spacing:-.02em; }
.hstat-val.g { color:var(--green); }
.hstat-val.r { color:var(--red); }
.hstat-val.o { color:var(--ora); }

/* ── SEKME BARI ─────────────────────────────── */
.bud-period-bar { display:flex; gap:5px; padding:14px 16px 8px; overflow-x:auto; scrollbar-width:none; }
.bud-period-bar::-webkit-scrollbar { display:none; }
.bpb-btn {
  flex-shrink:0; padding:7px 14px; border-radius:var(--r-pill);
  border:none; font-size:12px; font-weight:600; cursor:pointer;
  font-family:var(--font); background:var(--bg3); color:var(--t4);
  border:.5px solid var(--border); transition:var(--t);
}
.bpb-btn.active { background:var(--green); color:#fff; border-color:var(--green); }

.bud-view { display:none; }
.bud-view.active { display:block; }
#tab-budget .tab-scroll { padding-bottom:90px; }

/* ── İŞLEM LİSTESİ ──────────────────────────── */
.tx-list { display:flex; flex-direction:column; }
.tx-date-group { margin-bottom:12px; }
.tx-date-header { display:flex; align-items:center; gap:8px; padding:6px 0 6px; }
.tx-date-line { flex:1; height:.5px; background:var(--border); }
.tx-date-lbl { font-size:10px; font-weight:600; color:var(--t4); text-transform:uppercase; letter-spacing:.06em; white-space:nowrap; }
.tx-date-sum { font-size:10px; font-weight:600; color:var(--t4); }
.tx-date-sum.g { color:var(--green); }

.tx-item { display:flex; align-items:center; gap:12px; padding:12px 0; border-bottom:.5px solid var(--border); cursor:pointer; }
.tx-item:last-child { border-bottom:none; }
.tx-ic { width:40px; height:40px; border-radius:12px; display:flex; align-items:center; justify-content:center; font-size:18px; flex-shrink:0; }
.tx-body { flex:1; min-width:0; }
.tx-name { font-size:15px; font-weight:500; color:var(--t1); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.tx-meta { font-size:13px; color:var(--t4); margin-top:1px; display:flex; align-items:center; gap:5px; }
.tx-note { font-size:12px; color:var(--t4); margin-top:2px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; font-style:italic; }
.kk-badge { display:inline-flex; align-items:center; gap:3px; font-size:11px; font-weight:500; color:var(--ora); }
.tx-amt { font-size:15px; font-weight:600; flex-shrink:0; letter-spacing:-.02em; }
.tx-amt.g { color:var(--green); }
.tx-amt.r { color:var(--red); }
.tx-amt.o { color:var(--ora); }

.txf-btn { padding:6px 14px; border-radius:var(--r-pill); border:none; font-size:12px; font-weight:600; cursor:pointer; font-family:var(--font); background:var(--bg3); color:var(--t4); border:.5px solid var(--border); transition:var(--t); }
.txf-btn.active { background:var(--green); color:#fff; border-color:var(--green); }
.tx-filters { display:flex; gap:6px; margin-bottom:12px; }

/* ── KREDİ KARTLARI ─────────────────────────── */
.cc-list { display:flex; flex-direction:column; gap:10px; }
.cc-card { border-radius:20px; padding:18px; position:relative; overflow:hidden; }
.cc-card-top { display:flex; justify-content:space-between; align-items:flex-start; margin-bottom:4px; }
.cc-bank { font-size:10px; font-weight:600; color:rgba(255,255,255,.55); text-transform:uppercase; letter-spacing:.07em; }
.cc-name { font-size:18px; font-weight:700; color:#fff; letter-spacing:-.03em; margin-bottom:14px; }
.cc-chip-ic { font-size:24px; color:rgba(255,255,255,.5); }
.cc-stats-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:6px; margin-bottom:12px; }
.cc-stat { background:rgba(0,0,0,.2); border-radius:10px; padding:8px 6px; text-align:center; }
.cc-sl { font-size:8px; font-weight:600; color:rgba(255,255,255,.45); text-transform:uppercase; letter-spacing:.04em; margin-bottom:3px; }
.cc-sv { font-size:13px; font-weight:700; color:#fff; }
.cc-bar-bg { height:3px; background:rgba(0,0,0,.25); border-radius:2px; margin-bottom:14px; }
.cc-bar-fill { height:3px; border-radius:2px; }
.cc-btns { display:flex; gap:6px; }
.cc-btn { flex:1; border:none; border-radius:10px; padding:10px 6px; font-size:11px; font-weight:700; cursor:pointer; font-family:var(--font); display:flex; align-items:center; justify-content:center; gap:5px; background:rgba(255,255,255,.18); color:#fff; transition:var(--t); }
.cc-btn.primary { background:rgba(255,255,255,.9); }

.add-budget-btn { width:100%; padding:14px; border-radius:var(--r-lg); background:transparent; border:.5px dashed var(--border2); color:var(--t4); font-size:14px; font-weight:500; cursor:pointer; font-family:var(--font); margin-top:8px; transition:var(--t); }
.add-budget-btn:hover { color:var(--green); border-color:var(--green-border); }

/* ── BÜTÇE HEDEFLERİ ────────────────────────── */
.bud-bars { display:flex; flex-direction:column; gap:8px; margin-bottom:8px; }
.bbar { background:var(--bg2); border:.5px solid var(--border); border-radius:18px; padding:14px; }
.bbar-top { display:flex; align-items:center; justify-content:space-between; margin-bottom:8px; }
.bbar-left { display:flex; align-items:center; gap:10px; }
.bbar-ic { font-size:20px; }
.bbar-name { font-size:14px; font-weight:600; color:var(--t1); }
.bbar-tag { font-size:10px; font-weight:600; color:var(--t4); background:var(--bg3); border-radius:100px; padding:2px 8px; }
.bbar-right { text-align:right; }
.bbar-vals { font-size:13px; font-weight:600; color:var(--t1); }
.bbar-rem { font-size:11px; color:var(--t3); margin-top:2px; }
.bbar-bg { height:5px; background:var(--bg3); border-radius:3px; margin-bottom:4px; }
.bbar-fill { height:5px; border-radius:3px; background:var(--green); transition:width .4s var(--ease); }
.bbar-fill.warn   { background:var(--ora); }
.bbar-fill.danger { background:var(--red); }

/* ── RAPORLAR ───────────────────────────────── */
.rep-card { background:var(--bg2); border:.5px solid var(--border); border-radius:18px; padding:16px; margin-bottom:10px; }
.rep-card h3 { font-size:13px; font-weight:600; color:var(--t1); margin-bottom:14px; }
.yr-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:5px; }
.yr-m { background:var(--bg3); border-radius:10px; padding:8px 4px; text-align:center; border:.5px solid var(--border); cursor:pointer; transition:var(--t); }
.yr-m.yr-current { background:var(--green-d); border-color:var(--green-border); }
.yr-mn { font-size:9px; font-weight:600; color:var(--t4); text-transform:uppercase; letter-spacing:.04em; margin-bottom:3px; }
.yr-net { font-size:11px; font-weight:700; }
.yr-net.pos { color:var(--green); }
.yr-net.neg { color:var(--red); }

/* ── BUGÜN / TAKVİM ─────────────────────────── */
.sum-pill { flex:1; background:var(--bg2); border:.5px solid var(--border); border-radius:var(--r-lg); padding:12px; display:flex; flex-direction:column; gap:4px; }
.sum-pill.green .sp-val { color:var(--green); }
.sum-pill.red   .sp-val { color:var(--red); }
.sum-pill.blue  .sp-val { color:var(--blue); }
.sp-lbl { font-size:10px; font-weight:600; color:var(--t4); text-transform:uppercase; letter-spacing:.04em; }
.sp-val { font-size:17px; font-weight:700; color:var(--t1); }
.today-list { display:flex; flex-direction:column; gap:1px; }
.tl-item { display:flex; align-items:center; gap:12px; padding:11px 0; border-bottom:.5px solid var(--border); cursor:pointer; }
.tl-item:last-child { border-bottom:none; }
.tl-dot { width:8px; height:8px; border-radius:50%; flex-shrink:0; }
.tl-info { flex:1; min-width:0; }
.tl-title { font-size:15px; font-weight:500; color:var(--t1); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.tl-sub   { font-size:13px; color:var(--t4); margin-top:1px; }
.tl-amt   { font-size:15px; font-weight:600; }
.tl-badge { font-size:10px; font-weight:600; padding:2px 8px; border-radius:100px; }
.tl-empty { text-align:center; padding:24px 0; color:var(--t4); font-size:13px; }

/* Mini takvim */
.mini-cal-days,.mini-cal-grid { display:grid; grid-template-columns:repeat(7,1fr); gap:2px; }
.mc-dn { font-size:10px; font-weight:600; color:var(--t4); text-align:center; padding:2px 0 5px; }
.mc-day { aspect-ratio:1; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:13px; font-weight:500; color:var(--t2); cursor:pointer; position:relative; }
.mc-day.mc-today { background:var(--red); color:#fff; font-weight:700; }
.mc-day.mc-selected:not(.mc-today) { background:var(--bg4); }
.mc-day.mc-other { color:var(--t5); }
.mc-dot { position:absolute; bottom:1px; left:50%; transform:translateX(-50%); display:flex; gap:1.5px; }
.mc-dot span { width:3.5px; height:3.5px; border-radius:50%; }

/* Takvim */
.big-cal-daynames,.big-cal-grid { display:grid; grid-template-columns:repeat(7,1fr); gap:1px; }
.bcd-name { font-size:10px; font-weight:600; color:var(--t4); text-align:center; padding:3px 0; }
.bc-day { min-height:46px; border-radius:10px; padding:5px 4px 3px; cursor:pointer; display:flex; flex-direction:column; transition:background .12s; }
.bc-day:hover { background:var(--bg2); }
.bc-day.bc-today .bc-num { background:var(--red); color:#fff; width:24px; height:24px; border-radius:50%; display:inline-flex; align-items:center; justify-content:center; }
.bc-day.bc-selected:not(.bc-today) { background:var(--bg3); }
.bc-day.bc-other .bc-num { color:var(--t5); }
.bc-num { font-size:13px; font-weight:500; color:var(--t1); }
.bc-dots { display:flex; gap:2px; margin-top:auto; padding-bottom:2px; }
.bc-dot { width:4px; height:4px; border-radius:50%; }
.cal-view-bar { display:flex; gap:4px; background:var(--bg3); border-radius:12px; padding:3px; margin-bottom:10px; }
.cal-view-btn { flex:1; padding:7px; border-radius:9px; border:none; font-size:12px; font-weight:600; cursor:pointer; font-family:var(--font); background:none; color:var(--t4); transition:var(--t); }
.cal-view-btn.active { background:var(--bg2); color:var(--green); }
.cal-header-bar { display:flex; align-items:flex-start; justify-content:space-between; margin-bottom:12px; }
.cal-hdr-actions { display:flex; gap:6px; align-items:center; }
.cal-hdr-month { font-size:24px; font-weight:700; letter-spacing:-.04em; color:var(--t1); }
.cal-hdr-year  { font-size:14px; color:var(--t3); margin-top:1px; }
.cde-hdr { display:flex; align-items:center; justify-content:space-between; padding:6px 0 8px; }
.cde-date { font-size:13px; font-weight:600; color:var(--t2); }
.ts-add { background:var(--green-d); color:var(--green); border:none; border-radius:8px; padding:5px 10px; font-size:12px; font-weight:600; cursor:pointer; font-family:var(--font); }
.cde-list { display:flex; flex-direction:column; gap:1px; }
.cde-item { display:flex; align-items:center; gap:10px; padding:10px 0; border-bottom:.5px solid var(--border); cursor:pointer; }
.cde-item:last-child { border-bottom:none; }
.cde-title { font-size:14px; font-weight:500; color:var(--t1); }
.cde-sub   { font-size:12px; color:var(--t4); margin-top:1px; }
.cde-tag   { font-size:12px; font-weight:600; padding:2px 8px; border-radius:100px; }

/* ── NOTLAR ─────────────────────────────────── */
.notes-masonry { columns:2; column-gap:8px; }
.note-card-keep { break-inside:avoid; margin-bottom:8px; border-radius:16px; padding:13px; cursor:pointer; transition:var(--t); border:.5px solid var(--border); background:var(--bg2); }
.note-card-keep:active { opacity:.85; }
.note-card-keep.priority-critical::before { content:''; position:absolute; top:0; left:0; right:0; height:3px; background:var(--red); border-radius:3px 3px 0 0; }
.nck-title { font-size:13px; font-weight:600; color:var(--t1); margin-bottom:4px; line-height:1.3; }
.nck-body  { font-size:12px; color:var(--t3); line-height:1.5; margin-bottom:5px; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:4; overflow:hidden; }
.nck-badge { font-size:9px; font-weight:700; padding:2px 7px; border-radius:100px; text-transform:uppercase; }
.nck-badge.critical { background:var(--red-d); color:var(--red); }
.nck-badge.high     { background:var(--ora-d); color:var(--ora); }
.nck-badge.medium   { background:rgba(255,214,10,.1); color:#ffd60a; }
.nck-badge.low      { background:var(--blue-d); color:var(--blue); }
.nck-date { font-size:10px; color:var(--t4); }
.nck-pin  { font-size:13px; position:absolute; top:10px; right:10px; }

.nseg { flex:1; background:none; border:none; border-radius:10px; padding:8px 6px; font-size:12px; font-weight:600; color:var(--t4); cursor:pointer; font-family:var(--font); transition:var(--t); }
.nseg.active { background:var(--bg2); color:var(--t1); box-shadow:0 1px 4px rgba(0,0,0,.15); }
.npchip { flex-shrink:0; padding:6px 12px; border-radius:100px; background:var(--bg3); border:.5px solid var(--border); color:var(--t4); font-size:12px; font-weight:600; cursor:pointer; font-family:var(--font); transition:var(--t); white-space:nowrap; }
.npchip.active { background:var(--green); color:#fff; border-color:var(--green); }

/* ── FAB ─────────────────────────────────────── */
.fab-btn { position:fixed; bottom:90px; right:20px; width:54px; height:54px; border-radius:50%; background:var(--green); border:none; color:#fff; font-size:26px; font-weight:300; cursor:pointer; box-shadow:0 4px 20px var(--accent-glow); z-index:50; display:flex; align-items:center; justify-content:center; transition:var(--t); }

/* ── SPINNER / EMPTY ────────────────────────── */
.spinner { width:24px; height:24px; border-radius:50%; border:2px solid var(--border2); border-top-color:var(--green); animation:spin .7s linear infinite; margin:0 auto; }
@keyframes spin { to{transform:rotate(360deg)} }
.empty-state { text-align:center; padding:40px 20px; color:var(--t4); }
.empty-state-icon { font-size:36px; margin-bottom:12px; }
.empty-state-txt  { font-size:14px; font-weight:500; line-height:1.5; }

/* ── NOTIF BUTON ─────────────────────────────── */
.notif-perm-btn { display:flex; align-items:center; gap:8px; width:100%; background:var(--green-d); border:.5px solid var(--green-border); color:var(--green); border-radius:14px; padding:12px 14px; font-size:13px; font-weight:600; cursor:pointer; font-family:var(--font); margin-bottom:8px; transition:var(--t); }

/* ── ADD OPT ─────────────────────────────────── */
.add-opt-btn { width:100%; background:var(--bg3); border:.5px solid var(--border); border-radius:16px; padding:14px; cursor:pointer; font-family:var(--font); transition:var(--t); display:flex; align-items:center; gap:14px; }
.add-opt-btn:active { background:var(--bg4); }
.aob-ic { width:38px; height:38px; border-radius:12px; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.aob-title { font-size:15px; font-weight:600; color:var(--t1); text-align:left; }
.aob-sub   { font-size:12px; color:var(--t3); text-align:left; margin-top:2px; }

/* ── LANDING ─────────────────────────────────── */
.land-wrap { min-height:100vh; background:var(--bg); position:relative; overflow:hidden; }
.land-orb1 { position:absolute; width:400px; height:400px; top:-100px; left:-100px; border-radius:50%; filter:blur(80px); background:radial-gradient(circle,rgba(52,199,89,.1),transparent 70%); pointer-events:none; }
.land-orb2 { position:absolute; width:350px; height:350px; bottom:-100px; right:-100px; border-radius:50%; filter:blur(80px); background:radial-gradient(circle,rgba(10,132,255,.07),transparent 70%); pointer-events:none; }
.land-nav { position:sticky; top:0; z-index:100; display:flex; align-items:center; justify-content:space-between; padding:0 24px; height:56px; background:rgba(0,0,0,.85); backdrop-filter:blur(20px); border-bottom:.5px solid var(--border); }
.land-brand { display:flex; align-items:center; gap:9px; font-size:17px; font-weight:700; color:var(--t1); }
.brand-mark { width:28px; height:28px; border-radius:8px; background:var(--green); display:flex; align-items:center; justify-content:center; }
.land-hero  { padding:72px 24px 60px; text-align:center; max-width:680px; margin:0 auto; position:relative; z-index:1; }
.land-pill  { display:inline-flex; align-items:center; gap:7px; background:var(--green-d); border:.5px solid var(--green-border); border-radius:100px; padding:5px 14px; font-size:12px; font-weight:600; color:var(--green); margin-bottom:24px; }
.pill-dot   { width:6px; height:6px; border-radius:50%; background:var(--green); animation:blink 2s infinite; }
@keyframes blink { 0%,100%{opacity:1}50%{opacity:.3} }
.land-h1   { font-size:clamp(38px,10vw,62px); font-weight:700; letter-spacing:-.05em; line-height:1.02; margin-bottom:20px; color:var(--t1); }
.land-grad { background:linear-gradient(125deg,var(--green),var(--blue)); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; }
.land-sub  { font-size:17px; color:var(--t3); line-height:1.65; max-width:480px; margin:0 auto 36px; }
.land-btns { display:flex; gap:10px; justify-content:center; flex-wrap:wrap; margin-bottom:36px; }
.lc { background:var(--bg2); border:.5px solid var(--border); border-radius:100px; padding:6px 14px; font-size:13px; color:var(--t3); }
.land-feats { display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:12px; padding:0 20px 60px; max-width:860px; margin:0 auto; }
.lf-card { background:var(--bg2); border:.5px solid var(--border); border-radius:var(--r-xl); padding:22px; transition:var(--t); }
.lf-ic { width:42px; height:42px; border-radius:12px; display:flex; align-items:center; justify-content:center; font-size:19px; margin-bottom:14px; }
.lf-card h3 { font-size:15px; font-weight:600; margin-bottom:6px; color:var(--t1); }
.lf-card p  { font-size:13px; color:var(--t3); line-height:1.6; }
.land-footer { padding:24px; text-align:center; border-top:.5px solid var(--border); }
.land-footer span { font-size:13px; color:var(--t4); }

/* ── AUTH ────────────────────────────────────── */
.auth-screen { min-height:100vh; display:flex; flex-direction:column; align-items:center; justify-content:center; padding:24px; background:var(--bg); max-width:400px; margin:0 auto; }
.auth-back { align-self:flex-start; background:none; border:none; color:var(--t3); font-size:15px; cursor:pointer; margin-bottom:32px; font-family:var(--font); }
.auth-mark { width:48px; height:48px; border-radius:14px; display:flex; align-items:center; justify-content:center; margin-bottom:20px; }
.green-mark { background:var(--green); }
.auth-screen h1 { font-size:26px; font-weight:700; letter-spacing:-.04em; margin-bottom:6px; align-self:flex-start; color:var(--t1); }
.auth-sub { font-size:14px; color:var(--t3); margin-bottom:28px; align-self:flex-start; }
.auth-fields { width:100%; display:flex; flex-direction:column; gap:12px; margin-bottom:16px; }
.auth-switch { font-size:13px; color:var(--t4); }
.auth-switch a { color:var(--green); text-decoration:none; }

/* ── MASAÜSTÜ ORTALAMA ──────────────────────── */
@media (min-width:540px) {
  #pg-app { max-width:480px; margin:0 auto; box-shadow:0 0 60px rgba(0,0,0,.4); }
}

/* ── RING (eski uyumluluk — gizli) ─────────── */
.ring-section { display:none !important; }
