@font-face{font-family:'Inter';font-style:normal;font-weight:400 700;font-display:swap;src:url('vendor/fonts/inter-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Inter';font-style:normal;font-weight:400 700;font-display:swap;src:url('vendor/fonts/inter-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
:root{--c-bg:#f4f6fa;--c-ink:#1f2937;--c-muted:#6b7280;--c-primary:#2f5bea;--c-side:#101828;--c-border:#e5e7eb}
body{font-family:'Inter',system-ui,sans-serif;background:var(--c-bg);color:var(--c-ink);font-size:.925rem}
.auth-body{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1.5rem;background:radial-gradient(circle at 15% 20%,#dbeafe 0%,transparent 45%),radial-gradient(circle at 85% 80%,#e0e7ff 0%,transparent 45%),linear-gradient(135deg,#0f172a 0%,#1e293b 100%)}
.login-shell{width:100%;max-width:980px;border-radius:22px;overflow:hidden;box-shadow:0 25px 60px -15px rgba(2,6,23,.55);background:#fff;border:1px solid rgba(255,255,255,.12)}
.login-hero{background:linear-gradient(155deg,#0f172a 0%,#172554 55%,#1d4ed8 100%);color:#e2e8f0;padding:2.75rem 2.5rem;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}
.login-hero::after{content:'';position:absolute;right:-70px;bottom:-70px;width:240px;height:240px;border-radius:50%;background:radial-gradient(circle,rgba(56,189,248,.22) 0%,transparent 70%);pointer-events:none}
.login-logo{max-width:250px;height:auto;display:block;filter:drop-shadow(0 4px 12px rgba(0,0,0,.25))}
.login-feature{display:flex;align-items:flex-start;gap:.85rem;margin-bottom:1.1rem}
.login-feature .fi{width:36px;height:36px;border-radius:10px;background:rgba(59,130,246,.2);border:1px solid rgba(147,197,253,.25);color:#60a5fa;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:1.05rem}
.login-form-side{padding:2.75rem 2.5rem;background:#fff;display:flex;flex-direction:column;justify-content:center}
.login-input-group .input-group-text{background:#f8fafc;border-right:0;color:#64748b}
.login-input-group .form-control{border-left:0;padding:.68rem .85rem}
.login-input-group .form-control:focus{box-shadow:none;border-color:#93c5fd}
.login-input-group:focus-within{box-shadow:0 0 0 3px rgba(47,91,234,.15);border-radius:.375rem}
.login-input-group:focus-within .input-group-text,.login-input-group:focus-within .form-control{border-color:var(--c-primary)}
.btn-login{padding:.72rem 1rem;font-weight:600;border-radius:10px;background:linear-gradient(135deg,#2563eb,#1d4ed8);border:0;box-shadow:0 8px 20px -6px rgba(37,99,235,.55);transition:transform .15s,box-shadow .15s}
.btn-login:hover{transform:translateY(-1px);box-shadow:0 12px 24px -6px rgba(37,99,235,.7)}
.brand-mark{width:52px;height:52px;border-radius:14px;background:var(--c-primary);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.5rem}
.card-clean{border:1px solid var(--c-border);border-radius:14px;box-shadow:0 1px 2px rgba(16,24,40,.04);background:#fff}
.sidebar{position:fixed;inset:0 auto 0 0;width:250px;background:var(--c-side);color:#cbd5e1;padding:1.25rem .9rem;overflow-y:auto;z-index:1030;transition:transform .2s}
.sidebar .brand{display:flex;align-items:center;margin-bottom:1.5rem;padding:0 .2rem}
.sidebar .brand .brand-logo{max-width:100%;height:auto;max-height:54px;display:block}
.sidebar .nav-link{color:#cbd5e1;border-radius:10px;padding:.6rem .8rem;display:flex;gap:.7rem;align-items:center;font-weight:500}
.sidebar .nav-link:hover{background:#1d2939;color:#fff}
.sidebar .nav-link.active{background:var(--c-primary);color:#fff}
.main{margin-left:250px;min-height:100vh}
.topbar{background:#fff;border-bottom:1px solid var(--c-border);padding:.8rem 1.5rem;display:flex;align-items:center;gap:1rem;position:sticky;top:0;z-index:1020}
.content{padding:1.5rem}
.kpi{padding:1.1rem 1.25rem}
.kpi .label{color:var(--c-muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;font-weight:600}
.kpi .value{font-size:1.5rem;font-weight:700;margin:.2rem 0}
.kpi .sub{color:var(--c-muted);font-size:.8rem}
.kpi .icon{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1.2rem}
.nav-tabs .nav-link{color:var(--c-muted);font-weight:500;transition:none}
.nav-tabs .nav-link.active{color:var(--c-primary);font-weight:600}
.tab-content > .tab-pane.fade{transition:none}
.form-label{font-weight:500;font-size:.82rem;color:#374151;margin-bottom:.25rem}
.tabulator{border-radius:10px;font-size:.85rem;border:1px solid #cbd5e1}
.tabulator .tabulator-header{background:#e2e8f0;border-bottom:2px solid #cbd5e1;color:#0f172a;font-weight:600}
.tabulator .tabulator-header .tabulator-col{background:#e2e8f0;border-right:1px solid #cbd5e1}
.tabulator .tabulator-header .tabulator-col .tabulator-header-filter input,
.tabulator .tabulator-header .tabulator-col .tabulator-header-filter select{font-size:.78rem;padding:.15rem .4rem;background:#fff}
.tabulator .tabulator-tableholder{overflow-x:auto;-webkit-overflow-scrolling:touch}
.tabulator .tabulator-row{background-color:#ffffff;border-bottom:1px solid #e2e8f0;transition:background-color .12s}
.tabulator .tabulator-row.tabulator-row-even{background-color:#eef2ff}
.tabulator .tabulator-row.tabulator-selectable:hover{background-color:#dbeafe!important}
.tabulator .tabulator-row .tabulator-cell{border-right:1px solid #e2e8f0}
.tabulator .tabulator-footer{background:#e2e8f0;border-top:2px solid #cbd5e1;font-weight:600}
.tabulator .tabulator-footer .tabulator-calcs-holder .tabulator-row{background:#e0e7ff!important;font-weight:700}
/* Normal Bootstrap tabloları (Yetki matrisi vb.) için de belirgin satır geçişi */
.table tbody tr:nth-of-type(even):not(.table-light)>*{background-color:#eef2ff}
.table tbody tr:not(.table-light):hover>*{background-color:#dbeafe}
.badge-soft{padding:.35em .65em;border-radius:20px;font-weight:600;font-size:.72rem}
.badge-soft.success{background:#dcfce7;color:#15803d}.badge-soft.danger{background:#fee2e2;color:#b91c1c}
.badge-soft.warning{background:#fef3c7;color:#b45309}.badge-soft.info{background:#dbeafe;color:#1d4ed8}.badge-soft.secondary{background:#e5e7eb;color:#374151}
.advice{border-left:4px solid;border-radius:10px;padding:1rem 1.25rem;background:#fff;margin-bottom:.8rem;border-top:1px solid var(--c-border);border-right:1px solid var(--c-border);border-bottom:1px solid var(--c-border)}
.advice.danger{border-left-color:#dc2626}.advice.warning{border-left-color:#f59e0b}.advice.info{border-left-color:#2563eb}.advice.success{border-left-color:#16a34a}
.text-pos{color:#15803d}.text-neg{color:#b91c1c}
.help-icon{display:inline-flex;align-items:center;justify-content:center;color:var(--c-primary);cursor:pointer;opacity:.75;transition:opacity .15s,transform .15s;vertical-align:middle}
.help-icon:hover{opacity:1;transform:scale(1.12);color:#1d4ed8}
.help-box{background:#f8fafc;border:1px solid #e2e8f0;border-left:4px solid var(--c-primary);border-radius:10px;padding:.85rem 1rem}
.sidebar-backdrop{position:fixed;inset:0;background:rgba(15,23,42,.55);z-index:1025;opacity:0;visibility:hidden;transition:opacity .2s,visibility .2s}
.sidebar-backdrop.show{opacity:1;visibility:visible}
.topbar-title{min-width:0}
@media(max-width:991px){
  .sidebar{transform:translateX(-100%);width:270px;box-shadow:0 20px 40px rgba(0,0,0,.4)}
  .sidebar.open{transform:none}
  .main{margin-left:0}
  .topbar{padding:.65rem 1rem;gap:.6rem}
  .content{padding:1rem .75rem}
  .nav-tabs{flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:thin}
  .nav-tabs .nav-link{white-space:nowrap;padding:.55rem .8rem;font-size:.85rem}
  .kpi{padding:.9rem 1rem}
  .kpi .value{font-size:1.25rem}
}
@media(max-width:575px){
  .auth-body{padding:.75rem}
  .login-form-side{padding:1.75rem 1.25rem}
  .login-hero{display:none}
  /* iOS Safari'nin form alanlarına tıklanınca otomatik yakınlaştırma (auto-zoom) yapmasını önler */
  .form-control,.form-select{font-size:16px}
  .topbar h1{font-size:1rem}
  .card-clean{border-radius:12px}
}
/* CapacitorJS (Android & iOS) Native WebView Uyumluluk Kuralları */
html.plt-capacitor,html.plt-capacitor body{overscroll-behavior-y:none;-webkit-tap-highlight-color:transparent}
html.plt-capacitor .topbar{padding-top: calc(.65rem + env(safe-area-inset-top, 0px))}
html.plt-capacitor .sidebar{padding-top: calc(1.25rem + env(safe-area-inset-top, 0px));padding-bottom: calc(1.25rem + env(safe-area-inset-bottom, 0px))}
html.plt-capacitor .main{padding-bottom: env(safe-area-inset-bottom, 0px)}
html.plt-capacitor .btn,html.plt-capacitor .nav-link,html.plt-capacitor .tabulator-header{user-select:none;-webkit-user-select:none}
@media(pointer:coarse){
  .tabulator .tabulator-row .tabulator-cell{padding-top:.55rem;padding-bottom:.55rem}
  .tabulator .tabulator-footer .tabulator-page{padding:.35rem .65rem}
}
