/* ═══════════ TOKENS ═══════════ */
:root{
  --brand:#034C86; --brand-deep:#023A68; --brand-soft:#E7EFF8; --brand-ink:#034C86;
  --ink:#0A1220; --ink-2:#33445C; --muted:#6A7A90; --faint:#93A2B5;
  --paper:#F3F6FA; --surface:#FFFFFF; --surface-2:#F8FAFD;
  --line:#DFE7F1; --line-strong:#C7D4E4;
  --rail:#0A1220; --rail-text:#93A6C0; --rail-active:#0F2540; --rail-line:#1B2A42;

  --ok:#0C6E46; --ok-bg:#E3F3EA; --ok-line:#B7DFC9;
  --warn:#8A5A00; --warn-bg:#FCF1DC; --warn-line:#EBD2A0;
  --crit:#9E2B22; --crit-bg:#FBE8E6; --crit-line:#F0C2BD;
  --info:#034C86; --info-bg:#E7EFF8; --info-line:#C2D8ED;

  /* Grafik serileri — colorblind + kontrast testinden geçti */
  --s-gelir:#0F66AE; --s-gider:#C2661F;
  --grid:#E8EEF6;

  /* Phoebe — ışık motifi */
  --glow:rgba(90,166,228,.35);
  --glow-2:rgba(3,76,134,.10);

  --r-sm:8px; --r:12px; --r-lg:16px;
  --shadow:0 1px 2px rgba(10,18,32,.04), 0 8px 24px -12px rgba(10,18,32,.10);
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --brand:#5AA6E4; --brand-deep:#7FBCEE; --brand-soft:#12283F; --brand-ink:#8CC4F0;
    --ink:#EAF1F9; --ink-2:#B9C8DA; --muted:#8698AE; --faint:#65778E;
    --paper:#070D18; --surface:#101A2B; --surface-2:#0C1524;
    --line:#20304A; --line-strong:#2C3E5C;
    --rail:#060B14; --rail-text:#7C8FA8; --rail-active:#132339; --rail-line:#1A2840;
    --ok:#5FD6A0; --ok-bg:#0E2A20; --ok-line:#1D4A38;
    --warn:#E9B44C; --warn-bg:#2C2211; --warn-line:#4E3C18;
    --crit:#F08A80; --crit-bg:#2E1512; --crit-line:#52251F;
    --info:#5AA6E4; --info-bg:#12283F; --info-line:#1E3F5F;
    --s-gelir:#3B8FD4; --s-gider:#C4732F;
    --grid:#1B2739;
    --glow:rgba(90,166,228,.30); --glow-2:rgba(90,166,228,.07);
    --shadow:0 1px 2px rgba(0,0,0,.3), 0 8px 24px -12px rgba(0,0,0,.6);
  }
}
:root[data-theme="dark"]{
  --brand:#5AA6E4; --brand-deep:#7FBCEE; --brand-soft:#12283F; --brand-ink:#8CC4F0;
  --ink:#EAF1F9; --ink-2:#B9C8DA; --muted:#8698AE; --faint:#65778E;
  --paper:#070D18; --surface:#101A2B; --surface-2:#0C1524;
  --line:#20304A; --line-strong:#2C3E5C;
  --rail:#060B14; --rail-text:#7C8FA8; --rail-active:#132339; --rail-line:#1A2840;
  --ok:#5FD6A0; --ok-bg:#0E2A20; --ok-line:#1D4A38;
  --warn:#E9B44C; --warn-bg:#2C2211; --warn-line:#4E3C18;
  --crit:#F08A80; --crit-bg:#2E1512; --crit-line:#52251F;
  --info:#5AA6E4; --info-bg:#12283F; --info-line:#1E3F5F;
  --s-gelir:#3B8FD4; --s-gider:#C4732F;
  --grid:#1B2739;
  --glow:rgba(90,166,228,.30); --glow-2:rgba(90,166,228,.07);
  --shadow:0 1px 2px rgba(0,0,0,.3), 0 8px 24px -12px rgba(0,0,0,.6);
}

*{box-sizing:border-box;}
body{margin:0;background:var(--paper);color:var(--ink);
  font-family:"Manrope","Segoe UI",system-ui,-apple-system,sans-serif;
  font-size:14px;line-height:1.55;-webkit-font-smoothing:antialiased;}
.mono{font-family:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace;}
.num{font-variant-numeric:tabular-nums;}
a{color:var(--brand-ink);text-decoration:none;}
button{font-family:inherit;}
:focus-visible{outline:2px solid var(--brand);outline-offset:2px;border-radius:4px;}

/* ═══════════ PHOEBE — YÜKLEME ═══════════ */
#loader{position:fixed;inset:0;z-index:200;background:#0A1220;display:grid;place-items:center;
  transition:opacity .6s cubic-bezier(.4,0,.2,1), visibility .6s;}
#loader.done{opacity:0;visibility:hidden;}
#loader::before{content:"";position:absolute;inset:0;
  background:radial-gradient(ellipse 62% 46% at 50% 48%, rgba(3,76,134,.42) 0%, transparent 70%);}

.orb{position:relative;width:230px;height:230px;display:grid;place-items:center;}

.bloom{position:absolute;width:230px;height:230px;border-radius:50%;
  background:radial-gradient(circle, rgba(150,205,250,.26) 0%, rgba(90,166,228,.09) 36%, transparent 64%);
  animation:bloom 4s cubic-bezier(.45,0,.55,1) infinite;}
@keyframes bloom{0%,100%{transform:scale(.86);opacity:.55;}50%{transform:scale(1.06);opacity:1;}}

.arc{position:absolute;border-radius:50%;
  -webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 1.4px),#000 calc(100% - 1.4px));
  mask:radial-gradient(farthest-side,transparent calc(100% - 1.4px),#000 calc(100% - 1.4px));}
.arc.a1{width:118px;height:118px;
  background:conic-gradient(from 0deg, transparent 0deg, transparent 176deg,
    rgba(255,255,255,.14) 220deg, rgba(255,255,255,.92) 330deg, rgba(255,255,255,0) 356deg);
  animation:spin 2.8s cubic-bezier(.42,0,.58,1) infinite;}
.arc.a2{width:158px;height:158px;
  background:conic-gradient(from 0deg, rgba(140,196,240,.85) 0deg, rgba(140,196,240,.10) 52deg,
    transparent 96deg, transparent 360deg);
  animation:spin 4.6s linear infinite reverse;}
.arc.a3{width:198px;height:198px;
  background:conic-gradient(from 0deg, transparent 0deg, transparent 268deg,
    rgba(255,255,255,.30) 322deg, transparent 352deg);
  animation:spin 7s linear infinite;}
@keyframes spin{to{transform:rotate(360deg);}}

.halo{position:absolute;width:118px;height:118px;border-radius:50%;
  border:1px solid rgba(255,255,255,.10);}

.orb img{width:56px;height:56px;object-fit:contain;filter:brightness(0) invert(1);
  position:relative;z-index:2;opacity:0;transform:scale(.9);
  animation:mark-in 1.5s cubic-bezier(.22,.61,.36,1) forwards;}
@keyframes mark-in{0%{opacity:0;transform:scale(.9);filter:brightness(0) invert(1) blur(5px);}
  100%{opacity:1;transform:scale(1);filter:brightness(0) invert(1) blur(0);}}

.load-cap{position:absolute;bottom:6px;left:50%;transform:translateX(-50%);text-align:center;white-space:nowrap;}
.load-cap .w{display:block;color:rgba(255,255,255,.62);font-size:10px;letter-spacing:.42em;
  text-transform:uppercase;font-weight:700;text-indent:.42em;opacity:0;animation:cap-in .9s ease .5s forwards;}
@keyframes cap-in{to{opacity:1;}}
.load-cap .line{display:block;width:104px;height:1px;margin:11px auto 0;background:rgba(255,255,255,.12);
  position:relative;overflow:hidden;border-radius:1px;}
.load-cap .line::after{content:"";position:absolute;inset:0;width:38%;border-radius:1px;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.85),transparent);
  animation:sweep 1.7s cubic-bezier(.45,0,.55,1) infinite;}
@keyframes sweep{0%{transform:translateX(-100%);}100%{transform:translateX(360%);}}

/* ═══════════ KABUK ═══════════ */
.app{display:flex;min-height:calc(100vh - 40px);}
.rail{width:224px;flex-shrink:0;background:var(--rail);display:flex;flex-direction:column;
  padding:18px 0 14px;border-right:1px solid var(--rail-line);}

/* Marka hiyerarşisi: logo baskın, yazı ikincil */
.rail-brand{display:flex;align-items:center;gap:10px;padding:0 18px 18px;}
.rail-brand .mk{position:relative;display:grid;place-items:center;width:38px;height:38px;flex-shrink:0;}
.rail-brand .mk::after{content:"";position:absolute;inset:-6px;border-radius:50%;
  background:radial-gradient(circle,var(--glow) 0%,transparent 68%);pointer-events:none;}
.rail-brand img{width:38px;height:38px;object-fit:contain;filter:brightness(0) invert(1);position:relative;z-index:1;}
.rail-brand .bt{display:block;color:#fff;font-weight:700;font-size:13px;letter-spacing:.06em;line-height:1;}
.rail-brand .bs{display:block;color:var(--rail-text);font-size:9px;letter-spacing:.16em;text-transform:uppercase;font-weight:600;margin-top:1px;line-height:1;}

.rail-group{padding:0 12px;}
.rail-label{color:var(--faint);font-size:9.5px;letter-spacing:.17em;text-transform:uppercase;
  font-weight:700;padding:15px 8px 6px;opacity:.7;}
.rail-btn{display:flex;align-items:center;gap:10px;width:100%;background:none;border:0;cursor:pointer;
  text-align:left;color:var(--rail-text);font-size:13.5px;font-weight:600;padding:9px 8px;
  border-radius:var(--r-sm);margin-bottom:1px;transition:background .15s,color .15s;position:relative;}
.rail-btn:hover{background:var(--rail-active);color:#fff;}
.rail-btn.on{background:var(--rail-active);color:#fff;}
.rail-btn.on::before{content:"";position:absolute;left:-12px;top:9px;bottom:9px;width:2px;
  background:#fff;border-radius:2px;box-shadow:0 0 8px 1px var(--glow);}
.rail-btn .ic{width:17px;height:17px;flex-shrink:0;opacity:.85;}
.rail-btn.on .ic{opacity:1;}
.rail-btn .cnt{margin-left:auto;background:var(--crit);color:#fff;font-size:10.5px;font-weight:800;
  min-width:19px;height:19px;border-radius:10px;display:grid;place-items:center;padding:0 5px;}
.rail-btn .cnt.b{background:var(--brand);}
.rail-foot{margin-top:auto;padding:14px 18px 0;border-top:1px solid var(--rail-line);
  display:flex;align-items:center;gap:10px;}
.rail-foot .av{width:32px;height:32px;border-radius:50%;background:var(--brand);color:#fff;
  display:grid;place-items:center;font-weight:800;font-size:12.5px;flex-shrink:0;}
.rail-foot .n{color:#fff;font-size:13px;font-weight:700;line-height:1.2;}
.rail-foot .r{color:var(--rail-text);font-size:11px;}

.main{flex:1;min-width:0;display:flex;flex-direction:column;}
.topbar{background:var(--surface);border-bottom:1px solid var(--line);padding:0 26px;height:56px;
  display:flex;align-items:center;gap:12px;}
.search{flex:1;max-width:320px;display:flex;align-items:center;gap:9px;background:var(--surface-2);
  border:1px solid var(--line);border-radius:var(--r-sm);padding:7px 12px;color:var(--faint);font-size:13px;}
.topbar-sp{flex:1;}
.tb-btn{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-sm);
  padding:7px 12px;font-size:13px;font-weight:600;color:var(--ink-2);cursor:pointer;
  display:flex;align-items:center;gap:7px;}
.tb-btn:hover{border-color:var(--line-strong);}
.tb-btn.pri{background:var(--brand);border-color:var(--brand);color:#fff;}
.tb-btn.pri:hover{background:var(--brand-deep);}
.tb-btn.ico{padding:7px 9px;}
.sun{display:none;} .moon{display:block;}
:root[data-theme="dark"] .sun{display:block;} :root[data-theme="dark"] .moon{display:none;}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .sun{display:block;}
  :root:not([data-theme="light"]) .moon{display:none;}}

.page{padding:24px 26px 56px;flex:1;}
.page-head{display:flex;align-items:flex-start;gap:16px;margin-bottom:20px;flex-wrap:wrap;}
h1{font-size:22px;font-weight:800;margin:0 0 3px;letter-spacing:-.022em;text-wrap:balance;}
.sub{color:var(--muted);font-size:13.5px;margin:0;}
.page-head-act{margin-left:auto;display:flex;gap:8px;flex-wrap:wrap;}

/* Sayfa geçişi */
.screen{display:none;}
.screen.on{display:block;animation:enter .26s cubic-bezier(.22,.61,.36,1);}
@keyframes enter{from{opacity:0;transform:translateY(6px);}to{opacity:1;transform:none;}}
.tabpane{display:none;}
.tabpane.on{display:block;animation:enter .2s ease;}
@media (prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important;}
  .screen.on,.tabpane.on{animation:none;}
}

/* ═══════════ PARÇALAR ═══════════ */
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);}
.card-h{padding:14px 17px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:11px;flex-wrap:wrap;}
.card-h h2{font-size:14.5px;font-weight:700;margin:0;letter-spacing:-.01em;}
.card-h .act{margin-left:auto;font-size:12.5px;font-weight:600;color:var(--brand-ink);cursor:pointer;}
.card-b{padding:17px;}
.card-b.flush{padding:0;}

.grid{display:grid;gap:15px;align-items:start;}
.g4{grid-template-columns:repeat(4,1fr);align-items:stretch;}
.g3{grid-template-columns:repeat(3,1fr);align-items:stretch;}
.g2{grid-template-columns:repeat(2,1fr);}
.g-21{grid-template-columns:1.6fr 1fr;}
.g-12{grid-template-columns:1fr 1.6fr;}
.grid > *{min-width:0;}
@media(max-width:1150px){.g4{grid-template-columns:repeat(2,1fr);}.g-21,.g-12,.g3,.g2{grid-template-columns:1fr;}}

.kpi{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:15px 16px;box-shadow:var(--shadow);}
.kpi .k{color:var(--muted);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;margin-bottom:8px;}
.kpi .v{font-size:24px;font-weight:800;letter-spacing:-.03em;line-height:1;}
.kpi .m{margin-top:8px;font-size:12px;color:var(--muted);display:flex;align-items:center;gap:6px;flex-wrap:wrap;}
.kpi.alert .v{color:var(--crit);} .kpi.good .v{color:var(--ok);}

.pill{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:20px;
  font-size:11.5px;font-weight:700;border:1px solid transparent;white-space:nowrap;}
.p-ok{background:var(--ok-bg);color:var(--ok);border-color:var(--ok-line);}
.p-warn{background:var(--warn-bg);color:var(--warn);border-color:var(--warn-line);}
.p-crit{background:var(--crit-bg);color:var(--crit);border-color:var(--crit-line);}
.p-info{background:var(--info-bg);color:var(--info);border-color:var(--info-line);}
.p-mut{background:var(--surface-2);color:var(--muted);border-color:var(--line);}

table{width:100%;border-collapse:collapse;}
.tw{overflow-x:auto;}
th{background:var(--surface-2);color:var(--muted);font-size:10.5px;font-weight:700;letter-spacing:.08em;
  text-transform:uppercase;text-align:left;padding:10px 14px;border-bottom:1px solid var(--line);white-space:nowrap;}
td{padding:11px 14px;border-bottom:1px solid var(--line);font-size:13.5px;white-space:nowrap;}
tbody tr:last-child td{border-bottom:0;}
tbody tr:hover{background:var(--surface-2);}
td.w,th.w{white-space:normal;}
.tnum{font-variant-numeric:tabular-nums;text-align:right;} th.tnum{text-align:right;}
tfoot td{background:var(--surface-2);font-weight:800;border-top:1px solid var(--line);}

.btn{background:var(--brand);color:#fff;border:1px solid var(--brand);border-radius:var(--r-sm);
  padding:8px 15px;font-size:13px;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;gap:7px;
  transition:background .15s;}
.btn:hover{background:var(--brand-deep);}
.btn.gh{background:var(--surface);color:var(--ink-2);border-color:var(--line);}
.btn.gh:hover{border-color:var(--line-strong);background:var(--surface-2);}
.btn.sm{padding:5px 11px;font-size:12px;}

.av{width:34px;height:34px;border-radius:9px;display:grid;place-items:center;font-weight:800;font-size:12.5px;
  flex-shrink:0;background:var(--brand-soft);color:var(--brand-ink);border:1px solid var(--line);}
.av.rnd{border-radius:50%;}
.av.sm{width:26px;height:26px;font-size:10.5px;border-radius:7px;}

.stripe-list{display:flex;flex-direction:column;}
.stripe{display:flex;gap:13px;padding:13px 17px;border-bottom:1px solid var(--line);align-items:flex-start;position:relative;}
.stripe:last-child{border-bottom:0;}
.stripe::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--line-strong);}
.stripe.crit::before{background:var(--crit);}
.stripe.warn::before{background:var(--warn);}
.stripe .body{flex:1;min-width:0;}
.stripe .t{font-weight:700;font-size:13.5px;margin-bottom:2px;}
.stripe .d{color:var(--muted);font-size:12.5px;}
.stripe .side{display:flex;align-items:center;gap:8px;flex-shrink:0;}

/* ARETE — hedef işaretli ilerleme çubuğu */
.bar{height:7px;background:var(--surface-2);border:1px solid var(--line);border-radius:4px;
  overflow:hidden;position:relative;}
.bar > i{display:block;height:100%;background:var(--brand);border-radius:3px;transition:width .5s cubic-bezier(.22,.61,.36,1);}
.bar > i.warn{background:var(--warn);} .bar > i.crit{background:var(--crit);} .bar > i.ok{background:var(--ok);}
.bar > u{position:absolute;top:-3px;bottom:-3px;width:2px;background:var(--ink);opacity:.45;border-radius:2px;}
.bar-legend{font-size:10.5px;color:var(--faint);margin-top:5px;display:flex;align-items:center;gap:5px;}
.bar-legend b{display:inline-block;width:2px;height:9px;background:var(--ink);opacity:.45;border-radius:2px;}

.kv{display:flex;justify-content:space-between;gap:14px;padding:9px 0;border-bottom:1px solid var(--line);font-size:13.5px;}
.kv:last-child{border-bottom:0;}
.kv .k{color:var(--muted);flex-shrink:0;}
.kv .v{font-weight:600;text-align:right;}

.hint{background:var(--info-bg);border:1px solid var(--info-line);border-radius:var(--r-sm);
  padding:11px 13px;font-size:12.5px;color:var(--ink-2);line-height:1.55;}
.hint b{color:var(--brand-ink);}
.bos{padding:34px;text-align:center;color:var(--muted);font-size:13.5px;}

.sec-t{font-size:11px;font-weight:800;letter-spacing:.11em;text-transform:uppercase;color:var(--muted);
  margin:0 0 11px;display:flex;align-items:center;gap:9px;}
.sec-t::after{content:"";flex:1;height:1px;background:var(--line);}

/* ═══════════ MÜŞTERİ BAŞLIĞI ═══════════ */
.cust-head{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);
  box-shadow:var(--shadow);overflow:hidden;margin-bottom:16px;}
.cust-top{padding:18px;display:flex;gap:15px;align-items:center;flex-wrap:wrap;}
.cust-logo{width:54px;height:54px;border-radius:13px;background:var(--brand-soft);border:1px solid var(--line);
  display:grid;place-items:center;font-weight:800;font-size:18px;color:var(--brand-ink);flex-shrink:0;}
.cust-name{font-size:18px;font-weight:800;letter-spacing:-.02em;margin:0 0 4px;display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.cust-meta{color:var(--muted);font-size:12.5px;display:flex;gap:13px;flex-wrap:wrap;}
.cust-act{margin-left:auto;display:flex;gap:8px;flex-wrap:wrap;}
.cust-stats{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);}
.cust-stats > div{padding:12px 18px;border-right:1px solid var(--line);}
.cust-stats > div:last-child{border-right:0;}
.cust-stats .k{color:var(--muted);font-size:10px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;margin-bottom:5px;}
.cust-stats .v{font-size:17px;font-weight:800;letter-spacing:-.02em;}
@media(max-width:900px){.cust-stats{grid-template-columns:repeat(2,1fr);}}

.tabs{display:flex;gap:2px;border-bottom:1px solid var(--line);margin-bottom:16px;overflow-x:auto;}
.tab{background:none;border:0;cursor:pointer;padding:10px 12px;font-size:13.5px;font-weight:700;
  color:var(--muted);border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap;}
.tab:hover{color:var(--ink);}
.tab.on{color:var(--brand-ink);border-bottom-color:var(--brand);}

/* ═══════════ DİJİTAL PAKET ═══════════ */
.pkg{border:1px solid var(--line);border-radius:var(--r);overflow:hidden;background:var(--surface);}
.pkg-top{display:flex;gap:18px;padding:18px;align-items:center;flex-wrap:wrap;
  background:linear-gradient(180deg,var(--surface-2),var(--surface));}
.pkg-count{text-align:center;padding-right:18px;border-right:1px solid var(--line);flex-shrink:0;min-width:104px;}
.pkg-count .d{font-size:30px;font-weight:800;letter-spacing:-.04em;line-height:1;}
.pkg-count .l{font-size:10.5px;color:var(--muted);font-weight:700;letter-spacing:.09em;text-transform:uppercase;margin-top:5px;}
.pkg-info{flex:1;min-width:200px;}
.pkg-info .n{font-size:15.5px;font-weight:800;letter-spacing:-.015em;margin-bottom:4px;}
.pkg-info .s{font-size:12.5px;color:var(--muted);}
.pkg-money{display:flex;gap:20px;flex-shrink:0;}
.pkg-money .m .k{font-size:10px;color:var(--muted);font-weight:700;letter-spacing:.08em;text-transform:uppercase;}
.pkg-money .m .v{font-size:15px;font-weight:800;margin-top:3px;}
.pkg-comp{padding:15px 18px;border-top:1px solid var(--line);}
.comp{display:flex;align-items:center;gap:11px;padding:9px 0;border-bottom:1px solid var(--line);flex-wrap:wrap;}
.comp:last-child{border-bottom:0;}
.comp .ci{width:28px;height:28px;border-radius:7px;background:var(--brand-soft);color:var(--brand-ink);
  display:grid;place-items:center;flex-shrink:0;}
.comp .cn{font-weight:700;font-size:13.5px;}
.comp .cd{color:var(--muted);font-size:12.5px;}
.comp .cr{margin-left:auto;display:flex;align-items:center;gap:8px;}

/* ═══════════ ŞİFRE ═══════════ */
.cred{border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface-2);
  padding:12px 14px;display:flex;gap:13px;align-items:center;flex-wrap:wrap;margin-bottom:8px;}
.cred .ct{font-weight:700;font-size:13.5px;margin-bottom:3px;}
.cred .cu{font-size:12.5px;color:var(--muted);}
.cred .cf{display:flex;gap:7px;margin-left:auto;align-items:center;flex-wrap:wrap;}
.secret{background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:5px 10px;
  font-size:12.5px;letter-spacing:.12em;min-width:104px;text-align:center;color:var(--ink-2);}

/* ═══════════ İŞ LİSTESİ ═══════════ */
.day-row{display:flex;gap:13px;padding:13px 16px;border-bottom:1px solid var(--line);align-items:flex-start;}
.day-row:last-child{border-bottom:0;}
.day-row:hover{background:var(--surface-2);}
.chk{width:19px;height:19px;border-radius:6px;border:1.6px solid var(--line-strong);flex-shrink:0;
  margin-top:2px;display:grid;place-items:center;cursor:pointer;background:var(--surface);}
.chk.done{background:var(--ok);border-color:var(--ok);}
.chk svg{opacity:0;} .chk.done svg{opacity:1;}
.day-row .b{flex:1;min-width:0;}
.day-row .t{font-weight:700;font-size:13.5px;margin-bottom:3px;}
.day-row.is-done .t{text-decoration:line-through;color:var(--muted);}
.day-row .d{font-size:12.5px;color:var(--muted);line-height:1.5;margin-bottom:6px;}
.day-row .meta{display:flex;gap:7px;align-items:center;flex-wrap:wrap;}
.range{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;font-weight:700;color:var(--muted);
  background:var(--surface-2);border:1px solid var(--line);border-radius:20px;padding:2px 9px;}
.range .arw{opacity:.5;}
.day-head{display:flex;align-items:center;gap:10px;padding:11px 16px;background:var(--surface-2);
  border-bottom:1px solid var(--line);}
.day-head .dt{font-size:12px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);}
.day-head .dc{margin-left:auto;font-size:11.5px;color:var(--faint);font-weight:700;}

.firm-block{margin-bottom:15px;}
.firm-h{display:flex;align-items:center;gap:11px;padding:0 2px 10px;}
.firm-h .fn{font-size:14.5px;font-weight:800;letter-spacing:-.01em;}

/* ═══════════ KANBAN ═══════════ */
.kb{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;}
@media(max-width:1150px){.kb{grid-template-columns:repeat(2,1fr);}}
@media(max-width:700px){.kb{grid-template-columns:1fr;}}
.kb-col{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r);padding:11px;}
.kb-h{display:flex;align-items:center;gap:8px;margin-bottom:10px;padding:0 3px;}
.kb-h .t{font-size:11.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);}
.kb-h .c{background:var(--surface);border:1px solid var(--line);border-radius:20px;font-size:11px;
  font-weight:800;padding:1px 8px;color:var(--muted);}
.kb-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-sm);padding:11px;
  margin-bottom:8px;box-shadow:0 1px 2px rgba(10,18,32,.04);}
.kb-card .kt{font-weight:700;font-size:13px;margin-bottom:6px;line-height:1.35;}
.kb-card .kc{font-size:11.5px;color:var(--muted);margin-bottom:8px;}
.kb-card .kf{display:flex;align-items:center;gap:6px;flex-wrap:wrap;}
.kb-card .kf .d{margin-left:auto;font-size:11px;color:var(--muted);font-weight:700;}

/* ═══════════ GRAFİKLER ═══════════ */
.chart-legend{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:14px;}
.lg{display:flex;align-items:center;gap:7px;font-size:12.5px;font-weight:600;color:var(--ink-2);}
.lg i{width:11px;height:11px;border-radius:3px;flex-shrink:0;}

/* Gelir/gider — sıfır çizgisi etrafında ıraksayan çubuk */
.dchart{display:flex;gap:10px;align-items:stretch;height:210px;position:relative;padding:4px 0 22px;}
.dchart .zline{position:absolute;left:0;right:0;top:calc(4px + 120px);height:1px;background:var(--line-strong);}
.dcol{flex:1;display:flex;flex-direction:column;position:relative;min-width:0;}
.dpos{height:120px;display:flex;align-items:flex-end;padding:0 12% 2px;}
.dneg{height:64px;display:flex;align-items:flex-start;padding:2px 12% 0;}
.dpos i,.dneg i{display:block;width:100%;transition:height .5s cubic-bezier(.22,.61,.36,1);}
.dpos i{background:var(--s-gelir);border-radius:4px 4px 0 0;}
.dneg i{background:var(--s-gider);border-radius:0 0 4px 4px;}
.dcol .lbl{position:absolute;bottom:-20px;left:0;right:0;text-align:center;font-size:10.5px;
  color:var(--muted);font-weight:700;}
.dcol.now .lbl{color:var(--brand-ink);}
.dcol:hover .dpos i,.dcol:hover .dneg i{filter:brightness(1.12);}

/* Yatay sıralı çubuk (tek renk — büyüklük işi) */
.hb{display:flex;align-items:center;gap:11px;padding:8px 0;}
.hb .hl{width:132px;flex-shrink:0;font-size:13px;font-weight:600;}
.hb .ht{flex:1;height:16px;background:var(--surface-2);border:1px solid var(--line);border-radius:4px;overflow:hidden;}
.hb .ht i{display:block;height:100%;background:var(--brand);border-radius:0 3px 3px 0;transition:width .5s cubic-bezier(.22,.61,.36,1);}
.hb .ht i.in{background:var(--s-gelir);}
.hb .ht i.exp{background:var(--s-gider);}
.hb .ht i.warn{background:var(--warn);}
.hb .ht i.crit{background:var(--crit);}
.hb .hv{width:88px;text-align:right;font-size:12.5px;font-weight:700;font-variant-numeric:tabular-nums;flex-shrink:0;}

/* İpucu */
#tip{position:fixed;z-index:120;background:var(--rail);color:#fff;border-radius:7px;padding:7px 10px;
  font-size:11.5px;line-height:1.5;pointer-events:none;opacity:0;transition:opacity .12s;
  box-shadow:0 6px 20px -6px rgba(0,0,0,.5);max-width:210px;}
#tip.on{opacity:1;}
#tip b{color:#fff;font-weight:800;}
[data-tip]{cursor:default;}

/* ═══════════ MESAJLAR ═══════════ */
.chat{display:grid;grid-template-columns:250px 1fr;min-height:480px;}
@media(max-width:820px){.chat{grid-template-columns:1fr;}.chat-list{display:none;}}
.chat-list{border-right:1px solid var(--line);}
.ci-row{display:flex;gap:11px;padding:12px 14px;border-bottom:1px solid var(--line);cursor:pointer;align-items:center;}
.ci-row:hover{background:var(--surface-2);}
.ci-row.on{background:var(--brand-soft);}
.ci-row .b{flex:1;min-width:0;}
.ci-row .n{font-weight:700;font-size:13.5px;}
.ci-row .p{font-size:12px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.ci-row .u{background:var(--brand);color:#fff;font-size:10px;font-weight:800;border-radius:10px;
  min-width:18px;height:18px;display:grid;place-items:center;padding:0 5px;flex-shrink:0;}
.chat-body{display:flex;flex-direction:column;}
.chat-h{padding:12px 16px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:11px;}
.chat-msgs{flex:1;padding:18px 16px;display:flex;flex-direction:column;gap:11px;}
.msg{max-width:78%;padding:9px 13px;border-radius:14px;font-size:13.5px;line-height:1.5;}
.msg.them{background:var(--surface-2);border:1px solid var(--line);border-bottom-left-radius:5px;align-self:flex-start;}
.msg.me{background:var(--brand);color:#fff;border-bottom-right-radius:5px;align-self:flex-end;}
.msg .tm{font-size:10.5px;opacity:.65;margin-top:4px;}
.chat-in{padding:12px 16px;border-top:1px solid var(--line);display:flex;gap:9px;align-items:center;}
.chat-in .f{flex:1;background:var(--surface-2);border:1px solid var(--line);border-radius:20px;
  padding:9px 14px;color:var(--faint);font-size:13px;}

/* ═══════════ RAPOR / PDF ═══════════ */
.pdf{background:#fff;border:1px solid var(--line-strong);border-radius:6px;overflow:hidden;
  box-shadow:0 10px 30px -14px rgba(10,18,32,.4);color:#0A1220;}
.pdf-top{background:#034C86;padding:20px 22px;display:flex;align-items:center;gap:13px;position:relative;overflow:hidden;}
.pdf-top::after{content:"";position:absolute;right:-40px;top:-40px;width:170px;height:170px;border-radius:50%;
  background:radial-gradient(circle,rgba(255,255,255,.13) 0%,transparent 70%);}
.pdf-top img{width:34px;height:34px;object-fit:contain;filter:brightness(0) invert(1);position:relative;z-index:1;}
.pdf-top .t{color:#fff;font-weight:800;font-size:14.5px;letter-spacing:-.01em;position:relative;z-index:1;}
.pdf-top .s{color:rgba(255,255,255,.7);font-size:11.5px;position:relative;z-index:1;}
.pdf-top .r{margin-left:auto;color:rgba(255,255,255,.8);font-size:11px;text-align:right;position:relative;z-index:1;
  letter-spacing:.1em;text-transform:uppercase;font-weight:700;}
.pdf-b{padding:20px 22px;}
.pdf-sec{font-size:10px;font-weight:800;letter-spacing:.13em;text-transform:uppercase;color:#6A7A90;margin:0 0 10px;}
.pdf-row{display:flex;align-items:center;gap:11px;padding:8px 0;border-bottom:1px solid #E8EEF6;}
.pdf-row:last-child{border-bottom:0;}
.pdf-row .l{width:128px;font-size:12.5px;font-weight:600;flex-shrink:0;}
.pdf-row .bar2{flex:1;height:14px;background:#F1F5FA;border-radius:3px;overflow:hidden;position:relative;}
.pdf-row .bar2 i{display:block;height:100%;background:#0F66AE;border-radius:0 3px 3px 0;}
.pdf-row .bar2 u{position:absolute;top:0;bottom:0;width:2px;background:#0A1220;opacity:.5;}
.pdf-row .v{width:96px;text-align:right;font-size:12px;font-weight:700;font-variant-numeric:tabular-nums;flex-shrink:0;}
.pdf-note{background:#F3F6FA;border-left:3px solid #034C86;padding:11px 13px;font-size:12px;
  line-height:1.6;color:#33445C;border-radius:0 6px 6px 0;margin-top:6px;}
.pdf-f{padding:12px 22px;border-top:1px solid #E8EEF6;display:flex;font-size:10px;color:#93A2B5;
  letter-spacing:.06em;}
.pdf-f span:last-child{margin-left:auto;}

/* ═══════════ RAPOR — MÜŞTERİ SEÇİCİ ═══════════ */
.rep-pick{display:grid;grid-template-columns:repeat(auto-fill,minmax(212px,1fr));gap:12px;margin-bottom:20px;}
.rc{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:14px;
  cursor:pointer;box-shadow:var(--shadow);transition:border-color .15s, transform .15s;position:relative;}
.rc:hover{border-color:var(--line-strong);transform:translateY(-1px);}
.rc.on{border-color:var(--brand);box-shadow:0 0 0 1px var(--brand), var(--shadow);}
.rc.on::after{content:"";position:absolute;left:14px;right:14px;bottom:-1px;height:2px;
  background:var(--brand);border-radius:2px;box-shadow:0 0 9px 1px var(--glow);}
.rc .t{display:flex;align-items:center;gap:10px;margin-bottom:11px;}
.rc .n{font-weight:700;font-size:13.5px;letter-spacing:-.01em;line-height:1.25;}
.rc .s{font-size:11.5px;color:var(--muted);}
.rc .f{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.rc.mut{opacity:.62;cursor:default;}
.rc.mut:hover{transform:none;border-color:var(--line);}

/* ═══════════ GİRİŞ ═══════════ */
.login-wrap{min-height:calc(100vh - 40px);display:grid;grid-template-columns:1fr 1fr;background:var(--surface);position:relative;}
@media(max-width:820px){.login-wrap{grid-template-columns:1fr;}.login-art{min-height:270px;}}
.login-art{background:#034C86;display:grid;place-items:center;padding:40px;position:relative;overflow:hidden;}
.login-art::before{content:"";position:absolute;left:50%;top:44%;width:520px;height:520px;transform:translate(-50%,-50%);
  border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.16) 0%,rgba(255,255,255,.05) 42%,transparent 68%);}
.login-art .inner{text-align:center;position:relative;z-index:1;}
.login-art img{width:112px;height:112px;object-fit:contain;filter:brightness(0) invert(1);margin-bottom:28px;}
.login-art .lt{color:#fff;font-size:23px;font-weight:800;letter-spacing:-.02em;}
.login-form{display:grid;place-items:center;padding:40px;}
.login-form .fw{width:100%;max-width:318px;}
.login-form h2{font-size:20px;font-weight:800;margin:0 0 5px;letter-spacing:-.02em;}
.login-form p.s{color:var(--muted);font-size:13.5px;margin:0 0 24px;}
.fld{margin-bottom:14px;}
.fld label{display:block;font-size:12px;font-weight:700;color:var(--ink-2);margin-bottom:6px;}
.fld .inp{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-sm);
  padding:10px 13px;font-size:13.5px;color:var(--faint);}
.fld .inp.fill{color:var(--ink);}

/* ═══════════ MOBİL ═══════════ */
@media(max-width:900px){
  .app{flex-direction:column;min-height:0;}
  .rail{width:100%;flex-direction:row;align-items:center;gap:6px;padding:9px 12px;overflow-x:auto;
    border-right:0;border-bottom:1px solid var(--rail-line);}
  .rail-brand{padding:0 12px 0 2px;flex-shrink:0;}
  .rail-brand .bt,.rail-brand .bs{display:none;}
  .rail-group{display:flex;gap:4px;padding:0;flex-shrink:0;}
  .rail-label{display:none;}
  .rail-btn{white-space:nowrap;margin-bottom:0;}
  .rail-btn.on::before{display:none;}
  .rail-btn .cnt{margin-left:6px;}
  .rail-foot{margin:0 0 0 auto;border-top:0;padding:0 2px 0 12px;flex-shrink:0;}
  .rail-foot .n,.rail-foot .r{display:none;}
  .topbar{padding:0 14px;}
  .search{display:none;}
  .page{padding:18px 14px 44px;}
  .cust-top{padding:15px;}
  .cust-act{margin-left:0;width:100%;}
  .pkg-count{border-right:0;border-bottom:1px solid var(--line);padding:0 0 14px;width:100%;margin-bottom:4px;}
  .pkg-money{width:100%;}
  .hb .hl{width:104px;}
  .hb .hv{width:76px;}
  .login-wrap{min-height:auto;}
}

/* ═══════════ GERÇEK FORM ELEMANLARI ═══════════ */
input[type=text],input[type=password],input[type=number],input[type=date],input[type=email],
input[type=url],input[type=search],input[type=tel],select,textarea{
  width:100%;padding:9px 12px;border:1px solid var(--line);border-radius:var(--r-sm);
  font-size:13.5px;font-family:inherit;background:var(--surface);color:var(--ink);
  transition:border-color .15s, box-shadow .15s;}
input:hover,select:hover,textarea:hover{border-color:var(--line-strong);}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--brand);
  box-shadow:0 0 0 3px var(--brand-soft);}
textarea{min-height:84px;resize:vertical;line-height:1.6;}
select{appearance:none;-webkit-appearance:none;cursor:pointer;padding-right:32px;
  background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236A7A90' stroke-width='3' stroke-linecap='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 11px center;}
input[type=file]{padding:8px;background:var(--surface-2);font-size:12.5px;cursor:pointer;}
input[type=checkbox]{width:auto;accent-color:var(--brand);}
input[readonly]{background:var(--surface-2);color:var(--muted);}
.fld{margin-bottom:14px;}
.fld > label{display:block;font-size:12px;font-weight:700;color:var(--ink-2);margin-bottom:6px;}
.fld .yardim{font-size:11.5px;color:var(--muted);margin-top:5px;line-height:1.5;}
.f2{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.f3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px;}
@media(max-width:700px){.f2,.f3{grid-template-columns:1fr;}}
.form-act{display:flex;gap:10px;margin-top:20px;flex-wrap:wrap;align-items:center;}
.form-act .sag{margin-left:auto;}
.onay{display:flex;align-items:center;gap:9px;font-size:13.5px;font-weight:600;cursor:pointer;
  padding:9px 0;}
.flash{padding:11px 15px;border-radius:var(--r-sm);margin-bottom:16px;font-size:13.5px;
  border:1px solid transparent;}
.flash-basari{background:var(--ok-bg);color:var(--ok);border-color:var(--ok-line);}
.flash-hata{background:var(--crit-bg);color:var(--crit);border-color:var(--crit-line);}
.flash-bilgi{background:var(--info-bg);color:var(--info);border-color:var(--info-line);}

a.satir{color:inherit;text-decoration:none;display:block;}
tr.tik{cursor:pointer;}
.geri{font-size:13px;font-weight:600;color:var(--muted);display:inline-flex;align-items:center;gap:5px;margin-bottom:13px;}
.geri:hover{color:var(--ink);}
.btn[disabled]{opacity:.5;cursor:not-allowed;}
.sil-btn{background:none;border:0;color:var(--crit);font-size:12.5px;font-weight:600;
  cursor:pointer;padding:0;text-decoration:underline;}
.arama-form{display:flex;gap:8px;align-items:center;flex-wrap:wrap;}
.arama-form input{width:230px;}
.topbar .search-form{flex:1;max-width:330px;}
.topbar .search-form input{background:var(--surface-2);padding-left:34px;
  background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='15' height='15' viewBox='0 0 24 24' fill='none' stroke='%2393A2B5' stroke-width='2.4' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cline x1='21' y1='21' x2='16.65' y2='16.65'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:11px center;}
@media(max-width:900px){.topbar .search-form{display:none;}}
.avatar-img{width:100%;height:100%;object-fit:cover;border-radius:inherit;display:block;}
.pill.btnlike{cursor:pointer;}
@media print{
  .rail,.topbar,.page-head-act,.no-print{display:none!important;}
  body{background:#fff;}
  .app{display:block;}
  .page{padding:0;}
}

/* ══════════════════════ Sürüm 2.1 eklentileri ══════════════════════ */

/* Fatura KDV özeti */
.ozet-kutu{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-sm);
  padding:12px 14px;margin:2px 0 16px;display:grid;gap:7px;}
.ozet-kutu > div{display:flex;align-items:baseline;justify-content:space-between;font-size:12.5px;}
.ozet-kutu span{color:var(--muted);}
.ozet-kutu b{font-variant-numeric:tabular-nums;font-weight:700;}
.ozet-kutu .vurgu{border-top:1px solid var(--line);padding-top:8px;margin-top:1px;font-size:13.5px;}
.ozet-kutu .vurgu b{color:var(--brand);font-size:15px;}

/* Tahsilat listesi */
.tbl{width:100%;border-collapse:collapse;font-size:13px;}
.tbl th{text-align:left;font-size:9.5px;letter-spacing:.13em;text-transform:uppercase;
  color:var(--faint);font-weight:700;padding:0 8px 8px;border-bottom:1px solid var(--line);}
.tbl td{padding:9px 8px;border-bottom:1px solid var(--line);vertical-align:top;}
.tbl tr:last-child td{border-bottom:0;}
.tbl .sag{text-align:right;}
.tbl form{display:inline;}
.alt{color:var(--muted);font-size:11.5px;line-height:1.45;margin-top:2px;}
.lnk-sil{background:none;border:0;color:var(--faint);font-size:17px;line-height:1;
  cursor:pointer;padding:0 3px;font-family:inherit;transition:color .15s;}
.lnk-sil:hover{color:var(--crit);}
.tahsilat-form{margin-top:16px;padding-top:16px;border-top:1px solid var(--line);}

/* KDV uyarı şeridi */
.kdv-serit{display:flex;align-items:center;gap:16px;flex-wrap:wrap;
  background:var(--surface-2);border:1px solid var(--line);border-left:3px solid var(--warn);
  border-radius:var(--r-sm);padding:12px 16px;margin-bottom:15px;font-size:12.5px;}
.kdv-serit b{font-weight:700;}
.kdv-serit span{color:var(--muted);margin-left:8px;}
.kdv-serit .kdv-net{margin-left:auto;color:var(--muted);white-space:nowrap;}
.kdv-serit .kdv-net b{color:var(--s-gelir);font-size:14px;}

/* Alacak yaşlandırma */
.yas-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(128px,1fr));gap:12px;}
.yas-kova{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-sm);padding:12px 13px;opacity:.55;}
.yas-kova.dolu{opacity:1;}
.yas-kova .yk{font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--faint);
  font-weight:700;margin-bottom:6px;}
.yas-kova .yv{font-size:16px;font-weight:800;letter-spacing:-.025em;font-variant-numeric:tabular-nums;}
.yas-kova .ybar{height:4px;background:var(--line);border-radius:2px;overflow:hidden;margin:8px 0 6px;}
.yas-kova .ybar i{display:block;height:100%;border-radius:2px;}
.yas-kova .ya{font-size:11px;color:var(--muted);}
.yas-firma{margin-top:14px;padding-top:13px;border-top:1px solid var(--line);
  font-size:12px;color:var(--muted);display:flex;flex-wrap:wrap;gap:8px;align-items:center;}
.yas-firma .yfp{background:var(--surface-2);border:1px solid var(--line);border-radius:20px;
  padding:3px 11px;color:var(--text);}
.yas-firma .yfp b{font-variant-numeric:tabular-nums;color:var(--crit);}

/* Süresi geçmiş yenilemeler */
.gecmis-satir{display:flex;align-items:center;gap:14px;padding:11px 0;border-bottom:1px solid var(--line);}
.gecmis-satir:last-child{border-bottom:0;padding-bottom:0;}
.gecmis-satir > div:first-child{flex:1;min-width:0;}
.gecmis-act{display:flex;gap:8px;flex-shrink:0;}
.gecmis-act form{margin:0;}

@media(max-width:700px){
  .kdv-serit{flex-direction:column;align-items:flex-start;gap:6px;}
  .kdv-serit .kdv-net{margin-left:0;}
  .gecmis-satir{flex-direction:column;align-items:stretch;gap:9px;}
}

/* Durum rozetleri tablo hücresinde kırılmasın */
.pill{white-space:nowrap;}

/* Hedef çizgisi (ARETĒ) — plan kalemlerinde ay başı hedefi işaretler */
.hb .ht{position:relative;}
.hb .ht u{position:absolute;top:0;bottom:0;right:0;width:2px;background:var(--text);opacity:.45;}
