.ktp-app{
  --ktp-ink:#161B22;
  --ktp-navy:#1B2A38;
  --ktp-navy-2:#233649;
  --ktp-paper:#F5F3EE;
  --ktp-card:#FFFFFF;
  --ktp-line:#DEDAD0;
  --ktp-line-2:#2E4256;
  --ktp-amber:#E8A33D;
  --ktp-amber-ink:#7A4E12;
  --ktp-teal:#2A9D8F;
  --ktp-coral:#E85D4E;
  --ktp-muted:#6B7280;
  --ktp-muted-lt:#9AA3AC;
  --ktp-danger:#C0392B;
  --ktp-success:#2E7D5B;
  --ktp-radius:10px;

  display:block;
  background:var(--ktp-paper);
  color:var(--ktp-ink);
  font-family:'Inter',sans-serif;
  -webkit-font-smoothing:antialiased;
  line-height:1.45;
}
.ktp-app *{box-sizing:border-box;}
.ktp-app h1,.ktp-app h2,.ktp-app h3{font-family:'Space Grotesk',sans-serif;margin:0;}
.ktp-mono,.ktp-app .mono{font-family:'IBM Plex Mono',monospace; font-variant-numeric:tabular-nums;}

#ktp-topbar{
  background:var(--ktp-navy);
  color:#EDEFF2;
  padding:14px 22px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  border-bottom:3px solid var(--ktp-amber);
  border-radius:var(--ktp-radius) var(--ktp-radius) 0 0;
  flex-wrap:wrap;
  gap:10px;
}
#ktp-topbar .ktp-brand{display:flex;align-items:center;gap:10px;}
#ktp-topbar .ktp-mark{
  width:34px;height:34px;border-radius:8px;background:var(--ktp-amber);
  display:flex;align-items:center;justify-content:center;
  font-family:'Space Grotesk',sans-serif;font-weight:700;color:var(--ktp-navy);font-size:15px;
}
#ktp-topbar .ktp-name{font-family:'Space Grotesk',sans-serif;font-weight:600;font-size:16px;letter-spacing:.2px;}
#ktp-topbar .ktp-sub{font-size:11px;color:var(--ktp-muted-lt);margin-top:1px;}
#ktp-topbar .ktp-right{display:flex;align-items:center;gap:16px;flex-wrap:wrap;}
#ktp-topbar .ktp-clock{font-family:'IBM Plex Mono',monospace;font-size:12px;color:var(--ktp-muted-lt);}
.ktp-app .ktp-session-tag{
  font-size:12px;background:var(--ktp-navy-2);padding:6px 10px;border-radius:20px;
  border:1px solid var(--ktp-line-2);display:flex;align-items:center;gap:6px;color:#EDEFF2;
}
.ktp-app .ktp-session-tag .ktp-dot{width:7px;height:7px;border-radius:50%;}
.ktp-app button.ktp-logout{
  background:transparent;border:1px solid var(--ktp-line-2);color:#EDEFF2;
  padding:6px 12px;border-radius:8px;font-size:12px;cursor:pointer;font-family:'Inter',sans-serif;
}
.ktp-app button.ktp-logout:hover{background:var(--ktp-navy-2);}

#ktp-app-content{padding:24px;max-width:1180px;width:100%;margin:0 auto;}
@media(max-width:640px){#ktp-app-content{padding:14px;} #ktp-topbar{padding:12px 14px;}}

.ktp-app .ktp-card{
  background:var(--ktp-card);
  border:1px solid var(--ktp-line);
  border-radius:var(--ktp-radius);
  padding:20px;
  margin-bottom:18px;
}
.ktp-app .ktp-card h2{font-size:16px;margin-bottom:4px;}
.ktp-app .ktp-card-desc{color:var(--ktp-muted);font-size:12.5px;margin-bottom:14px;}
.ktp-app .ktp-grid{display:grid;gap:12px;}
.ktp-app .ktp-grid.ktp-cols-2{grid-template-columns:1fr 1fr;}
.ktp-app .ktp-grid.ktp-cols-3{grid-template-columns:repeat(3,1fr);}
.ktp-app .ktp-grid.ktp-cols-4{grid-template-columns:repeat(4,1fr);}
@media(max-width:760px){.ktp-app .ktp-grid.ktp-cols-2,.ktp-app .ktp-grid.ktp-cols-3,.ktp-app .ktp-grid.ktp-cols-4{grid-template-columns:1fr 1fr;}}
@media(max-width:460px){.ktp-app .ktp-grid.ktp-cols-2,.ktp-app .ktp-grid.ktp-cols-3,.ktp-app .ktp-grid.ktp-cols-4{grid-template-columns:1fr;}}

.ktp-app label{display:block;font-size:12px;color:var(--ktp-muted);margin-bottom:5px;font-weight:600;}
.ktp-app input[type=text],
.ktp-app input[type=password],
.ktp-app input[type=number],
.ktp-app input[type=date],
.ktp-app select,
.ktp-app textarea{
  width:100%;padding:9px 10px;border:1px solid var(--ktp-line);border-radius:7px;
  font-size:14px;font-family:'Inter',sans-serif;background:#FCFBF9;color:var(--ktp-ink);
  margin:0;
}
.ktp-app input.ktp-mono-input{font-family:'IBM Plex Mono',monospace;text-align:right;}
.ktp-app input:focus,.ktp-app select:focus,.ktp-app textarea:focus{outline:2px solid var(--ktp-amber);outline-offset:1px;border-color:var(--ktp-amber);}
.ktp-app .ktp-field{margin-bottom:12px;}

.ktp-app button{cursor:pointer;font-family:'Inter',sans-serif;}
.ktp-app .ktp-btn{
  background:var(--ktp-navy);color:#fff;border:none;padding:10px 16px;border-radius:8px;
  font-size:13.5px;font-weight:600;
}
.ktp-app .ktp-btn:hover{background:var(--ktp-navy-2);}
.ktp-app .ktp-btn.ktp-primary{background:var(--ktp-amber);color:var(--ktp-navy);}
.ktp-app .ktp-btn.ktp-primary:hover{background:#d9922f;}
.ktp-app .ktp-btn.ktp-ghost{background:transparent;color:var(--ktp-navy);border:1px solid var(--ktp-line);}
.ktp-app .ktp-btn.ktp-ghost:hover{background:#EFEBE2;}
.ktp-app .ktp-btn.ktp-danger{background:#fbeae8;color:var(--ktp-danger);border:1px solid #f0c9c4;}
.ktp-app .ktp-btn.ktp-danger:hover{background:#f7d9d5;}
.ktp-app .ktp-btn.ktp-small{padding:6px 10px;font-size:12px;}
.ktp-app .ktp-btn:disabled{opacity:.5;cursor:not-allowed;}

.ktp-app .ktp-login-wrap{display:flex;align-items:center;justify-content:center;min-height:60vh;}
.ktp-app .ktp-login-card{
  background:var(--ktp-card);border:1px solid var(--ktp-line);border-radius:14px;
  padding:34px 32px;width:100%;max-width:380px;
  box-shadow:0 20px 40px -20px rgba(27,42,56,.25);
}
.ktp-app .ktp-login-card .ktp-ticket-mark{width:100%;text-align:center;margin-bottom:18px;}
.ktp-app .ktp-login-card .ktp-ticket-mark .ktp-mark{
  width:46px;height:46px;border-radius:10px;background:var(--ktp-navy);color:var(--ktp-amber);
  display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:18px;
  font-family:'Space Grotesk',sans-serif;
}
.ktp-app .ktp-login-card h1{font-size:19px;margin:14px 0 2px 0;text-align:center;}
.ktp-app .ktp-login-card p.ktp-tag{text-align:center;color:var(--ktp-muted);font-size:12.5px;margin:0 0 22px 0;}
.ktp-app .ktp-role-toggle{display:flex;gap:8px;margin-bottom:16px;}
.ktp-app .ktp-role-toggle button{
  flex:1;padding:8px;border-radius:8px;border:1px solid var(--ktp-line);background:#FCFBF9;
  font-size:12.5px;font-weight:600;color:var(--ktp-muted);
}
.ktp-app .ktp-role-toggle button.ktp-active{background:var(--ktp-navy);color:#fff;border-color:var(--ktp-navy);}
.ktp-app .ktp-branch-toggle{display:flex;gap:8px;margin-bottom:14px;}
.ktp-app .ktp-branch-toggle button{
  flex:1;padding:9px;border-radius:8px;border:2px solid var(--ktp-line);background:#fff;
  font-size:13px;font-weight:600;color:var(--ktp-ink);
}
.ktp-app .ktp-branch-toggle button.ktp-active[data-branch="Alaçatı"]{border-color:var(--ktp-teal);background:#EAF6F4;color:#1a6f64;}
.ktp-app .ktp-branch-toggle button.ktp-active[data-branch="Karşıyaka"]{border-color:var(--ktp-coral);background:#FDEEEC;color:#a83f32;}
.ktp-app .ktp-login-error{background:#fbeae8;color:var(--ktp-danger);font-size:12.5px;padding:8px 10px;border-radius:7px;margin-bottom:12px;}
.ktp-app .ktp-login-hint{font-size:11px;color:var(--ktp-muted-lt);text-align:center;margin-top:14px;}

.ktp-app .ktp-receipt{
  background:repeating-linear-gradient(#fff,#fff 27px,#f1efe9 27px,#f1efe9 28px);
  border:1px dashed #c8c2b4;border-radius:2px;
  padding:16px 18px;font-family:'IBM Plex Mono',monospace;font-size:12.5px;color:#2b2b2b;
  position:relative;
}
.ktp-app .ktp-receipt .ktp-rline{display:flex;justify-content:space-between;padding:2px 0;}
.ktp-app .ktp-receipt .ktp-rline.ktp-total{border-top:1px dashed #b8b2a4;margin-top:6px;padding-top:8px;font-weight:600;}
.ktp-app .ktp-receipt .ktp-rhead{text-align:center;font-weight:600;letter-spacing:1px;margin-bottom:8px;text-transform:uppercase;font-size:11.5px;color:var(--ktp-muted);}

.ktp-app table{width:100%;border-collapse:collapse;font-size:13px;}
.ktp-app th,.ktp-app td{text-align:left;padding:8px 9px;border-bottom:1px solid var(--ktp-line);}
.ktp-app th{font-size:11px;text-transform:uppercase;letter-spacing:.4px;color:var(--ktp-muted);font-weight:700;}
.ktp-app td.ktp-num,.ktp-app th.ktp-num{text-align:right;font-family:'IBM Plex Mono',monospace;}
.ktp-app tbody tr:hover{background:#FAF8F3;}

.ktp-app .ktp-pill{display:inline-block;padding:2px 9px;border-radius:20px;font-size:11px;font-weight:600;}
.ktp-app .ktp-pill.ktp-teal{background:#EAF6F4;color:#1a6f64;}
.ktp-app .ktp-pill.ktp-coral{background:#FDEEEC;color:#a83f32;}

.ktp-app .ktp-kpi-row{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:18px;}
@media(max-width:760px){.ktp-app .ktp-kpi-row{grid-template-columns:1fr 1fr;}}
.ktp-app .ktp-kpi{background:var(--ktp-card);border:1px solid var(--ktp-line);border-radius:var(--ktp-radius);padding:16px;}
.ktp-app .ktp-kpi .ktp-label{font-size:11.5px;color:var(--ktp-muted);font-weight:600;text-transform:uppercase;letter-spacing:.3px;}
.ktp-app .ktp-kpi .ktp-value{font-family:'IBM Plex Mono',monospace;font-size:22px;font-weight:600;margin-top:6px;}
.ktp-app .ktp-kpi .ktp-value.ktp-pos{color:var(--ktp-success);}
.ktp-app .ktp-kpi .ktp-value.ktp-neg{color:var(--ktp-danger);}

.ktp-app .ktp-tabs{display:flex;gap:4px;margin-bottom:18px;border-bottom:1px solid var(--ktp-line);flex-wrap:wrap;}
.ktp-app .ktp-tabs button{
  padding:10px 14px;background:transparent;border:none;font-size:13px;font-weight:600;
  color:var(--ktp-muted);border-bottom:2px solid transparent;margin-bottom:-1px;
}
.ktp-app .ktp-tabs button.ktp-active{color:var(--ktp-navy);border-bottom-color:var(--ktp-amber);}

.ktp-app .ktp-chart-box{background:var(--ktp-card);border:1px solid var(--ktp-line);border-radius:var(--ktp-radius);padding:18px;margin-bottom:18px;}
.ktp-app .ktp-chart-box canvas{max-height:280px;}
.ktp-app .ktp-two-col{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
@media(max-width:820px){.ktp-app .ktp-two-col{grid-template-columns:1fr;}}

.ktp-app .ktp-exp-row{display:grid;grid-template-columns:1fr 1fr 1.6fr 0.8fr auto;gap:8px;align-items:end;}
@media(max-width:700px){.ktp-app .ktp-exp-row{grid-template-columns:1fr 1fr;}}

.ktp-app .ktp-muted{color:var(--ktp-muted);}
.ktp-app .ktp-small{font-size:12px;}
.ktp-app .ktp-flex{display:flex;align-items:center;}
.ktp-app .ktp-between{justify-content:space-between;}
.ktp-app .ktp-gap8{gap:8px;}
.ktp-app .ktp-mt8{margin-top:8px;}
.ktp-app .ktp-mt16{margin-top:16px;}
.ktp-app .ktp-mb0{margin-bottom:0;}
.ktp-app .ktp-empty-state{text-align:center;padding:30px 10px;color:var(--ktp-muted);font-size:13px;}
.ktp-app .ktp-footnote{font-size:11px;color:var(--ktp-muted-lt);text-align:center;padding:16px 10px 30px;}
.ktp-app .ktp-banner{background:#FFF6E5;border:1px solid #F0D89B;color:#7A4E12;padding:10px 14px;border-radius:8px;font-size:12.5px;margin-bottom:16px;}
.ktp-app .ktp-close-x{background:none;border:none;color:var(--ktp-danger);font-weight:700;cursor:pointer;font-size:14px;padding:2px 6px;}

.ktp-toast{
  position:fixed;bottom:20px;left:50%;transform:translateX(-50%);
  background:#1B2A38;color:#fff;padding:10px 18px;border-radius:8px;font-size:13px;
  box-shadow:0 10px 30px -10px rgba(0,0,0,.4);z-index:99999;opacity:0;transition:opacity .25s;pointer-events:none;
  font-family:'Inter',sans-serif;
}
.ktp-toast.ktp-show{opacity:1;}

/* Detay modali (gelir kalemi / gider kategorisi tiklama) */
.ktp-app .ktp-row-clickable{cursor:pointer;transition:background .12s;}
.ktp-app .ktp-row-clickable:hover{background:#F5F1E8;}
.ktp-modal-overlay{
  position:fixed;inset:0;background:rgba(27,42,56,.55);z-index:9999;
  display:flex;align-items:center;justify-content:center;padding:16px;
}
.ktp-modal{
  background:#fff;border-radius:12px;padding:22px 24px;max-width:640px;width:100%;
  max-height:85vh;overflow:auto;box-shadow:0 30px 60px -20px rgba(0,0,0,.35);
  font-family:'Inter',sans-serif;
}
.ktp-modal table{width:100%;}
.ktp-modal a{color:var(--ktp-teal);text-decoration:none;}
.ktp-modal a:hover{text-decoration:underline;}
