:root{
  --navy:#1e2d4a;--navy2:#263553;--navy3:#0f1c30;
  --amber:#f59e0b;--amber-bg:#fef3c7;--amber-txt:#92400e;
  --green:#059669;--green-bg:#d1fae5;--green-txt:#065f46;
  --purple:#7c3aed;--purple-bg:#ede9fe;--purple-txt:#4c1d95;
  --red:#dc2626;--red-bg:#fee2e2;--red-txt:#991b1b;
  --blue:#2563eb;--blue-bg:#dbeafe;--blue-txt:#1e40af;
  --teal:#0d9488;--teal-bg:#ccfbf1;--teal-txt:#134e4a;
  --orange:#ea580c;--orange-bg:#ffedd5;--orange-txt:#7c2d12;
  --pink:#db2777;--pink-bg:#fce7f3;--pink-txt:#831843;
  --g50:#f9fafb;--g100:#f3f4f6;--g200:#e5e7eb;
  --g300:#d1d5db;--g400:#9ca3af;--g500:#6b7280;
  --g700:#374151;--g900:#111827;
  --r:12px;--rs:8px;
  --sh-lg:0 10px 25px rgba(0,0,0,.12),0 4px 10px rgba(0,0,0,.07);
}
*{box-sizing:border-box;margin:0;padding:0}
html { font-size:16px; -webkit-text-size-adjust:100%; overflow-x:hidden; width:100%; }
body { font-family:'DM Sans',-apple-system,sans-serif; background:var(--g50); color:var(--g900); min-height:100vh; overflow-x:hidden; width:100%; position:relative; }
.hidden{display:none!important}
a{color:var(--blue);text-decoration:none}
input,select,button,textarea{font-family:'DM Sans',sans-serif;font-size:14px}
button{cursor:pointer}
.auth-bg{min-height:100vh;background:linear-gradient(135deg,var(--navy3) 0%,var(--navy) 55%,#1a4a6e 100%);display:flex;align-items:center;justify-content:center;padding:2rem;position:relative;overflow:hidden}
.auth-bg::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 70% 20%,rgba(245,158,11,.12) 0%,transparent 60%),radial-gradient(ellipse at 20% 80%,rgba(124,58,237,.1) 0%,transparent 50%)}
.auth-split{display:grid;grid-template-columns:1fr 1fr;max-width:860px;width:100%;border-radius:24px;overflow:hidden;box-shadow:0 32px 64px rgba(0,0,0,.35);position:relative;z-index:1}
.auth-left{background:linear-gradient(160deg,var(--navy) 0%,var(--navy3) 100%);padding:2.5rem 2rem;display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden}
.auth-left::before{content:'';position:absolute;top:-80px;right:-80px;width:250px;height:250px;background:radial-gradient(circle,rgba(245,158,11,.15) 0%,transparent 70%);pointer-events:none}
.auth-left::after{content:'';position:absolute;bottom:-60px;left:-60px;width:200px;height:200px;background:radial-gradient(circle,rgba(124,58,237,.1) 0%,transparent 70%);pointer-events:none}
.al-badge{display:inline-flex;align-items:center;gap:6px;background:rgba(245,158,11,.15);color:var(--amber);font-size:11px;font-weight:700;padding:5px 14px;border-radius:20px;letter-spacing:.03em;margin-bottom:1.5rem;border:1px solid rgba(245,158,11,.2);align-self:flex-start}
.al-badge .dot{width:6px;height:6px;background:var(--amber);border-radius:50%;animation:aldot 2s infinite}
@keyframes aldot{0%,100%{opacity:1}50%{opacity:.3}}
.al-title{font-family:'Playfair Display',serif;font-size:26px;font-weight:700;color:#fff;line-height:1.15;margin-bottom:.75rem;letter-spacing:-.02em;position:relative}
.al-sub{font-size:13px;color:rgba(255,255,255,.5);line-height:1.7;margin-bottom:2rem;position:relative}
.al-features{list-style:none;display:flex;flex-direction:column;gap:14px;position:relative}
.al-feat{display:flex;align-items:flex-start;gap:12px}
.al-feat-ico{width:36px;height:36px;border-radius:10px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1);display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0}
.al-feat-txt{color:rgba(255,255,255,.7);font-size:13px;line-height:1.5}
.al-feat-txt strong{color:#fff;font-weight:600;display:block;margin-bottom:1px}
.al-stats{display:flex;gap:1.5rem;margin-top:2rem;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.08);position:relative}
.al-stat-val{font-size:22px;font-weight:700;color:var(--amber)}
.al-stat-lbl{font-size:10px;color:rgba(255,255,255,.35);margin-top:2px;letter-spacing:.04em;text-transform:uppercase}
.auth-right{background:#fff;padding:2.5rem 2rem;display:flex;flex-direction:column;justify-content:center}
.auth-card{background:#fff;border-radius:24px;padding:2.5rem 2rem;max-width:420px;width:100%;position:relative;z-index:1;box-shadow:0 32px 64px rgba(0,0,0,.35),0 0 0 1px rgba(255,255,255,.05)}
.auth-back{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:rgba(255,255,255,.45);background:none;border:none;cursor:pointer;margin-bottom:1.5rem;padding:0;transition:color .2s;position:relative}
.auth-back:hover{color:rgba(255,255,255,.8)}
.auth-back-dark{color:var(--g400)}
.auth-back-dark:hover{color:var(--navy)}
.auth-logo{display:flex;align-items:center;gap:10px;margin-bottom:1.75rem}
.auth-logo-ico{width:44px;height:44px;background:linear-gradient(135deg,var(--amber),#f97316);border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:22px;flex-shrink:0;box-shadow:0 4px 12px rgba(245,158,11,.4)}
.auth-logo-txt{font-family:'Playfair Display',serif;font-size:22px;font-weight:700;color:var(--navy);line-height:1}
.auth-logo-txt small{font-family:'DM Sans',sans-serif;font-size:11px;font-weight:400;color:var(--g400);display:block;margin-top:2px}
.auth-title{font-family:'Playfair Display',serif;font-size:26px;font-weight:700;color:var(--navy);margin-bottom:.35rem}
.auth-sub{font-size:13px;color:var(--g500);line-height:1.6;margin-bottom:1.75rem}
.auth-tabs{display:flex;border:1.5px solid var(--g200);border-radius:var(--rs);overflow:hidden;margin-bottom:1.5rem}
.auth-tab{flex:1;padding:10px;text-align:center;font-size:13px;font-weight:600;color:var(--g500);background:transparent;border:none;transition:all .2s;cursor:pointer}
.auth-tab.active{background:var(--navy);color:#fff}
.ff{display:flex;flex-direction:column;gap:5px;margin-bottom:12px}
.ff label{font-size:10px;font-weight:700;color:var(--g500);letter-spacing:.06em;text-transform:uppercase}
.ff input,.ff select{padding:11px 13px;border:1.5px solid var(--g200);border-radius:var(--rs);font-size:14px;color:var(--g900);transition:border .2s;width:100%}
.ff input:focus,.ff select:focus{outline:none;border-color:var(--navy);box-shadow:0 0 0 3px rgba(30,45,74,.07)}
.btn-primary{width:100%;padding:13px;background:var(--navy);color:#fff;border:none;border-radius:var(--rs);font-size:15px;font-weight:600;margin-top:4px;transition:all .2s}
.btn-primary:hover{background:var(--navy2)}
.btn-primary:active{transform:scale(.98)}
.btn-primary:disabled{opacity:.5;cursor:not-allowed}
.err-box{font-size:13px;color:var(--red);padding:9px 12px;background:var(--red-bg);border-radius:var(--rs);margin-bottom:12px}
.info-box{font-size:13px;color:var(--blue-txt);padding:9px 12px;background:var(--blue-bg);border-radius:var(--rs);margin-bottom:12px}
.auth-note{font-size:11px;color:var(--g400);text-align:center;margin-top:1rem;line-height:1.6}
.auth-note a{color:var(--g500)}
#s-collector .auth-card{max-width:380px}
.org-badge{display:inline-flex;align-items:center;gap:6px;background:var(--amber-bg);color:var(--amber-txt);font-size:12px;font-weight:600;padding:6px 14px;border-radius:20px;margin-bottom:1.25rem}
.pin-inp{width:100%;padding:16px;font-size:26px;letter-spacing:12px;border:1.5px solid var(--g200);border-radius:var(--rs);text-align:center;font-family:monospace;color:var(--g900);transition:border .2s}
.pin-inp:focus{outline:none;border-color:var(--navy);box-shadow:0 0 0 3px rgba(30,45,74,.08)}
.utabs{display:flex;flex-wrap:wrap;border:1.5px solid var(--g200);border-radius:var(--rs);overflow:hidden;margin-bottom:1.25rem}
.utab{flex:1;min-width:80px;padding:10px 6px;text-align:center;cursor:pointer;font-size:13px;font-weight:500;color:var(--g500);background:transparent;border:none;border-right:1px solid var(--g200);transition:all .2s}
.utab:last-child{border-right:none}
.utab.active{background:var(--navy);color:#fff}
#s-app{display:flex;flex-direction:column;min-height:100vh}
.topbar{background:#fff;border-bottom:1px solid var(--g200);padding:0 1.5rem;height:62px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:10;box-shadow:0 1px 4px rgba(0,0,0,.06)}
.tb-left{display:flex;align-items:center;gap:10px}
.tb-logo{width:34px;height:34px;background:linear-gradient(135deg,var(--amber),#f97316);border-radius:9px;display:flex;align-items:center;justify-content:center;font-size:17px}
.tb-title{font-family:'Playfair Display',serif;font-size:16px;font-weight:700;color:var(--navy);line-height:1.2}
.tb-title small{font-family:'DM Sans',sans-serif;font-size:11px;font-weight:400;color:var(--g400);display:block}
.tb-right{display:flex;align-items:center;gap:8px}
.upill{padding:5px 12px;border-radius:20px;font-size:12px;font-weight:600}
.btn-sm{padding:6px 12px;border:1.5px solid var(--g200);border-radius:var(--rs);font-size:12px;color:var(--g700);background:#fff;transition:all .2s}
.btn-sm:hover{border-color:var(--navy);color:var(--navy)}
.btn-sm.admin{border-color:var(--amber);color:var(--amber-txt);background:var(--amber-bg);font-weight:700}
.stats-sec{padding:1.25rem 1.5rem .75rem;background:linear-gradient(135deg,var(--navy3) 0%,var(--navy2) 100%)}
.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px}
.sc{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1);border-radius:var(--r);padding:.9rem 1rem;transition:background .2s}
.sc:hover{background:rgba(255,255,255,.11)}
.sc-lbl{font-size:10px;font-weight:600;color:rgba(255,255,255,.5);letter-spacing:.06em;text-transform:uppercase;margin-bottom:4px}
.sc-val{font-size:22px;font-weight:700;color:#fff;line-height:1}
.sc-sub{font-size:10px;color:rgba(255,255,255,.35);margin-top:4px}
.sc.hl{background:rgba(245,158,11,.18);border-color:rgba(245,158,11,.35)}
.sc.hl .sc-val{color:#fbbf24}
.sc.hl .sc-lbl{color:rgba(251,191,36,.7)}
.sc.hl2{background:rgba(5,150,105,.18);border-color:rgba(5,150,105,.35)}
.sc.hl2 .sc-val{color:#34d399}
.sc.hl2 .sc-lbl{color:rgba(52,211,153,.7)}
.sc.hl-blue{background:rgba(37,99,235,.18);border-color:rgba(37,99,235,.35)}
.sc.hl-blue .sc-val{color:#93c5fd}
.sc.hl-blue .sc-lbl{color:rgba(147,197,253,.7)}
.sc.hl-red{background:rgba(220,38,38,.18);border-color:rgba(220,38,38,.35)}
.sc.hl-red .sc-val{color:#f87171}
.sc.hl-red .sc-lbl{color:rgba(248,113,113,.7)}
.cap-bar{height:4px;background:rgba(255,255,255,.15);border-radius:2px;overflow:hidden;margin-top:5px}
.cap-bar-fill{height:100%;border-radius:2px;transition:width .4s}
.cap-ok{background:#34d399}.cap-warn{background:var(--amber)}.cap-full{background:#f87171}
.main-sec{padding:1.25rem 1.5rem 2rem;flex:1}
.table-card{background:#fff;border-radius:var(--r);box-shadow:var(--sh-lg);overflow:hidden}
.toolbar{padding:.85rem 1.25rem;border-bottom:1px solid var(--g100);display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.search-wrap{flex:1;min-width:160px;position:relative}
.search-wrap input{width:100%;padding:8px 12px 8px 34px;border:1.5px solid var(--g200);border-radius:var(--rs);font-size:13px;color:var(--g900);background:var(--g50);transition:border .2s}
.search-wrap input:focus{outline:none;border-color:var(--navy);background:#fff}
.s-ico{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--g300);font-size:15px;pointer-events:none}
.flt{padding:8px 10px;border:1.5px solid var(--g200);border-radius:var(--rs);font-size:13px;color:var(--g700);background:var(--g50)}
.flt:focus{outline:none;border-color:var(--navy)}
.btn-xl{padding:8px 14px;border:1.5px solid var(--green);border-radius:var(--rs);font-size:13px;font-weight:500;color:var(--green);background:#fff;transition:all .2s;white-space:nowrap}
.btn-xl:hover{background:var(--green-bg)}
.btn-add{padding:9px 18px;background:linear-gradient(135deg,#f59e0b,#ea580c);color:#fff;border:none;border-radius:var(--rs);font-size:13px;font-weight:700;transition:all .2s;white-space:nowrap;box-shadow:0 2px 8px rgba(245,158,11,.35)}
.btn-add:hover{opacity:.9;box-shadow:0 4px 12px rgba(245,158,11,.45);transform:translateY(-1px)}
.tbl-wrap{overflow-x:auto}
table{width:100%;border-collapse:collapse;font-size:13px;min-width:820px}
thead th{padding:10px 12px;text-align:left;font-size:10px;font-weight:700;color:var(--g400);letter-spacing:.06em;text-transform:uppercase;background:var(--g50);border-bottom:1px solid var(--g200)}
tbody td{padding:11px 12px;border-bottom:1px solid var(--g100);color:var(--g700);vertical-align:middle}
tbody tr:last-child td{border-bottom:none}
tbody tr:hover td{background:#f6f8ff}
tbody tr.overdue td{background:#fff9f9}
.name-s strong{color:var(--g900);font-weight:600;font-size:13.5px}
.name-s small{display:block;font-size:11px;color:var(--g400);margin-top:1px;font-family:monospace}
.trip-b{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:20px;font-size:11px;font-weight:600;background:var(--purple-bg);color:var(--purple-txt)}
.amt-p{color:var(--green);font-weight:600}
.amt-r{color:var(--amber);font-weight:600}
.amt-done{color:var(--g300);font-size:12px}
.d-warn{color:var(--red);font-weight:500;font-size:12px}
.d-ok{color:var(--g400);font-size:12px}
.who-p{display:inline-block;padding:3px 9px;border-radius:12px;font-size:11px;font-weight:600}
.izin-b{display:inline-flex;align-items:center;gap:3px;padding:3px 8px;border-radius:10px;font-size:11px;font-weight:600}
.iz-bkl{background:var(--amber-bg);color:var(--amber-txt)}
.iz-gld{background:var(--green-bg);color:var(--green-txt)}
.iz-yok{background:var(--red-bg);color:var(--red-txt)}
.act-cell{display:flex;gap:4px}
.ab{width:30px;height:30px;border-radius:var(--rs);border:1px solid var(--g200);background:#fff;display:flex;align-items:center;justify-content:center;font-size:13px;transition:all .2s;color:var(--g500)}
.ab:hover{background:var(--g100)}
.ab.del:hover{background:var(--red-bg);border-color:#fca5a5;color:var(--red)}
.ab:disabled{opacity:.3;cursor:not-allowed}
.ab:disabled:hover{background:#fff}
.empty-st{padding:3.5rem;text-align:center;color:var(--g400)}
.empty-st .ei{font-size:36px;margin-bottom:.75rem}
.statusbar{padding:6px 1.25rem;font-size:11px;color:var(--g400);border-top:1px solid var(--g100);display:flex;justify-content:space-between}
.live-dot{display:inline-block;width:6px;height:6px;background:#10b981;border-radius:50%;margin-right:4px;animation:pulse 2s infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.4}}
.quick-bar{padding:.65rem 1.5rem;background:rgba(255,255,255,.06);border-top:1px solid rgba(255,255,255,.07);display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.qb-lbl{font-size:10px;font-weight:700;color:rgba(255,255,255,.3);letter-spacing:.08em;text-transform:uppercase;margin-right:4px;flex-shrink:0}
.qb-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 13px;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.14);border-radius:20px;font-size:12px;font-weight:600;color:rgba(255,255,255,.75);cursor:pointer;transition:all .2s;white-space:nowrap}
.qb-btn:hover{background:rgba(255,255,255,.16);color:#fff;border-color:rgba(255,255,255,.3)}
.qb-btn.primary{background:rgba(245,158,11,.25);border-color:rgba(245,158,11,.4);color:#fbbf24}
.qb-btn.primary:hover{background:rgba(245,158,11,.35);color:#fde68a}
.upgrade-banner{background:linear-gradient(135deg,var(--amber-bg),#fff7ed);border:1.5px solid #fcd34d;border-radius:var(--r);padding:1.25rem 1.5rem;margin-bottom:1rem;display:flex;align-items:center;gap:1rem}
.ub-ico{font-size:28px;flex-shrink:0}
.ub-txt h4{font-size:14px;font-weight:700;color:var(--amber-txt);margin-bottom:3px}
.ub-txt p{font-size:13px;color:var(--amber-txt);opacity:.8;line-height:1.5}
.btn-upgrade{padding:8px 18px;background:var(--amber);color:#fff;border:none;border-radius:var(--rs);font-size:13px;font-weight:700;flex-shrink:0;transition:all .2s}
.btn-upgrade:hover{background:#d97706}
.modal-overlay{position:fixed;inset:0;background:rgba(10,20,40,.55);backdrop-filter:blur(3px);display:flex;align-items:flex-start;justify-content:center;padding:2rem 1rem;z-index:100;overflow-y:auto}
.modal{background:#fff;border-radius:16px;max-width:600px;width:100%;box-shadow:0 30px 60px rgba(0,0,0,.25);margin:auto;animation:su .22s ease}
@keyframes su{from{transform:translateY(18px);opacity:0}to{transform:translateY(0);opacity:1}}
.mhdr{padding:1.25rem 1.5rem;border-bottom:1px solid var(--g100);display:flex;align-items:center;justify-content:space-between}
.mtitle{font-family:'Playfair Display',serif;font-size:18px;font-weight:700;color:var(--navy)}
.mclose{width:32px;height:32px;border-radius:var(--rs);border:1px solid var(--g200);background:#fff;display:flex;align-items:center;justify-content:center;font-size:16px;color:var(--g400);transition:all .2s}
.mclose:hover{background:var(--g100)}
.mbody{padding:1.5rem}
.mfooter{padding:1rem 1.5rem;border-top:1px solid var(--g100);display:flex;justify-content:flex-end;gap:10px}
.btn-cancel{padding:9px 18px;border:1.5px solid var(--g200);border-radius:var(--rs);font-size:14px;font-weight:500;color:var(--g500);background:#fff}
.btn-save{padding:9px 22px;background:var(--navy);color:#fff;border:none;border-radius:var(--rs);font-size:14px;font-weight:600;transition:background .2s}
.btn-save:hover{background:var(--navy2)}
.fgrid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.mff{display:flex;flex-direction:column;gap:5px}
.mff.full{grid-column:1/-1}
.mff label{font-size:10px;font-weight:700;color:var(--g400);letter-spacing:.06em;text-transform:uppercase}
.mff input,.mff select,.mff textarea{padding:9px 11px;border:1.5px solid var(--g200);border-radius:var(--rs);font-size:14px;color:var(--g900);transition:border .2s}
.mff input:focus,.mff select:focus{outline:none;border-color:var(--navy);box-shadow:0 0 0 3px rgba(30,45,74,.07)}
.mff input[readonly]{background:var(--g50);color:var(--g500)}
.sec-title{grid-column:1/-1;font-size:11px;font-weight:700;color:var(--navy);letter-spacing:.05em;text-transform:uppercase;padding-bottom:6px;border-bottom:2px solid var(--navy);margin-top:6px}
.sec-div{grid-column:1/-1;border:none;border-top:1px dashed var(--g200);margin:6px 0}
.owner-note{grid-column:1/-1;display:flex;align-items:center;gap:6px;background:var(--g50);border-radius:var(--rs);padding:8px 12px;font-size:12px;color:var(--g500);border:1px solid var(--g200)}
.cap-warn-banner{grid-column:1/-1;padding:10px 12px;background:var(--amber-bg);border:1px solid #fcd34d;border-radius:var(--rs);font-size:13px;color:var(--amber-txt)}
.taksit-wrap{grid-column:1/-1}
.taksit-table{border:1.5px solid var(--g200);border-radius:var(--rs);overflow:hidden}
.taksit-hdr{display:grid;grid-template-columns:28px 1fr 1fr 60px 28px;gap:8px;padding:8px 12px;background:var(--g50);font-size:10px;font-weight:700;color:var(--g400);letter-spacing:.06em;text-transform:uppercase;border-bottom:1px solid var(--g200)}
.taksit-row{display:grid;grid-template-columns:28px 1fr 1fr 60px 28px;gap:8px;padding:8px 12px;border-bottom:1px solid var(--g100);align-items:center}
.taksit-row:last-child{border-bottom:none}
.taksit-row input[type=number],.taksit-row input[type=date]{padding:6px 8px;border:1.5px solid var(--g200);border-radius:6px;font-size:13px;width:100%}
.taksit-row input:focus{outline:none;border-color:var(--navy)}
.taksit-chk{width:18px;height:18px;cursor:pointer;accent-color:var(--navy)}
.taksit-del{width:26px;height:26px;border:1px solid var(--g200);border-radius:6px;background:#fff;color:var(--g400);font-size:12px;display:flex;align-items:center;justify-content:center;transition:all .2s}
.taksit-del:hover{background:var(--red-bg);border-color:#fca5a5;color:var(--red)}
.t-idx{font-size:12px;color:var(--g400);font-weight:600;text-align:center}
.btn-taksit-add{width:100%;padding:8px;border:1.5px dashed var(--g300);border-radius:var(--rs);background:#fff;color:var(--g500);font-size:13px;transition:all .2s;margin-top:6px}
.btn-taksit-add:hover:not(:disabled){border-color:var(--navy);color:var(--navy)}
.btn-taksit-add:disabled{opacity:.4;cursor:not-allowed}
#s-admin{display:flex;flex-direction:column;min-height:100vh;background:var(--g50)}
.admin-topbar{background:var(--navy3);padding:0 1.5rem;height:58px;display:flex;align-items:center;justify-content:space-between}
.admin-topbar-l{display:flex;align-items:center;gap:10px}
.admin-topbar-l span{font-family:'Playfair Display',serif;font-size:16px;color:#fff;font-weight:700}
.admin-topbar-l small{font-size:11px;color:rgba(255,255,255,.5);margin-left:6px}
.admin-body{padding:1.5rem;max-width:780px;margin:0 auto;width:100%}
.admin-tabs{display:flex;gap:4px;background:#fff;border:1.5px solid var(--g200);border-radius:var(--rs);padding:4px;margin-bottom:1.25rem}
.atab{flex:1;padding:9px;text-align:center;font-size:13px;font-weight:600;color:var(--g500);background:transparent;border:none;border-radius:6px;transition:all .2s;cursor:pointer}
.atab.active{background:var(--navy);color:#fff}
.admin-card{background:#fff;border-radius:var(--r);box-shadow:0 1px 4px rgba(0,0,0,.07);overflow:hidden;margin-bottom:1rem;border:1px solid var(--g200)}
.admin-card-hdr{padding:1rem 1.25rem;border-bottom:1px solid var(--g100);display:flex;align-items:center;justify-content:space-between}
.admin-card-hdr h3{font-size:14px;font-weight:700;color:var(--navy)}
.admin-card-hdr p{font-size:12px;color:var(--g400);margin-top:2px}
.btn-add-sm{padding:7px 14px;background:var(--navy);color:#fff;border:none;border-radius:var(--rs);font-size:12px;font-weight:600;display:inline-flex;align-items:center;gap:4px;transition:all .2s}
.btn-add-sm:hover{opacity:.9;transform:translateY(-1px)}
.admin-list{display:flex;flex-direction:column}
.admin-item{padding:1rem 1.25rem;border-bottom:1px solid var(--g100);display:flex;align-items:center;gap:12px;transition:background .2s}
.admin-item:last-child{border-bottom:none}
.admin-item:hover{background:var(--g50)}
.ai-ico{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0}
.ai-info{flex:1;min-width:0}
.ai-name{font-size:14px;font-weight:700;color:var(--navy);margin-bottom:3px;display:flex;align-items:center;gap:8px}
.ai-meta{font-size:12px;color:var(--g500);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.badge-aktif{background:var(--green-bg);color:var(--green-txt);padding:3px 8px;border-radius:10px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em}
.badge-pasif{background:var(--g200);color:var(--g500);padding:3px 8px;border-radius:10px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em}
.ai-actions{display:flex;align-items:center;gap:8px}
.toggle-btn{width:44px;height:24px;border-radius:12px;border:none;position:relative;cursor:pointer;transition:all .3s}
.toggle-btn::after{content:'';position:absolute;top:2px;left:2px;width:20px;height:20px;background:#fff;border-radius:50%;box-shadow:0 2px 4px rgba(0,0,0,.2);transition:all .3s}
.toggle-btn.on{background:var(--green)}
.toggle-btn.on::after{transform:translateX(20px)}
.toggle-btn.off{background:var(--g300)}
.btn-edit-sm{width:32px;height:32px;border-radius:var(--rs);border:1px solid var(--g200);background:#fff;display:flex;align-items:center;justify-content:center;font-size:13px;color:var(--g500);transition:all .2s;cursor:pointer;}
.btn-edit-sm:hover{background:var(--g100);color:var(--navy)}

.aff-row{display:flex;gap:12px}
.aff-row .aff{flex:1}
.aff{display:flex;flex-direction:column;gap:5px}
.aff label{font-size:10px;font-weight:700;color:var(--g500);letter-spacing:.06em;text-transform:uppercase}
.aff input,.aff select,.aff textarea{width:100%;padding:10px 12px;border:1.5px solid var(--g200);border-radius:var(--rs);font-size:14px;color:var(--g900);transition:border .2s;font-family:'DM Sans',sans-serif}
.aff input:focus,.aff select:focus,.aff textarea:focus{outline:none;border-color:var(--navy);box-shadow:0 0 0 3px rgba(30,45,74,.07)}
.ulas-box{background:var(--g50);border:1px solid var(--g200);border-radius:10px;padding:12px;margin-top:4px}
.color-grid{display:flex;flex-wrap:wrap;gap:8px}
.cswatch{width:32px;height:32px;border-radius:50%;cursor:pointer;transition:transform .2s;position:relative}
.cswatch:hover{transform:scale(1.1)}
.cswatch.sel::after{content:'✓';position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#fff;font-size:14px;font-weight:700;text-shadow:0 1px 2px rgba(0,0,0,.3)}
.cap-grid{display:flex;flex-direction:column;gap:8px}
.cap-row{display:flex;align-items:center;justify-content:space-between;background:var(--g50);padding:8px 12px;border-radius:var(--rs);border:1px solid var(--g200)}
.cap-row span{font-size:13px;font-weight:600;color:var(--g700)}
.cap-row input{width:70px;padding:6px 10px;text-align:center;border:1.5px solid var(--g200);border-radius:6px;font-size:13px}
.cap-row input:focus{outline:none;border-color:var(--navy)}

.link-box{display:flex;align-items:center;gap:10px;background:var(--g50);padding:12px 16px;border-radius:var(--rs);border:1px dashed var(--g300)}
.link-box span{flex:1;font-family:monospace;font-size:13px;color:var(--g700);word-break:break-all}
.btn-copy{padding:8px 16px;background:var(--navy);color:#fff;border:none;border-radius:var(--rs);font-size:12px;font-weight:600;flex-shrink:0;transition:all .2s;cursor:pointer;}
.btn-copy:hover{background:var(--navy2)}
.btn-copy.copied{background:var(--green)}

.plan-card{background:linear-gradient(135deg,var(--navy) 0%,var(--navy3) 100%);border-radius:var(--r);padding:1.5rem;display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:1.5rem}
.plan-card h3{font-size:16px;font-weight:700;color:#fff;margin-bottom:4px}
.plan-card p{font-size:13px;color:rgba(255,255,255,.6)}
.plan-badge{padding:4px 10px;border-radius:20px;font-size:11px;font-weight:700;letter-spacing:.05em}
.badge-free{background:rgba(255,255,255,.15);color:#fff}
.badge-paid{background:var(--amber);color:#fff}

.pwa-banner{position:fixed;bottom:-100%;left:20px;right:20px;max-width:400px;margin:0 auto;background:#fff;border-radius:16px;padding:16px;box-shadow:0 10px 40px rgba(0,0,0,.2);display:flex;align-items:center;gap:12px;z-index:9999;transition:bottom .5s cubic-bezier(0.34,1.56,0.64,1);border:1px solid var(--g200)}
.pwa-banner.show{bottom:24px}
.pwa-banner-ico{width:44px;height:44px;background:var(--amber-bg);border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:22px;flex-shrink:0}
.pwa-banner-txt{flex:1}
.pwa-banner-txt strong{display:block;font-size:14px;font-weight:700;color:var(--navy);margin-bottom:2px}
.pwa-banner-txt span{display:block;font-size:12px;color:var(--g500);line-height:1.4}
.pwa-banner-install{padding:8px 16px;background:var(--navy);color:#fff;border:none;border-radius:20px;font-size:13px;font-weight:600;flex-shrink:0;cursor:pointer;}
.pwa-banner-close{position:absolute;top:-10px;right:-10px;width:24px;height:24px;background:#fff;border:1px solid var(--g200);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;color:var(--g500);box-shadow:0 2px 8px rgba(0,0,0,.15);cursor:pointer}

/* DARK THEME */
body.dark-theme {
  background: #0f172a;
  color: #f8fafc;
}
body.dark-theme .topbar,
body.dark-theme .auth-right,
body.dark-theme .auth-card,
body.dark-theme .table-card,
body.dark-theme .modal,
body.dark-theme .admin-card,
body.dark-theme .btn-sm:not(.admin),
body.dark-theme .ab,
body.dark-theme .btn-cancel,
body.dark-theme .ab:disabled,
body.dark-theme .btn-edit-sm,
body.dark-theme .pwa-banner,
body.dark-theme .btn-taksit-add,
body.dark-theme .taksit-del,
body.dark-theme .chart-container > div {
  background: #1e293b !important;
  color: #f8fafc;
  border-color: #334155;
}
body.dark-theme .mclose,
body.dark-theme .pwa-banner-close {
  background: #1e293b;
  border-color: #334155;
  color: #94a3b8;
}
body.dark-theme .topbar,
body.dark-theme .table-card,
body.dark-theme .modal,
body.dark-theme .admin-card,
body.dark-theme .chart-container > div {
  box-shadow: 0 4px 20px rgba(0,0,0,.3);
}
body.dark-theme .search-wrap input,
body.dark-theme .flt,
body.dark-theme .ff input, body.dark-theme .ff select,
body.dark-theme .mff input, body.dark-theme .mff select, body.dark-theme .mff textarea,
body.dark-theme .aff input, body.dark-theme .aff select, body.dark-theme .aff textarea,
body.dark-theme .cap-row input,
body.dark-theme .pin-inp,
body.dark-theme .taksit-row input {
  background: #0f172a;
  color: #f8fafc;
  border-color: #334155;
}
body.dark-theme table thead th,
body.dark-theme .cap-row,
body.dark-theme .link-box,
body.dark-theme .admin-item:hover,
body.dark-theme .admin-tabs,
body.dark-theme .taksit-hdr,
body.dark-theme .owner-note,
body.dark-theme .ulas-box {
  background: #0f172a;
  color: #cbd5e1;
  border-color: #334155;
}
body.dark-theme tbody td,
body.dark-theme .admin-item,
body.dark-theme .taksit-row {
  border-bottom-color: #334155;
  color: #e2e8f0;
}
body.dark-theme tbody tr:hover td {
  background: #1e293b;
}
body.dark-theme tbody tr.overdue td {
  background: rgba(239,68,68,0.1);
}
body.dark-theme .tb-title,
body.dark-theme .auth-title,
body.dark-theme .auth-logo-txt,
body.dark-theme .mtitle,
body.dark-theme .admin-card-hdr h3,
body.dark-theme .chart-container p,
body.dark-theme .ai-name,
body.dark-theme .sec-title,
body.dark-theme .admin-topbar-l span {
  color: #f8fafc !important;
}
body.dark-theme .sec-title { border-bottom-color: #334155 !important; }
body.dark-theme .ai-meta, body.dark-theme .mff label, body.dark-theme .aff label, body.dark-theme .admin-card-hdr p { color: #94a3b8 !important; }
body.dark-theme .admin-topbar { background: #0f172a; border-bottom: 1px solid #334155; }
body.dark-theme #s-admin { background: #0f172a; }

body.dark-theme .name-s strong { color: #f8fafc; }
body.dark-theme .name-s small { color: #94a3b8; }
body.dark-theme .btn-sm:hover,
body.dark-theme .btn-xl:hover,
body.dark-theme .ab:hover,
body.dark-theme .mclose:hover,
body.dark-theme .pwa-banner-close:hover,
body.dark-theme .toggle-btn::after {
  background: #334155;
}
body.dark-theme .auth-back, body.dark-theme .auth-back-dark { color: #94a3b8; }
body.dark-theme .auth-back-dark:hover { color: #f8fafc; }
body.dark-theme .qb-btn { border-color:#334155; background:#1e293b; color:#cbd5e1; }
body.dark-theme .qb-btn:hover { background:#334155; color:#f8fafc; }
body.dark-theme .mhdr, body.dark-theme .mfooter, body.dark-theme .toolbar, body.dark-theme .admin-card-hdr { border-color: #334155; }
body.dark-theme .atab { color: #94a3b8; }
body.dark-theme .atab.active { background: #1e293b; color: #f8fafc; }
body.dark-theme .utab { color: #94a3b8; border-color: #334155; }
body.dark-theme .utab.active { background: #334155; color: #f8fafc; }
body.dark-theme .utabs { border-color: #334155; }
body.dark-theme .ab.del:hover, body.dark-theme .taksit-del:hover { background: rgba(239,68,68,0.2) !important; color: #f87171 !important; border-color: rgba(239,68,68,0.4) !important; }

/* Responsive Visibility Fixes */
.kasam-hero-bg {
    padding: 2.5rem 1.5rem 4.5rem;
}
.kasam-grid {
    padding: 0 1.5rem 2.5rem;
    max-width: 1100px;
    margin: -2.5rem auto 0;
    width: 100%;
    display: grid;
    grid-template-columns: minmax(320px, 1fr) 2fr;
    gap: 1.5rem;
    align-items: start;
    position: relative;
    z-index: 2;
}
.tbl-wrap {
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

@media (max-width: 900px) {
    .kasam-grid {
        grid-template-columns: 1fr;
        padding: 0 1rem 2rem;
        margin: -1.5rem auto 0;
    }
}

@media (min-width: 641px) {
  .mob-toolbar, .mob-filters, .btn-add-float { display: none !important; }
}

@media (max-width: 640px) {
  .stats-sec {
      padding: 1rem 1rem 0.5rem !important;
  }
  .stats-grid {
      grid-template-columns: 1fr 1fr !important;
  }
  .stats-grid > .sc:last-child:nth-child(odd) {
      grid-column: 1 / -1;
  }
  .quick-bar {
      display: grid !important;
      grid-template-columns: 1fr 1fr;
      gap: 10px !important;
      padding: 1rem !important;
      justify-items: stretch;
  }
  .qb-lbl {
      grid-column: span 2;
      text-align: center;
      margin-right: 0 !important;
      margin-bottom: 4px;
      border-bottom: 1px solid rgba(255,255,255,0.06);
      padding-bottom: 8px;
  }
  .qb-btn {
      justify-content: center;
      padding: 12px 6px !important;
      font-size: 11.5px !important;
      text-align: center;
  }
  .qb-btn.primary {
      grid-column: span 2;
      padding: 14px 6px !important;
      font-size: 14px !important;
      box-shadow: 0 4px 12px rgba(245, 158, 11, 0.2);
  }
  .qb-btn:last-child {
      grid-column: span 2;
  }

  /* Modal Constraints Fixes */
  .fgrid {
      grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
      gap: 10px !important;
  }
  .mff input, .mff select, .mff textarea {
      width: 100% !important;
      min-width: 0 !important;
      box-sizing: border-box !important;
  }
  .modal-overlay {
      padding: 1rem 0.5rem !important;
  }
  .mbody, .mhdr, .mfooter {
      padding: 1.25rem !important;
  }

  .main-sec .table-card { display: none !important; }
  .topbar {
      height: auto !important;
      padding: 10px 1rem !important;
      flex-direction: column !important;
      align-items: flex-start !important;
      gap: 12px;
  }
  .tb-right {
      flex-wrap: wrap !important;
      width: 100%;
  }
  .toolbar { display: none !important; }
  .mob-toolbar {
      display: flex;
      gap: 8px;
      padding: 1rem 1rem 0.5rem;
      align-items: center;
      justify-content: space-between;
  }
  .mob-toolbar .search-wrap {
      flex: 1;
  }
  .mob-filters {
      display: grid;
      grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
      gap: 8px;
      padding: 0.5rem 1rem 1rem;
      border-bottom: 1px solid var(--g100);
  }
  .mob-filters select {
      width: 100%;
      min-width: 0;
      text-overflow: ellipsis;
  }
  .mob-filters select:nth-child(1) {
      grid-column: span 2;
  }
  .mob-filters .btn-xl {
      grid-column: span 2;
      width: 100%;
  }
  .kasam-hero-bg {
      padding: 1.5rem 1rem 3.5rem;
  }
  .kasam-grid {
      padding: 0 0.8rem 1.5rem;
  }
  .table-card {
      padding: 1.25rem !important;
  }
  .kasam-hdr-flex {
      flex-direction: column;
      align-items: flex-start !important;
      gap: 1rem;
  }
  .kasam-charts-wrap {
      display: none !important;
  }
  .k-chart-card {
      min-width: 100% !important;
  }
  table {
      min-width: 100% !important;
      font-size: 11px !important;
  }
  thead th {
      padding: 8px 4px !important;
      font-size: 9px !important;
  }
  tbody td {
      padding: 8px 4px !important;
      white-space: normal !important;
      word-break: break-word !important;
      font-size: 11px !important;
  }
  /* Auth layout: tek sütun */
  .auth-split {
    grid-template-columns: 1fr !important;
    border-radius: 16px !important;
    max-width: 440px !important;
    width: 100% !important;
  }
  .auth-left { display: none !important; }
  .auth-bg { padding: 1.5rem 1rem !important; align-items: flex-start !important; }
  .auth-right { padding: 2rem 1.5rem !important; border-radius: 16px !important; }
  .auth-card { padding: 1.75rem 1.25rem !important; }
  /* Topbar butonları mobilde kompakt */
  .tb-right { gap: 5px !important; }
  .btn-sm { padding: 5px 9px !important; font-size: 11px !important; }
  .tb-icon-btn { display: none !important; }
  #upill { font-size: 11px !important; max-width: 120px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
}

/* ─── MOBILE CARD VIEW ─── */
.cards-wrap { padding: .75rem 1rem 5rem; display: flex; flex-direction: column; gap: 10px; }
.rec-card { background: #fff; border-radius: 12px; border: 1px solid var(--g200); box-shadow: 0 2px 8px rgba(0,0,0,.06); overflow: hidden; }
.rec-card.overdue { border-left: 3px solid var(--red); background: #fff9f9; }
.rc-top { display: flex; align-items: flex-start; justify-content: space-between; padding: 12px 14px 8px; gap: 8px; }
.rc-name { font-size: 14px; font-weight: 700; color: var(--g900); line-height: 1.2; }
.rc-sub { font-size: 11px; color: var(--g400); margin-top: 2px; font-family: monospace; }
.rc-kalan-ok { font-size: 11px; font-weight: 700; color: var(--green); background: var(--green-bg); padding: 3px 9px; border-radius: 20px; white-space: nowrap; flex-shrink: 0; align-self: flex-start; }
.rc-kalan-ov { font-size: 11px; font-weight: 700; color: var(--red); background: var(--red-bg); padding: 3px 9px; border-radius: 20px; white-space: nowrap; flex-shrink: 0; align-self: flex-start; }
.rc-kalan-r { font-size: 11px; font-weight: 700; color: var(--amber-txt); background: var(--amber-bg); padding: 3px 9px; border-radius: 20px; white-space: nowrap; flex-shrink: 0; align-self: flex-start; }
.rc-mid { display: flex; align-items: center; gap: 6px; padding: 0 14px 8px; flex-wrap: wrap; }
.rc-gezi { display: inline-flex; align-items: center; gap: 4px; padding: 3px 10px; border-radius: 20px; font-size: 11px; font-weight: 600; background: var(--purple-bg); color: var(--purple-txt); }
.rc-bottom { display: flex; align-items: center; justify-content: space-between; padding: 8px 14px 10px; border-top: 1px solid var(--g100); gap: 8px; }
.rc-meta { font-size: 11px; color: var(--g500); flex: 1; min-width: 0; line-height: 1.5; }
.rc-actions { display: flex; gap: 6px; flex-shrink: 0; }
.rc-btn { width: 34px; height: 34px; border-radius: 8px; border: 1px solid var(--g200); background: #fff; display: flex; align-items: center; justify-content: center; font-size: 15px; cursor: pointer; transition: all .2s; }
.rc-btn:hover:not(:disabled) { background: var(--g100); }
.rc-btn.del:hover:not(:disabled) { background: var(--red-bg); border-color: #fca5a5; }
.rc-btn:disabled { opacity: .3; cursor: not-allowed; }

/* ─── LOCKOUT WARNING ─── */
.lockout-warn { font-size: 13px; color: var(--red); padding: 9px 12px; background: var(--red-bg); border-radius: var(--rs); border: 1px solid #fca5a5; }

/* ─── DARK THEME: CARD VIEW ─── */
body.dark-theme .rec-card { background: #1e293b; border-color: #334155; }
body.dark-theme .rec-card.overdue { background: rgba(239,68,68,.08); border-left-color: #f87171; }
body.dark-theme .rc-name { color: #f8fafc; }
body.dark-theme .rc-sub { color: #64748b; }
body.dark-theme .rc-bottom { border-top-color: #334155; }
body.dark-theme .rc-meta { color: #94a3b8; }
body.dark-theme .rc-btn { background: #1e293b; border-color: #334155; }
body.dark-theme .rc-btn:hover:not(:disabled) { background: #334155; }
body.dark-theme .lockout-warn { background: rgba(239,68,68,.12); border-color: rgba(239,68,68,.3); }