:root{--navy:#10233f;--navy2:#172f52;--cyan:#14b8a6;--blue:#2563eb;--orange:#f59e0b;--red:#ef4444;--bg:#f3f6fb;--text:#172033;--muted:#738096;--line:#e4eaf2;--sidebar:260px}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,Arial,sans-serif;font-size:14px}.app-shell{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar);background:linear-gradient(180deg,var(--navy),#0b192e);color:#fff;z-index:1030;display:flex;flex-direction:column;box-shadow:10px 0 35px rgba(15,35,65,.12)}.brand{height:86px;padding:20px 22px;display:flex;align-items:center;gap:13px;border-bottom:1px solid rgba(255,255,255,.08)}.brand-mark{width:43px;height:43px;border-radius:14px;background:linear-gradient(135deg,#f7c948,#f59e0b);display:grid;place-items:center;color:#fff;font-size:21px;box-shadow:0 9px 24px rgba(245,158,11,.28)}.brand strong{font-size:18px;display:block;letter-spacing:.2px}.brand span{font-size:11px;color:#91a4bf;display:block;margin-top:2px}.side-nav{padding:18px 14px;overflow:auto;flex:1}.nav-caption{font-size:10px;font-weight:800;color:#617894;letter-spacing:1.3px;padding:17px 12px 8px}.nav-item{display:flex;align-items:center;gap:12px;color:#b9c6d8;text-decoration:none;padding:12px 13px;border-radius:11px;margin:3px 0;font-weight:600;transition:.2s}.nav-item i{font-size:17px;width:20px}.nav-item:hover{color:#fff;background:rgba(255,255,255,.07)}.nav-item.active{background:linear-gradient(90deg,rgba(20,184,166,.23),rgba(37,99,235,.11));color:#fff;box-shadow:inset 3px 0 0 var(--cyan)}.sidebar-footer{padding:18px 24px;border-top:1px solid rgba(255,255,255,.08)}.sidebar-footer a{color:#9eb0c8;text-decoration:none;font-weight:600}.main-area{margin-left:var(--sidebar);min-height:100vh;display:flex;flex-direction:column}.topbar{height:86px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 30px;gap:18px;position:sticky;top:0;z-index:1020}.menu-toggle{display:none;font-size:24px}.topbar-title{display:flex;flex-direction:column}.eyebrow{font-size:9px;font-weight:800;color:var(--cyan);letter-spacing:1.4px}.topbar-title strong{font-size:15px}.user-box{margin-left:auto;display:flex;align-items:center;gap:10px}.user-avatar{width:40px;height:40px;border-radius:12px;background:linear-gradient(135deg,var(--blue),#7c3aed);color:#fff;display:grid;place-items:center;font-weight:800}.user-box strong,.user-box span{display:block}.user-box span{font-size:10px;color:var(--muted)}.page-content{padding:28px 30px;flex:1}.app-footer{text-align:center;padding:18px;color:#8895a8;font-size:11px}.page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:24px}.page-head h1{font-size:25px;font-weight:800;margin:0 0 5px}.page-head p{color:var(--muted);margin:0}.btn{border-radius:10px;font-weight:700;padding:.65rem 1rem}.btn-primary{background:linear-gradient(135deg,var(--blue),#4f46e5);border:0;box-shadow:0 8px 18px rgba(37,99,235,.2)}.btn-soft{background:#edf3ff;color:var(--blue);border:0}.card{border:1px solid var(--line);border-radius:16px;box-shadow:0 8px 28px rgba(16,35,63,.045);overflow:hidden}.card-header{background:#fff;border-bottom:1px solid var(--line);padding:18px 20px;font-weight:800}.card-body{padding:20px}.kpi-card{position:relative;min-height:142px}.kpi-icon{width:45px;height:45px;border-radius:14px;display:grid;place-items:center;font-size:20px}.kpi-icon.green{background:#e6faf6;color:#0f9f8f}.kpi-icon.blue{background:#eaf1ff;color:var(--blue)}.kpi-icon.orange{background:#fff5df;color:#dc8c00}.kpi-icon.red{background:#ffeded;color:var(--red)}.kpi-label{color:var(--muted);font-weight:600;font-size:12px}.kpi-value{font-size:23px;font-weight:800;margin-top:8px;letter-spacing:-.5px}.kpi-sub{font-size:11px;color:#8b98aa;margin-top:6px}.section-title{font-size:16px;font-weight:800;margin:0}.table{margin:0}.table th{font-size:10px;text-transform:uppercase;letter-spacing:.6px;color:#7c899c;background:#f8fafc;border-bottom-color:var(--line);padding:13px 14px}.table td{padding:14px;vertical-align:middle;border-color:#edf1f6}.badge{font-weight:700;padding:7px 9px;border-radius:8px}.form-label{font-size:11px;font-weight:800;color:#536176;text-transform:uppercase;letter-spacing:.35px}.form-control,.form-select{border:1px solid #dce3ed;border-radius:10px;min-height:44px}.form-control:focus,.form-select:focus{border-color:#93b4ff;box-shadow:0 0 0 .22rem rgba(37,99,235,.09)}.filter-bar{background:#fff;border:1px solid var(--line);padding:15px;border-radius:15px;margin-bottom:18px}.empty-state{text-align:center;padding:46px 20px;color:var(--muted)}.empty-state i{font-size:42px;color:#bcc8d8}.login-page{min-height:100vh;background:radial-gradient(circle at 10% 10%,#d8f7f1 0,transparent 30%),radial-gradient(circle at 90% 90%,#dce7ff 0,transparent 35%),#f4f7fb;display:grid;place-items:center;padding:24px}.login-card{max-width:980px;width:100%;display:grid;grid-template-columns:1.05fr .95fr;background:#fff;border-radius:24px;overflow:hidden;box-shadow:0 25px 80px rgba(16,35,63,.16)}.login-visual{background:linear-gradient(145deg,#10233f,#173c6e);padding:55px;color:#fff;position:relative}.login-visual h1{font-size:36px;font-weight:800;margin-top:75px}.login-visual p{color:#b7c6da;line-height:1.7}.login-form{padding:55px;display:flex;flex-direction:column;justify-content:center}.login-logo{display:flex;gap:12px;align-items:center}.login-logo .brand-mark{flex:none}.sidebar-overlay{display:none}@media(max-width:991px){.sidebar{transform:translateX(-100%);transition:.25s}.sidebar.open{transform:translateX(0)}.main-area{margin-left:0}.menu-toggle{display:block}.page-content{padding:22px 16px}.topbar{padding:0 16px;height:72px}.sidebar-overlay.show{display:block;position:fixed;inset:0;background:rgba(6,17,34,.5);z-index:1025}.page-head{flex-direction:column}.login-card{grid-template-columns:1fr}.login-visual{display:none}.login-form{padding:35px 25px}}@media(max-width:575px){.kpi-value{font-size:20px}.page-head h1{font-size:22px}.table-responsive{font-size:12px}}
/* Patron nakit takvimi */
.cash-calendar-wrap{background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 10px 35px rgba(16,35,63,.06);overflow:hidden}.cash-calendar-toolbar{padding:16px 18px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.cash-calendar-legend{display:flex;gap:12px;flex-wrap:wrap;font-size:11px;color:var(--muted)}.legend-dot{width:8px;height:8px;border-radius:50%;display:inline-block;margin-right:5px}.calendar-scroll{overflow:auto;max-height:70vh}.cash-calendar{border-collapse:separate;border-spacing:0;min-width:1500px;width:max-content;margin:0;font-size:11px}.cash-calendar th,.cash-calendar td{border-right:1px solid #e8edf4;border-bottom:1px solid #e8edf4;padding:8px 9px;white-space:nowrap;text-align:right;background:#fff}.cash-calendar thead th{position:sticky;top:0;z-index:9;background:#f4f7fb;font-size:10px;color:#5d6a7e;font-weight:800}.cash-calendar .sticky-col{position:sticky;z-index:7;text-align:left}.cash-calendar thead .sticky-col{z-index:12}.cash-calendar .c1{left:0;min-width:135px;max-width:135px}.cash-calendar .c2{left:135px;min-width:180px;max-width:180px}.cash-calendar .c3{left:315px;min-width:120px;max-width:120px}.cash-calendar .c4{left:435px;min-width:120px;max-width:120px}.cash-calendar .c5{left:555px;min-width:120px;max-width:120px}.cash-calendar .c6{left:675px;min-width:120px;max-width:120px}.cash-calendar .c7{left:795px;min-width:120px;max-width:120px}.cash-calendar .c8{left:915px;min-width:64px;max-width:64px;text-align:center}.cash-calendar tbody .sticky-col{background:#fff}.cash-calendar .section-row td{background:#10233f!important;color:#fff;font-weight:800;text-align:left;letter-spacing:.5px;padding:10px 12px}.cash-calendar .rate-row td,.cash-calendar .rate-row .sticky-col{background:#f7f9fc;color:#516077}.cash-calendar .total-row td,.cash-calendar .total-row .sticky-col{background:#edf3fb;font-weight:800}.cash-calendar .net-row td,.cash-calendar .net-row .sticky-col{background:#fff6df;font-weight:800}.cash-calendar .cumulative-row td,.cash-calendar .cumulative-row .sticky-col{background:#e8faf5;font-weight:800;color:#087f70}.cash-calendar .negative{color:#dc2626!important;background:#fff0f0!important}.cash-calendar .positive{color:#07866f}.cash-calendar .day-head{min-width:92px;text-align:center}.cash-calendar .day-head strong,.cash-calendar .day-head span{display:block}.cash-calendar .day-head span{font-size:9px;color:#8a96a8;margin-top:3px}.cash-calendar .money-link{color:inherit;text-decoration:none}.cash-calendar .money-link:hover{text-decoration:underline}.calendar-help{background:#edf6ff;border:1px solid #d7e9ff;border-radius:12px;padding:12px 14px;color:#44607c;font-size:12px}.calendar-kpi{background:#fff;border:1px solid var(--line);border-radius:15px;padding:17px;height:100%}.calendar-kpi .label{font-size:10px;color:var(--muted);font-weight:800;text-transform:uppercase;letter-spacing:.5px}.calendar-kpi .value{font-size:20px;font-weight:800;margin-top:7px}.print-only{display:none}@media print{.sidebar,.topbar,.app-footer,.no-print{display:none!important}.main-area{margin:0}.page-content{padding:0}.cash-calendar-wrap{box-shadow:none;border:0}.calendar-scroll{max-height:none;overflow:visible}.cash-calendar{font-size:8px;transform-origin:top left}.print-only{display:block}}

/* =========================================================
   V8 - Sunvital kurumsal kimlik ve profesyonel arayuz
   ========================================================= */
:root{
  --gold:#d5a51d;
  --gold-light:#f1cf61;
  --navy:#0d1d34;
  --navy2:#142c4d;
  --surface:#ffffff;
  --shadow-soft:0 14px 42px rgba(13,29,52,.08);
}
body{background:linear-gradient(180deg,#f5f8fc 0,#eef3f9 100%);}
.sidebar{background:linear-gradient(180deg,#0c1b30 0%,#102844 55%,#091728 100%);}
.brand{height:112px;padding:17px 20px 14px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:7px;}
.brand-logo-link{display:block;width:100%;text-decoration:none;}
.brand-logo{display:block;width:178px;max-width:100%;height:auto;object-fit:contain;object-position:left center;filter:drop-shadow(0 6px 14px rgba(0,0,0,.18));}
.brand-product{font-size:9px;line-height:1;font-weight:800;letter-spacing:2.2px;color:rgba(255,255,255,.56);padding-left:4px;}
.nav-item{border:1px solid transparent;}
.nav-item:hover{border-color:rgba(255,255,255,.06);transform:translateX(2px);}
.nav-item.active{background:linear-gradient(90deg,rgba(213,165,29,.23),rgba(255,255,255,.06));box-shadow:inset 3px 0 0 var(--gold);}
.nav-item.active i{color:var(--gold-light);}
.nav-caption{color:#7187a3;}
.sidebar-footer a:hover{color:#fff;}

.dataTables_wrapper {
    padding: 4px 0;
}

.dataTables_wrapper .dataTables_length,
.dataTables_wrapper .dataTables_filter {
    margin-bottom: 16px;
}

.dataTables_wrapper .dataTables_filter {
    text-align: right;
}

.dataTables_wrapper .dataTables_filter input,
.dataTables_wrapper .dataTables_length select {
    border: 1px solid #d9dee7;
    border-radius: 8px;
    padding: 7px 10px;
    background: #fff;
}

.dataTables_wrapper .dataTables_filter input {
    min-width: 220px;
    margin-left: 8px;
}

.dataTables_wrapper .dataTables_info {
    padding-top: 14px;
    color: #697386;
    font-size: 13px;
}

.dataTables_wrapper .pagination {
    margin-top: 12px;
}

.dataTables_wrapper .page-link {
    border-radius: 7px;
    margin: 0 2px;
    color: #25324b;
    border-color: #dce2eb;
}

.dataTables_wrapper .page-item.active .page-link {
    background: #25324b;
    border-color: #25324b;
    color: #fff;
}

table.dataTable > thead > tr > th {
    white-space: nowrap;
}

table.dataTable tbody td {
    vertical-align: middle;
}

@media (max-width: 767px) {
    .dataTables_wrapper .dataTables_filter {
        text-align: left;
        margin-top: 10px;
    }

    .dataTables_wrapper .dataTables_filter input {
        width: 100%;
        min-width: 0;
        margin-left: 0;
        margin-top: 6px;
    }
}

.topbar{height:88px;padding:0 30px;background:rgba(255,255,255,.93);backdrop-filter:blur(14px);box-shadow:0 5px 24px rgba(13,29,52,.035);}
.topbar-brand{width:126px;height:48px;border-radius:13px;background:linear-gradient(145deg,#10233f,#0b1b31);display:flex;align-items:center;justify-content:center;padding:7px 10px;text-decoration:none;box-shadow:0 9px 24px rgba(13,29,52,.17);overflow:hidden;}
.topbar-brand img{display:block;width:106px;height:auto;max-height:39px;object-fit:contain;}
.topbar-title{padding-left:3px;}
.eyebrow{color:#b2820d;letter-spacing:1.35px;}
.topbar-title strong{font-size:15px;color:#1a2940;}
.user-box{padding:7px 9px 7px 7px;border:1px solid #e4eaf2;border-radius:14px;background:#fff;box-shadow:0 7px 20px rgba(13,29,52,.04);}
.user-avatar{background:linear-gradient(135deg,#ba8610,#e2b733);box-shadow:0 7px 18px rgba(213,165,29,.24);}
.page-head{padding:4px 2px;}
.page-head h1{letter-spacing:-.65px;color:#10233f;}
.page-head p{max-width:720px;}
.card{background:rgba(255,255,255,.96);box-shadow:var(--shadow-soft);}
.card:hover{box-shadow:0 18px 48px rgba(13,29,52,.095);}
.btn-primary{background:linear-gradient(135deg,#c28e12,#e4b833);box-shadow:0 10px 22px rgba(194,142,18,.24);color:#fff;}
.btn-primary:hover,.btn-primary:focus{background:linear-gradient(135deg,#af7d0b,#dba91e);color:#fff;transform:translateY(-1px);}
.btn-soft{background:#fff8e5;color:#9a6c05;border:1px solid #f3df9f;}
.app-footer{display:flex;align-items:center;justify-content:center;gap:7px;}
.app-footer img{width:20px;height:20px;border-radius:6px;}

/* Login */
.login-page{background:radial-gradient(circle at 12% 12%,rgba(213,165,29,.13),transparent 30%),radial-gradient(circle at 88% 82%,rgba(37,99,235,.12),transparent 34%),linear-gradient(135deg,#eef3f8,#f9fbfd);}
.login-card{max-width:1080px;min-height:650px;grid-template-columns:1.08fr .92fr;border:1px solid rgba(255,255,255,.7);box-shadow:0 38px 100px rgba(13,29,52,.2);}
.login-visual{padding:48px 52px;background:radial-gradient(circle at 12% 10%,rgba(224,178,43,.18),transparent 35%),linear-gradient(150deg,#0b192d 0%,#13345a 62%,#0b213d 100%);overflow:hidden;}
.login-visual:before{content:"";position:absolute;width:390px;height:390px;border:1px solid rgba(255,255,255,.06);border-radius:50%;right:-185px;top:-120px;box-shadow:0 0 0 55px rgba(255,255,255,.02),0 0 0 110px rgba(255,255,255,.015);}
.login-visual:after{content:"";position:absolute;left:0;right:0;bottom:0;height:5px;background:linear-gradient(90deg,#a97508,#f0cd5d,#a97508);}
.login-logo-panel{position:relative;z-index:2;display:flex;flex-direction:column;align-items:flex-start;gap:6px;}
.login-brand-logo{display:block;width:245px;max-width:76%;height:auto;filter:drop-shadow(0 9px 18px rgba(0,0,0,.22));}
.login-logo-panel span{font-size:10px;font-weight:800;letter-spacing:2.35px;color:rgba(255,255,255,.58);padding-left:5px;text-transform:uppercase;}
.login-copy{position:relative;z-index:2;margin-top:72px;}
.login-pill{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;border:1px solid rgba(241,207,97,.28);background:rgba(213,165,29,.1);color:#f2d477;font-size:11px;font-weight:700;}
.login-visual h1{margin:22px 0 15px;font-size:39px;line-height:1.13;letter-spacing:-1.3px;max-width:460px;}
.login-visual p{font-size:14px;max-width:470px;}
.login-feature-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:31px;}
.login-feature-grid>div{display:flex;align-items:center;gap:10px;padding:12px;border:1px solid rgba(255,255,255,.08);border-radius:13px;background:rgba(255,255,255,.04);color:#d9e3ef;font-size:11px;font-weight:600;}
.login-feature-grid i{display:grid;place-items:center;width:28px;height:28px;border-radius:9px;background:rgba(213,165,29,.16);color:#e8c65e;font-size:14px;}
.login-form{padding:64px 58px;background:#fff;}
.login-form-head{margin-bottom:29px;}
.login-kicker{display:block;color:#b17d08;font-size:10px;font-weight:800;letter-spacing:1.55px;margin-bottom:8px;}
.login-form-head h2{font-size:29px;font-weight:800;letter-spacing:-.7px;margin:0 0 7px;color:#10233f;}
.login-form-head p{color:#7b889b;margin:0;line-height:1.55;}
.input-icon-wrap{position:relative;}
.input-icon-wrap>i{position:absolute;left:15px;top:50%;transform:translateY(-50%);z-index:2;color:#96a3b5;font-size:16px;}
.input-icon-wrap .form-control{padding-left:44px;min-height:50px;background:#fbfcfe;}
.input-icon-wrap .form-control:focus{background:#fff;}
.btn-login{min-height:51px;border-radius:12px;font-size:14px;}
.login-security{display:flex;align-items:center;justify-content:center;gap:7px;color:#929eae;font-size:10px;margin-top:24px;text-align:center;}
.login-security i{color:#b88713;}
.mobile-login-logo{display:none;}

@media(max-width:991px){
  .brand{height:104px;}
  .topbar{height:74px;}
  .topbar-brand{width:106px;height:43px;}
  .topbar-brand img{width:90px;}
  .login-card{min-height:auto;max-width:520px;}
  .login-form{padding:42px 30px;}
  .mobile-login-logo{display:flex;flex-direction:column;align-items:center;gap:8px;margin-bottom:35px;}
  .mobile-logo-dark{width:205px;height:76px;background:linear-gradient(145deg,#10233f,#0b1b31);border-radius:16px;display:flex;align-items:center;justify-content:center;padding:11px 16px;box-shadow:0 14px 35px rgba(13,29,52,.18);}
  .mobile-logo-dark img{display:block;width:174px;height:auto;}
  .mobile-login-logo>span{font-size:9px;font-weight:800;letter-spacing:2px;color:#8c98a9;text-transform:uppercase;}
}
@media(max-width:575px){
  .topbar-brand{width:91px;height:39px;padding:6px 8px;}
  .topbar-brand img{width:78px;}
  .topbar-title{display:none;}
  .login-page{padding:14px;}
  .login-card{border-radius:19px;}
  .login-form{padding:34px 22px;}
  .mobile-logo-dark{width:190px;height:70px;}
  .mobile-logo-dark img{width:162px;}
}

/* V9: Ust barda ikinci logo kullanilmaz. */
.topbar-brand{display:none!important;}

@media (max-width: 767.98px) {
    .login-form {
        width: 100% !important;
        max-width: 100% !important;
        flex: 0 0 100% !important;
        padding-left: 24px;
        padding-right: 24px;
    }
}

@media (max-width: 767.98px) {
    .login-page {
        grid-template-columns: 1fr !important;
    }

    .login-form {
        width: 100% !important;
        max-width: 100% !important;
    }
}

@media (max-width: 767.98px) {
    .login-card {
        display: block !important;
        grid-template-columns: 1fr !important;
        width: 100% !important;
        max-width: 100% !important;
    }

    .login-visual {
        display: none !important;
    }

    .login-form {
        width: 100% !important;
        max-width: 100% !important;
        flex: none !important;
        padding-left: 24px;
        padding-right: 24px;
    }
}