/* COMPONENTS - Buton, kart, form, tablo, modal */
#sidebar{width:var(--nav-w);background:var(--bg-primary);border-right:1px solid var(--border);display:flex;flex-direction:column;position:fixed;top:0;left:0;height:100vh;z-index:50;transition:transform .25s;overflow-y:auto;overscroll-behavior:contain}
#sidebar::-webkit-scrollbar{width:4px}
#sidebar::-webkit-scrollbar-thumb{background:var(--border-md);border-radius:2px}
#sidebar-user .avatar{width:30px;height:30px;border-radius:50%;background:var(--accent-light);color:var(--accent);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;flex-shrink:0}
#sidebar-user .uinfo{flex:1;min-width:0}
.btn{padding:7px 14px;border-radius:var(--radius);font-size:13px;cursor:pointer;font-family:inherit;display:inline-flex;align-items:center;gap:5px;transition:all .15s;border:1px solid var(--border-md);background:var(--bg-primary);color:var(--text-primary)}
.btn:hover{background:var(--bg-secondary)}
.btn-primary{background:var(--accent);color:#fff;border-color:var(--accent)}
.btn-primary:hover{background:#185FA5}
.btn-danger{background:none;border:none;color:var(--red);padding:4px 8px;cursor:pointer;font-size:13px;border-radius:var(--radius)}
.btn-success{background:var(--green-light);color:var(--green);border:none;padding:4px 10px;border-radius:var(--radius);font-size:12px;cursor:pointer;font-family:inherit}
.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:16px}
.metric{background:var(--bg-secondary);border-radius:var(--radius);padding:12px 14px}
.metric label{font-size:11px;color:var(--text-secondary);display:block;margin-bottom:4px}
.metric .val{font-size:19px;font-weight:600}
.metric .delta{font-size:11px;margin-top:3px;color:var(--text-tertiary)}
.card{background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-lg);padding:16px 18px;margin-bottom:14px}
.card h2{font-size:11px;font-weight:600;color:var(--text-secondary);margin-bottom:12px;text-transform:uppercase;letter-spacing:.05em}
.charts2{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px}
.tbl-wrap{overflow-x:auto}
table{width:100%;border-collapse:collapse;font-size:13px}
th{text-align:left;font-size:11px;font-weight:600;color:var(--text-secondary);padding:7px 10px;border-bottom:1px solid var(--border);white-space:nowrap}
td{padding:8px 10px;border-bottom:1px solid var(--border);color:var(--text-primary);vertical-align:middle}
tr:last-child td{border-bottom:none}
tbody tr:hover td{background:var(--bg-secondary)}
.badge{display:inline-block;font-size:11px;padding:3px 9px;border-radius:20px;font-weight:500}
.badge.gelir{background:var(--green-light);color:var(--green)}
.badge.gider{background:var(--red-light);color:var(--red)}
.badge.bekle{background:var(--amber-light);color:var(--amber)}
.badge.odendi{background:var(--green-light);color:var(--green)}
.badge.superadmin{background:var(--accent-light);color:var(--accent)}
.badge.admin{background:var(--bg-secondary);color:var(--text-secondary)}
.badge.calisan{background:var(--green-light);color:var(--green)}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.form-full{grid-column:1/-1}
.form-group{display:flex;flex-direction:column;gap:5px}
.form-group label{font-size:12px;color:var(--text-secondary);font-weight:500}
.form-group input,.form-group select{padding:8px 10px;border:1px solid var(--border-md);border-radius:var(--radius);font-size:13px;font-family:inherit;background:var(--bg-primary);color:var(--text-primary);transition:border .15s;width:100%}
.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--accent)}
.fatura-card{border:1px solid var(--border);border-radius:var(--radius);padding:12px 14px;margin-bottom:10px;display:flex;justify-content:space-between;align-items:flex-start;gap:12px;background:var(--bg-primary)}
.ac-card{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;background:var(--bg-secondary);border-radius:var(--radius);margin-bottom:8px}
.ac-icon{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0}
.prog-bar{height:4px;background:var(--border);border-radius:2px;margin-top:6px;overflow:hidden}
.prog-fill{height:100%;background:var(--accent);border-radius:2px}
.filter-row{display:flex;gap:8px;margin-bottom:12px;flex-wrap:wrap;align-items:center}
.chip{display:inline-flex;align-items:center;gap:4px;font-size:12px;padding:5px 12px;border-radius:20px;cursor:pointer;border:1px solid var(--border-md);color:var(--text-secondary);background:var(--bg-primary);transition:all .15s}
.chip:hover{border-color:var(--accent);color:var(--accent)}
.chip.active{background:var(--accent);color:#fff;border-color:var(--accent)}
.filter-row input[type=month]{font-size:12px;padding:5px 8px;border:1px solid var(--border-md);border-radius:var(--radius);background:var(--bg-primary);color:var(--text-primary);font-family:inherit}
.empty{text-align:center;padding:2.5rem;color:var(--text-tertiary);font-size:13px}
.empty i{font-size:32px;display:block;margin-bottom:8px}
#overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:200;align-items:center;justify-content:center;padding:16px}
#overlay.show{display:flex}
#modal{background:var(--bg-primary);border-radius:var(--radius-lg);border:1px solid var(--border);padding:20px;width:100%;max-width:440px;max-height:90vh;overflow-y:auto}
.modal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}
.modal-head span{font-size:15px;font-weight:600}
.modal-close{background:none;border:none;cursor:pointer;font-size:20px;color:var(--text-secondary);padding:2px;line-height:1}
#toast{position:fixed;bottom:24px;right:24px;background:var(--text-primary);color:var(--bg-primary);padding:10px 18px;border-radius:var(--radius);font-size:13px;z-index:999;opacity:0;transform:translateY(10px);transition:all .25s;pointer-events:none}
#toast.show{opacity:1;transform:translateY(0)}
.loading{text-align:center;padding:2rem;color:var(--text-tertiary);font-size:13px}
.settings-section{margin-bottom:24px}
.settings-section h3{font-size:13px;font-weight:600;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid var(--border)}
.user-row{display:flex;align-items:center;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--border)}
.user-row:last-child{border-bottom:none}
.user-row .uavatar{width:34px;height:34px;border-radius:50%;background:var(--accent-light);color:var(--accent);display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700}
/* Mobil ek iyileştirmeler */
.tbl-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:var(--radius)}
.filter-row{flex-wrap:wrap}
.hover-card{cursor:pointer;transition:box-shadow .15s}
.hover-card:hover{box-shadow:0 4px 12px rgba(0,0,0,.08)}
#detay-metrics{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px}

/* FAB - Floating Action Button */
#fab-container{display:none}
#fab-btn{transition:transform .25s cubic-bezier(.34,1.56,.64,1),background .2s}
#fab-menu{animation:fabIn .2s ease}
@keyframes fabIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
#fab-menu > div:hover{box-shadow:0 6px 20px rgba(0,0,0,.15) !important;transform:translateX(-2px)}
#fab-menu > div{transition:transform .15s,box-shadow .15s}
