/* Heapp Pro v3.0 - Çoklu Kullanıcılı Veresiye Sistemi */
:root{--r:#DC2626;--rl:#FEE2E2;--rd:#991B1B;--rh:#B91C1C;--b:#111827;--bl:#1F2937;--w:#fff;--g50:#F9FAFB;--g100:#F3F4F6;--g200:#E5E7EB;--g300:#D1D5DB;--g400:#9CA3AF;--g500:#6B7280;--g600:#4B5563;--g700:#374151;--gr:#059669;--grl:#D1FAE5;--o:#D97706;--ol:#FEF3C7;}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;background:var(--g50);color:var(--b);line-height:1.5;min-height:100vh}

/* LOGIN / REGISTER */
.auth-page{display:flex;align-items:center;justify-content:center;min-height:100vh;background:linear-gradient(135deg,var(--b) 0%,var(--bl) 100%)}
.auth-box{background:var(--w);border-radius:16px;padding:40px 36px;width:100%;max-width:420px;box-shadow:0 25px 50px rgba(0,0,0,0.25)}
.auth-brand{text-align:center;margin-bottom:28px}
.auth-brand h1{font-size:32px;font-weight:800;letter-spacing:1px}
.auth-brand h1 span{color:var(--r)}
.auth-brand p{font-size:13px;color:var(--g500);margin-top:4px}
.auth-tabs{display:flex;gap:4px;margin-bottom:24px;background:var(--g100);padding:4px;border-radius:10px}
.auth-tab{flex:1;padding:10px;border-radius:8px;border:none;background:transparent;cursor:pointer;font-size:14px;font-weight:500;color:var(--g600);transition:all .15s}
.auth-tab.active{background:var(--w);color:var(--b);box-shadow:0 1px 3px rgba(0,0,0,0.1)}
.auth-form{display:none}
.auth-form.active{display:block;animation:fadeIn .25s ease}

/* FORM */
.form-group{margin-bottom:18px}
.form-label{display:block;font-size:13px;font-weight:500;margin-bottom:6px;color:var(--g700)}
.form-input,.form-select{width:100%;padding:11px 14px;border:1.5px solid var(--g200);border-radius:8px;font-size:14px;outline:none;transition:border-color .2s,box-shadow .2s;background:var(--w);color:var(--b)}
.form-input:focus,.form-select:focus{border-color:var(--r);box-shadow:0 0 0 3px rgba(220,38,38,0.08)}
.form-input::placeholder{color:var(--g400)}
textarea.form-input{resize:vertical;min-height:80px}

/* BUTTONS */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:10px 20px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;border:none;transition:all .15s;text-decoration:none}
.btn-r{background:var(--r);color:var(--w)}.btn-r:hover{background:var(--rh);transform:translateY(-1px)}
.btn-b{background:var(--b);color:var(--w)}.btn-b:hover{background:var(--bl)}
.btn-o{background:var(--w);color:var(--g700);border:1.5px solid var(--g200)}.btn-o:hover{border-color:var(--g300);background:var(--g50)}
.btn-sm{padding:7px 14px;font-size:13px}.btn-lg{padding:13px 24px;font-size:15px;width:100%}
.btn-d{background:var(--rl);color:var(--rd);border:1.5px solid var(--rl)}.btn-d:hover{background:#FECACA}

/* LAYOUT */
.app{display:flex;min-height:100vh}
.sidebar{width:240px;background:var(--b);color:var(--w);display:flex;flex-direction:column;flex-shrink:0;position:fixed;top:0;left:0;bottom:0;z-index:100;transition:transform .3s}
.sidebar-brand{padding:22px 18px 18px;border-bottom:1px solid var(--bl)}
.sidebar-brand h1{font-size:22px;font-weight:800;letter-spacing:.5px}.sidebar-brand span{color:var(--r)}
.sidebar-brand p{font-size:11px;color:var(--g500);margin-top:4px}
.sidebar-nav{flex:1;padding:10px 8px;overflow-y:auto}
.nav-item{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:8px;cursor:pointer;font-size:14px;color:var(--g400);transition:all .15s;margin-bottom:2px;border:none;background:none;width:100%;text-align:left;text-decoration:none}
.nav-item:hover{background:var(--bl);color:var(--w)}
.nav-item.active{background:var(--r);color:var(--w);font-weight:600}
.nav-item svg{width:18px;height:18px;flex-shrink:0}
.nav-badge{margin-left:auto;background:var(--r);color:var(--w);font-size:11px;font-weight:600;padding:2px 8px;border-radius:10px}
.sidebar-footer{padding:14px;border-top:1px solid var(--bl)}
.user-info{display:flex;align-items:center;gap:10px;margin-bottom:8px}
.user-avatar{width:32px;height:32px;border-radius:50%;background:var(--r);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:var(--w);flex-shrink:0}
.user-name{font-size:13px;font-weight:500}.user-plan{font-size:11px;color:var(--g500)}
.db-status{font-size:11px;color:var(--g500);display:flex;align-items:center;gap:6px}
.db-status::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--gr);display:inline-block}
.trial-badge{display:inline-block;padding:3px 10px;border-radius:12px;font-size:11px;font-weight:600;margin-top:6px}
.trial-badge.ok{background:var(--grl);color:var(--gr)}.trial-badge.warn{background:var(--ol);color:var(--o)}.trial-badge.danger{background:var(--rl);color:var(--rd)}

.main{flex:1;margin-left:240px;display:flex;flex-direction:column;min-height:100vh}
.header{height:60px;background:var(--w);border-bottom:1px solid var(--g200);display:flex;align-items:center;justify-content:space-between;padding:0 24px;position:sticky;top:0;z-index:50}
.header-left{display:flex;align-items:center;gap:16px}
.header-title{font-size:18px;font-weight:700}
.menu-toggle{display:none;background:none;border:none;cursor:pointer;color:var(--g600)}
.header-search{position:relative}
.header-search input{width:280px;padding:9px 12px 9px 36px;border:1.5px solid var(--g200);border-radius:8px;font-size:14px;outline:none}
.header-search input:focus{border-color:var(--r);box-shadow:0 0 0 3px rgba(220,38,38,0.08)}
.header-search svg{position:absolute;left:10px;top:50%;transform:translateY(-50%);width:16px;height:16px;color:var(--g400)}
.header-actions{display:flex;align-items:center;gap:10px}
.content{flex:1;padding:24px;overflow-y:auto}

/* CARDS */
.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}
.kpi-card{background:var(--w);border-radius:12px;padding:20px;border:1px solid var(--g200);box-shadow:0 1px 2px rgba(0,0,0,0.05);transition:box-shadow .2s}
.kpi-card:hover{box-shadow:0 4px 6px rgba(0,0,0,0.07)}
.kpi-label{font-size:12px;color:var(--g500);margin-bottom:6px;font-weight:500}
.kpi-value{font-size:28px;font-weight:700;font-variant-numeric:tabular-nums;line-height:1.1}
.kpi-change{font-size:12px;margin-top:6px;font-weight:500}.up{color:var(--gr)}.down{color:var(--r)}

.panel{background:var(--w);border-radius:12px;border:1px solid var(--g200);box-shadow:0 1px 2px rgba(0,0,0,0.05);overflow:hidden}
.panel-hd{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--g100)}
.panel-tl{font-size:15px;font-weight:700}
.panel-bd{padding:16px 20px}

.charts-row{display:grid;grid-template-columns:2fr 1fr;gap:16px;margin-bottom:16px}
.chart-bar{display:flex;align-items:flex-end;gap:8px;height:160px;padding-top:16px}
.chart-item{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px}
.chart-fill{width:100%;border-radius:4px 4px 0 0;background:var(--r);opacity:.85;transition:opacity .2s;min-height:4px}
.chart-fill:hover{opacity:1}
.chart-val{font-size:11px;font-weight:600;color:var(--g700)}
.chart-lbl{font-size:11px;color:var(--g500)}

.donut{width:140px;height:140px;margin:0 auto}
.donut-legend{display:flex;flex-direction:column;gap:8px;margin-top:16px}
.legend-item{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--g700)}
.legend-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}
.legend-val{margin-left:auto;font-weight:600}

/* TABLE */
.data-table{width:100%;border-collapse:collapse;font-size:14px}
.data-table th{text-align:left;padding:12px 16px;font-size:11px;font-weight:600;color:var(--g500);text-transform:uppercase;letter-spacing:.3px;border-bottom:1px solid var(--g200);background:var(--g50)}
.data-table td{padding:12px 16px;border-bottom:1px solid var(--g100);vertical-align:middle}
.data-table tbody tr:hover td{background:var(--g50)}
.data-table tbody tr:last-child td{border-bottom:none}
.cust-name{font-weight:600;font-size:14px}.cust-phone{font-size:12px;color:var(--g500);margin-top:2px}
.amt{font-weight:600;font-variant-numeric:tabular-nums}.amt-r{color:var(--r)}.amt-g{color:var(--gr)}

/* BADGES */
.badge{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:20px;font-size:12px;font-weight:600}
.badge-r{background:var(--rl);color:var(--rd)}.badge-g{background:var(--grl);color:#047857}.badge-o{background:var(--ol);color:#B45309}.badge-gy{background:var(--g100);color:var(--g600)}
.sdot{width:6px;height:6px;border-radius:50%;display:inline-block}.sdot-r{background:var(--r)}.sdot-g{background:var(--gr)}.sdot-o{background:var(--o)}

/* FILTERS */
.filters{display:flex;gap:8px;margin-bottom:16px;flex-wrap:wrap}
.fbtn{padding:7px 14px;border-radius:8px;font-size:13px;font-weight:500;border:1.5px solid var(--g200);background:var(--w);cursor:pointer;transition:all .15s;color:var(--g600)}
.fbtn:hover{border-color:var(--g300)}.fbtn.on{background:var(--b);color:var(--w);border-color:var(--b)}

/* PROGRESS */
.pbar{height:6px;border-radius:3px;background:var(--g200);overflow:hidden}
.pfill{height:100%;border-radius:3px;background:var(--r);transition:width .4s ease}
.ptxt{font-size:11px;color:var(--g500);margin-top:4px}

/* REPORT CARDS */
.rgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:24px}
.rcard{background:var(--w);border-radius:12px;padding:20px;border:1px solid var(--g200);cursor:pointer;transition:all .2s;box-shadow:0 1px 2px rgba(0,0,0,0.05)}
.rcard:hover{border-color:var(--r);box-shadow:0 4px 12px rgba(220,38,38,0.08);transform:translateY(-2px)}
.rcard-icon{width:40px;height:40px;border-radius:10px;background:var(--rl);color:var(--r);display:flex;align-items:center;justify-content:center;margin-bottom:12px}
.rcard-tl{font-size:14px;font-weight:700;margin-bottom:4px}.rcard-desc{font-size:12px;color:var(--g500)}

/* SETTINGS */
.ssection{background:var(--w);border-radius:12px;border:1px solid var(--g200);margin-bottom:16px;overflow:hidden;box-shadow:0 1px 2px rgba(0,0,0,0.05)}
.sheader{padding:14px 20px;border-bottom:1px solid var(--g100);font-size:15px;font-weight:700}
.srow{display:flex;align-items:center;justify-content:space-between;padding:13px 20px;border-bottom:1px solid var(--g100);gap:20px}
.srow:last-child{border-bottom:none}
.stl{font-size:14px;font-weight:500}.sdesc{font-size:12px;color:var(--g500);margin-top:2px}
.toggle{width:44px;height:24px;border-radius:12px;background:var(--g300);position:relative;cursor:pointer;transition:background .2s;flex-shrink:0;border:none}
.toggle.on{background:var(--r)}.toggle::after{content:'';position:absolute;width:20px;height:20px;border-radius:50%;background:var(--w);top:2px;left:2px;transition:transform .2s;box-shadow:0 1px 3px rgba(0,0,0,0.15)}
.toggle.on::after{transform:translateX(20px)}

/* MODAL */
.moverlay{position:fixed;inset:0;background:rgba(0,0,0,0.5);display:none;align-items:center;justify-content:center;z-index:1000;padding:20px}
.moverlay.show{display:flex}
.modal{background:var(--w);border-radius:16px;width:100%;max-width:520px;max-height:90vh;overflow-y:auto;box-shadow:0 25px 50px rgba(0,0,0,0.25);animation:modIn .25s ease}
@keyframes modIn{from{opacity:0;transform:scale(.95) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}
.mhd{display:flex;align-items:center;justify-content:space-between;padding:20px 24px 0}
.mtl{font-size:18px;font-weight:700}.mclose{background:none;border:none;cursor:pointer;color:var(--g400);padding:4px;border-radius:6px;transition:all .15s}
.mclose:hover{background:var(--g100);color:var(--g700)}.mbd{padding:16px 24px}.mft{display:flex;justify-content:flex-end;gap:10px;padding:0 24px 20px}
.frow{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.fcheck{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:14px;color:var(--g700)}
.fcheck input{width:16px;height:16px;accent-color:var(--r);cursor:pointer}

/* TOAST */
.tcont{position:fixed;top:16px;right:16px;z-index:2000;display:flex;flex-direction:column;gap:8px}
.toast{background:var(--b);color:var(--w);padding:12px 18px;border-radius:8px;font-size:14px;font-weight:500;box-shadow:0 4px 12px rgba(0,0,0,0.15);animation:tin .3s ease;display:flex;align-items:center;gap:8px;min-width:260px}
.toast.ok{background:var(--gr)}.toast.err{background:var(--r)}
@keyframes tin{from{opacity:0;transform:translateX(20px)}to{opacity:1;transform:translateX(0)}}

/* LOADING */
.ld{position:fixed;inset:0;background:rgba(255,255,255,0.8);display:none;align-items:center;justify-content:center;z-index:1500}
.ld.show{display:flex}.spin{width:36px;height:36px;border:3px solid var(--g200);border-top-color:var(--r);border-radius:50%;animation:sp .8s linear infinite}
@keyframes sp{to{transform:rotate(360deg)}}

/* EMPTY */
.empty{text-align:center;padding:50px 20px}.empty svg{width:56px;height:56px;color:var(--g300);margin-bottom:12px}
.empty h3{font-size:15px;font-weight:600;margin-bottom:6px}.empty p{font-size:13px;color:var(--g500)}

/* PORTAL */
.portal-page{display:flex;align-items:center;justify-content:center;min-height:100vh;background:linear-gradient(135deg,var(--b) 0%,var(--bl) 100%)}
.portal-box{background:var(--w);border-radius:16px;padding:36px;width:100%;max-width:480px;box-shadow:0 25px 50px rgba(0,0,0,0.25);text-align:center}
.portal-brand h1{font-size:26px;font-weight:800}.portal-brand span{color:var(--r)}
.portal-brand p{font-size:13px;color:var(--g500);margin-top:4px}
.pin-inputs{display:flex;gap:10px;justify-content:center;margin:20px 0}
.pin-input{width:50px;height:56px;text-align:center;font-size:24px;font-weight:700;border:2px solid var(--g200);border-radius:10px;outline:none;transition:border-color .2s}
.pin-input:focus{border-color:var(--r);box-shadow:0 0 0 3px rgba(220,38,38,0.08)}

/* ADMIN */
.admin-badge{display:inline-block;padding:3px 10px;border-radius:6px;font-size:11px;font-weight:700;background:var(--r);color:var(--w)}
.user-row:hover{background:var(--g50)}

/* TAB CONTENT */
.tabc{display:none}.tabc.on{display:block;animation:fadeIn .25s ease}
@keyframes fadeIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}

/* RESPONSIVE */
@media(max-width:1200px){.kpi-grid{grid-template-columns:repeat(2,1fr)}.charts-row{grid-template-columns:1fr}.rgrid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:768px){.sidebar{transform:translateX(-100%);width:260px}.sidebar.open{transform:translateX(0)}.main{margin-left:0}.menu-toggle{display:block}.header-search{display:none}.kpi-grid{grid-template-columns:1fr}.rgrid{grid-template-columns:1fr}.frow{grid-template-columns:1fr}.content{padding:16px}}

/* UTILS */
.tr{color:var(--r)}.tg{color:var(--gr)}.to{color:var(--o)}.tgy{color:var(--g500)}
.mb1{margin-bottom:8px}.mb2{margin-bottom:16px}.mb3{margin-bottom:24px}
.mt1{margin-top:8px}.flex{display:flex}.jbt{display:flex;justify-content:space-between;align-items:center}.g2{gap:16px}.tar{text-align:right}
.wa-link{background:var(--grl);color:#047857;padding:10px 14px;border-radius:8px;font-size:13px;font-weight:500;word-break:break-all;margin:10px 0;display:block;text-decoration:none}
.wa-link:hover{background:#A7F3D0}
