:root{--p:#6366f1;--pd:#4f46e5;--pl:#818cf8;--sb:260px;--hh:56px;--bg:#f8fafc;--bg2:#fff;--bg3:#f1f5f9;--tx:#0f172a;--tx2:#475569;--tx3:#94a3b8;--bdr:#e2e8f0;--bdr2:#f1f5f9;--card:#fff;--hover:#f8fafc;--inp:#f8fafc;--inpf:#fff;--shd:0 1px 3px rgba(0,0,0,.06),0 1px 2px rgba(0,0,0,.04);--shd-md:0 4px 6px -1px rgba(0,0,0,.07),0 2px 4px -2px rgba(0,0,0,.05);--radius:12px;--radius-sm:8px;--radius-xs:6px;--transition:all .2s cubic-bezier(.4,0,.2,1)}
[data-theme="dark"]{--bg:#0c0a1d;--bg2:#161432;--bg3:#1e1b4b;--tx:#e2e8f0;--tx2:#94a3b8;--tx3:#64748b;--bdr:#2e2b5e;--bdr2:#1e1b4b;--card:#161432;--hover:#1e1b4b;--inp:#1e1b4b;--inpf:#2e2b5e;--shd:0 1px 3px rgba(0,0,0,.2);--shd-md:0 4px 6px rgba(0,0,0,.25)}
*{margin:0;padding:0;box-sizing:border-box}body{font-family:'Inter',system-ui,-apple-system,sans-serif;background:var(--bg);color:var(--tx);font-size:14px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
/* Widget grid — dashboard & user panel */
.wg-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:12px}
.wg-item.wg-full{grid-column:span 12}
.wg-item.wg-large{grid-column:span 8}
.wg-item.wg-small{grid-column:span 4}
.wg-item.wg-half{grid-column:span 6}
@media (max-width:991px){.wg-item.wg-large,.wg-item.wg-small,.wg-item.wg-half{grid-column:span 12}}
::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--bdr);border-radius:10px}::-webkit-scrollbar-thumb:hover{background:var(--tx3)}
.sidebar{position:fixed;left:0;top:0;bottom:0;width:var(--sb);background:linear-gradient(180deg,var(--sb-top,#1e1b4b) 0%,var(--sb-mid,#312e81) 50%,var(--sb-bot,#3730a3) 100%);color:#fff;z-index:1001;display:flex;flex-direction:column;transition:width .25s cubic-bezier(.4,0,.2,1),transform .3s;border-right:1px solid rgba(255,255,255,.06)}
.sb-mini .sidebar{width:68px}.sb-mini .main{margin-left:68px}
.sb-mini .sb-brand h5,.sb-mini .sb-brand-sub,.sb-mini .sb-brand>div{display:none}.sb-mini .sb-brand{justify-content:center;padding:16px 10px}
.sb-mini .sb-nav a span,.sb-mini .sb-nav a .badge,.sb-mini .sb-sec{display:none}.sb-mini .sb-nav a{justify-content:center;padding:10px}.sb-mini .sb-nav a i{font-size:20px;width:auto;margin:0}
.sb-mini .sb-profile-info>div:last-child,.sb-mini .sb-profile .sb-act-btn span,.sb-mini .sb-role-badge{display:none}.sb-mini .sb-profile-info{justify-content:center}.sb-mini .sb-profile .d-flex{flex-wrap:wrap;justify-content:center;gap:4px!important}.sb-mini .sb-act-btn{padding:7px;min-width:36px}
.sb-mini .sb-nav a[title]{position:relative}.sb-mini .sb-nav a:hover::after{content:attr(data-tip);position:absolute;left:calc(100% + 8px);top:50%;transform:translateY(-50%);background:#1e293b;color:#fff;padding:4px 10px;border-radius:6px;font-size:12px;white-space:nowrap;z-index:1002;pointer-events:none;box-shadow:0 2px 8px rgba(0,0,0,.2)}
.sb-toggle-btn{position:absolute;right:-17px;top:16px;width:34px;height:34px;border-radius:50%;background:var(--bg2);border:1px solid var(--bdr);display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:1002;color:var(--tx2);font-size:16px;transition:var(--transition);box-shadow:var(--shd)}.sb-toggle-btn:hover{background:var(--p);color:#fff;border-color:var(--p)}
.sb-brand{padding:16px 20px;display:flex;align-items:center;gap:12px;border-bottom:1px solid rgba(255,255,255,.08)}.sb-brand h5{margin:0;font-size:16px;font-weight:800;letter-spacing:-.3px}.sb-brand-sub{font-size:11px;color:rgba(255,255,255,.4)}
.sb-search-wrap{padding:6px 12px 8px}
.sb-search-box{position:relative;display:flex;align-items:center;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:8px;transition:all .25s ease;overflow:hidden}
.sb-search-box:hover{background:rgba(255,255,255,.09);border-color:rgba(255,255,255,.18)}
.sb-search-box:focus-within{background:rgba(255,255,255,.12);border-color:rgba(99,102,241,.55);box-shadow:0 0 0 3px rgba(99,102,241,.15)}
.sb-search-box .sb-s-icon{position:absolute;left:10px;font-size:13px;color:rgba(255,255,255,.3);pointer-events:none;transition:color .2s}
.sb-search-box:focus-within .sb-s-icon{color:rgba(129,140,248,.8)}
.sb-search-inp{width:100%;background:transparent;border:none;padding:7px 32px 7px 32px;font-size:12.5px;color:rgba(255,255,255,.85);outline:none;font-weight:500;letter-spacing:.2px}
.sb-search-inp::placeholder{color:rgba(255,255,255,.28);font-weight:400}
.sb-search-clear{position:absolute;right:6px;background:none;border:none;color:rgba(255,255,255,.3);font-size:14px;cursor:pointer;padding:2px 4px;border-radius:4px;display:none;transition:color .15s}
.sb-search-clear:hover{color:rgba(255,255,255,.7);background:rgba(255,255,255,.1)}
.sb-search-box.has-val .sb-search-clear{display:block}
.sb-search-kbd{position:absolute;right:8px;font-size:9px;color:rgba(255,255,255,.2);pointer-events:none;font-family:system-ui;background:rgba(255,255,255,.06);padding:1px 5px;border-radius:3px;border:1px solid rgba(255,255,255,.08)}
.sb-search-box.has-val .sb-search-kbd{display:none}
.sb-mini .sb-search-wrap{display:none}
.sb-nav{flex:1;padding:8px 10px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.15) transparent}
.sb-nav:hover{scrollbar-color:rgba(255,255,255,.3) transparent}
.sb-nav::-webkit-scrollbar{width:5px}.sb-nav::-webkit-scrollbar-track{background:transparent}.sb-nav::-webkit-scrollbar-thumb{background:rgba(255,255,255,.15);border-radius:10px}.sb-nav:hover::-webkit-scrollbar-thumb{background:rgba(255,255,255,.3)}.sb-nav::-webkit-scrollbar-thumb:hover{background:rgba(255,255,255,.45)}.sb-sec{color:rgba(255,255,255,.55);font-size:11px;text-transform:uppercase;letter-spacing:1.2px;padding:16px 12px 6px;font-weight:700}
.sb-grp+.sb-grp{margin-top:2px}.sb-grp-hdr{cursor:pointer;display:flex;justify-content:space-between;align-items:center;user-select:none;padding:14px 12px 6px}.sb-grp-hdr .chv{transition:transform .2s;font-size:.6rem;opacity:.4}.sb-grp.collapsed .sb-grp-body{display:none}.sb-grp.collapsed .chv{transform:rotate(-90deg)}.sb-mini .sb-grp-hdr{display:none}.sb-mini .sb-grp.collapsed .sb-grp-body{display:block}
.sb-nav a{color:rgba(255,255,255,.85);border-radius:var(--radius-sm);padding:9px 12px;display:flex;align-items:center;gap:10px;font-size:13.5px;text-decoration:none;cursor:pointer;margin-bottom:2px;font-weight:500;transition:var(--transition)}
.sb-nav a:hover{background:rgba(255,255,255,.08);color:#fff;transform:translateX(2px)}.sb-nav a.active{background:rgba(99,102,241,.25);color:#fff;font-weight:700;box-shadow:inset 3px 0 0 #818cf8}.sb-nav a i{font-size:17px;width:20px;text-align:center;opacity:.9}.sb-nav a.active i{opacity:1}
.sb-foot{padding:12px 14px;border-top:1px solid rgba(255,255,255,.08);flex-direction:column;gap:8px;display:flex}
.sb-foot .av{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;color:#fff;background:linear-gradient(135deg,var(--p,#6366f1),var(--pl,#818cf8))}
.sb-act-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:4px;padding:7px 0;border-radius:var(--radius-xs);border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.04);color:rgba(255,255,255,.5);cursor:pointer;font-size:15px;transition:var(--transition)}.sb-act-btn:hover{background:rgba(255,255,255,.12);color:#fff;border-color:rgba(255,255,255,.2);transform:translateY(-1px)}
.main{margin-left:var(--sb);min-height:100vh;min-height:100dvh;transition:margin .3s}
.top-bar{height:var(--hh);background:var(--bg2);border-bottom:1px solid var(--bdr);display:flex;align-items:center;justify-content:space-between;padding:0 20px;position:sticky;top:0;z-index:100;overflow:visible;box-shadow:0 1px 3px rgba(0,0,0,.04)}
.pg{padding:20px}
.card-s{background:var(--card);border-radius:var(--radius);padding:20px;border:1px solid var(--bdr);box-shadow:var(--shd);transition:var(--transition)}.card-s:hover{box-shadow:var(--shd-md)}
.dt{background:var(--card);border-radius:var(--radius);border:1px solid var(--bdr);overflow-x:auto;overflow-y:auto;max-height:calc(100vh - 220px);box-shadow:var(--shd)}.dt table{margin:0;white-space:nowrap}
.dt th{background:var(--bg3);font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.5px;color:var(--tx2);border-bottom:1px solid var(--bdr);padding:12px 14px;cursor:pointer;user-select:none;position:sticky;top:0;z-index:1}
.dt th:hover{color:var(--p)}.dt th.sorted{color:var(--p)}
.col-resize{position:absolute;right:0;top:0;bottom:0;width:4px;cursor:col-resize;background:transparent;z-index:2;transition:background .15s}.col-resize:hover,.col-resize.active{background:var(--p)}
.dt td{padding:12px 14px;font-size:13.5px;border-bottom:1px solid var(--bdr2);vertical-align:middle;color:var(--tx)}.dt tr:hover td{background:var(--hover)}.dt tr{cursor:pointer;transition:var(--transition)}.dt tr:last-child td{border-bottom:none}
.bs{padding:4px 10px;border-radius:20px;font-size:11px;font-weight:700;letter-spacing:.3px;display:inline-flex;align-items:center;gap:4px}
.s0{background:#eef2ff;color:#4f46e5}.s1{background:#fef3c7;color:#92400e}.s2{background:#e0e7ff;color:#3730a3}.s3{background:#fce7f3;color:#9d174d}.s4{background:#fae8ff;color:#86198f}.s5{background:#d1fae5;color:#065f46}.s6{background:#f1f5f9;color:#64748b}
.p0{color:#22c55e}.p1{color:#3b82f6}.p2{color:#f59e0b}.p3{color:#ef4444}.p4{color:#dc2626;font-weight:700}
.pri-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:20px;font-size:11px;font-weight:700;letter-spacing:.3px}
.pri-0{background:#dcfce7;color:#166534}.pri-1{background:#dbeafe;color:#1e40af}.pri-2{background:#fef3c7;color:#92400e}.pri-3{background:#fee2e2;color:#991b1b;animation:priBlink 2s infinite}.pri-4{background:#fecaca;color:#7f1d1d;animation:priBlink 1.5s infinite}
@keyframes priBlink{0%,100%{opacity:1}50%{opacity:.7}}
.tp{background:var(--card);border-radius:var(--radius);border:1px solid var(--bdr);overflow:hidden;box-shadow:var(--shd)}.tp-h{padding:14px 20px;border-bottom:1px solid var(--bdr);background:var(--bg3)}.tp-b{padding:20px;overflow:hidden;overflow-x:auto;word-wrap:break-word;overflow-wrap:break-word;max-width:100%}.tp-b table{max-width:100%!important;width:auto!important;border-collapse:collapse;font-size:14px}.tp-b td,.tp-b th{max-width:250px;overflow:hidden;text-overflow:ellipsis;word-break:break-word}.tp-b img{max-width:100%!important;height:auto!important}.tp-b *{max-width:100%!important;box-sizing:border-box}.tp-b p,.tp-b div,.tp-b span{overflow-wrap:break-word;word-wrap:break-word}.new-ticket-alert{position:fixed;top:16px;right:16px;z-index:99999;background:var(--card);border:1px solid #c7d2fe;border-left:4px solid #6366f1;border-radius:var(--radius);padding:14px 18px;box-shadow:var(--shd-md);display:flex;align-items:center;gap:12px;animation:slideInRight .3s ease;cursor:pointer;max-width:400px}@keyframes slideInRight{from{transform:translateX(100%);opacity:0}to{transform:translateX(0);opacity:1}}.ntf-pulse{animation:ntfPulse .5s ease 3}@keyframes ntfPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.3)}}.kb-card{transition:box-shadow .15s;overflow:hidden}.kb-card:hover{box-shadow:0 2px 8px rgba(0,0,0,.08)}.kb-folder{display:flex;align-items:center;gap:6px;padding:5px 8px;border-radius:6px;cursor:pointer;font-size:13px;font-weight:500;color:var(--tx);transition:.15s;user-select:none}.kb-folder:hover{background:var(--hover)}.kb-folder.active{background:#eef2ff;color:#4f46e5;font-weight:700}.kb-folder.drag-over{background:#dbeafe;border:1px dashed #3b82f6;border-radius:6px}.kb-folder-count{font-size:11px;color:#9ca3af;margin-left:auto;background:var(--bg);border-radius:10px;padding:0 6px;min-width:20px;text-align:center}.kb-preview{overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.kb-full{overflow:hidden;overflow-x:auto}.kb-full .cm-body{max-height:300px;overflow-y:auto}.srch-dd{position:absolute;z-index:9999;width:100%;max-height:180px;overflow-y:auto;background:var(--card);border:1px solid var(--bdr);border-radius:6px;box-shadow:0 4px 12px var(--shd);margin-top:2px}.srch-dd-item{display:block;padding:5px 10px;font-size:13px;color:var(--tx);text-decoration:none;border-bottom:1px solid var(--bdr2)}.srch-dd-item:hover{background:var(--hover);color:#1d4ed8}.srch-dd-item:last-child{border-bottom:none}.ticket-body{overflow-x:auto;overflow-y:hidden;max-width:100%;position:relative;isolation:isolate}.body-iframe{width:100%;border:none;overflow:hidden;min-height:40px;display:block}
.cm{padding:16px;border-radius:var(--radius);margin-bottom:10px;font-size:14px;overflow:hidden;word-wrap:break-word;overflow-wrap:break-word;isolation:isolate;border:1px solid transparent;transition:var(--transition);position:relative}.cm:hover{box-shadow:var(--shd)}.cm-a{background:linear-gradient(135deg,#eef2ff,#e0e7ff);border-left:4px solid var(--p);border-color:#c7d2fe}.cm-c{background:var(--bg3);border-left:4px solid #cbd5e1;border-color:var(--bdr)}.cm-i{background:linear-gradient(135deg,#fefce8,#fef9c3);border-left:4px solid #eab308;border-color:#fde68a}
.tl-wrap{position:relative;padding-left:28px}.tl-wrap::before{content:'';position:absolute;left:11px;top:0;bottom:0;width:2px;background:var(--bdr)}
.tl-item{position:relative;margin-bottom:16px}.tl-item::before{content:'';position:absolute;left:-21px;top:18px;width:12px;height:12px;border-radius:50%;border:2px solid var(--p);background:var(--bg2);z-index:1}
.tl-item.tl-agent::before{border-color:var(--p);background:var(--p)}.tl-item.tl-cust::before{border-color:#94a3b8;background:#94a3b8}.tl-item.tl-int::before{border-color:#eab308;background:#eab308}
.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:#f0f2f5;position:relative;overflow:hidden}
.login-page::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 30% 20%,rgba(99,102,241,.05),transparent 50%)}
.login-particles{position:absolute;inset:0;overflow:hidden}
.lp-dot{position:absolute;border-radius:50%;background:rgba(99,102,241,.18);animation:lpFloat linear infinite;opacity:0}
.lp-dot:nth-child(odd){background:rgba(139,92,246,.14)}
.lp-dot:nth-child(3n){background:rgba(59,130,246,.12)}
@keyframes lpFloat{0%{transform:translateY(0) translateX(0);opacity:0}8%{opacity:1}92%{opacity:1}100%{transform:translateY(-110vh) translateX(30px);opacity:0}}

/* ============================================================
 * Login bg animasyonları (CSS-only) — _initParticles tarafından
 * type'a göre child div oluşturulup ilgili .lp-* class verilir.
 * Container .login-page'e bazıları .lp-bg-* class ekler (wave/stars/conic için).
 * ============================================================ */

/* === Mesh Blobs === */
.lp-blob{position:absolute;border-radius:50%;filter:blur(60px);opacity:.55;mix-blend-mode:screen;animation:lp-blob-drift linear infinite;will-change:transform}
@keyframes lp-blob-drift{0%{transform:translate(0,0) scale(1)}33%{transform:translate(60px,-40px) scale(1.15)}66%{transform:translate(-50px,30px) scale(.9)}100%{transform:translate(0,0) scale(1)}}

/* === Gradient Wave / Aurora === */
.login-page.lp-bg-wave{background:linear-gradient(125deg,#0c4a6e,#1e1b4b,#4c1d95,#831843,#1e3a8a,#0c4a6e);background-size:300% 300%;animation:lp-wave 25s ease infinite}
.login-page.lp-bg-wave::before{display:none}
@keyframes lp-wave{0%{background-position:0% 50%}50%{background-position:100% 50%}100%{background-position:0% 50%}}

/* === Twinkling Stars === */
.login-page.lp-bg-stars{background:radial-gradient(ellipse at top,#1e1b4b 0%,#020617 70%)}
.login-page.lp-bg-stars::before{display:none}
.lp-star{position:absolute;background:#fff;border-radius:50%;animation:lp-twinkle ease-in-out infinite;box-shadow:0 0 3px #fff}
@keyframes lp-twinkle{0%,100%{opacity:.15;transform:scale(.6)}50%{opacity:1;transform:scale(1.1)}}

/* === Bokeh === */
.lp-bokeh{position:absolute;border-radius:50%;filter:blur(18px);opacity:.55;animation:lp-bokeh-float linear infinite;will-change:transform}
@keyframes lp-bokeh-float{0%{transform:translateY(0) translateX(0);opacity:0}10%{opacity:.6}90%{opacity:.6}100%{transform:translateY(-115vh) translateX(40px);opacity:0}}

/* === Falling Snow === */
.lp-snow{position:absolute;background:#fff;border-radius:50%;opacity:.75;animation:lp-snow-fall linear infinite;box-shadow:0 0 4px rgba(255,255,255,.6)}
@keyframes lp-snow-fall{0%{transform:translateY(-10vh) translateX(0) rotate(0)}100%{transform:translateY(115vh) translateX(60px) rotate(360deg)}}

/* === Conic Rotation === */
.login-page.lp-bg-conic{background:conic-gradient(from 0deg at 50% 50%,#1e1b4b,#4c1d95,#831843,#1e3a8a,#0c4a6e,#1e1b4b);animation:lp-conic-rot 60s linear infinite;background-attachment:fixed}
.login-page.lp-bg-conic::before{display:none}
@keyframes lp-conic-rot{from{filter:hue-rotate(0deg)}to{filter:hue-rotate(360deg)}}

/* === Confetti === */
.lp-confetti{position:absolute;width:8px;height:14px;border-radius:1px;animation:lp-confetti-fall linear infinite;will-change:transform}
@keyframes lp-confetti-fall{0%{transform:translateY(-20vh) rotate(0)}100%{transform:translateY(115vh) rotate(720deg)}}

/* === Geometric Shapes === */
.lp-geo{position:absolute;border:2px solid rgba(99,102,241,.22);animation:lp-geo-rot linear infinite;will-change:transform}
@keyframes lp-geo-rot{from{transform:rotate(0)}to{transform:rotate(360deg)}}
.login-card{background:#fff;border-radius:20px;padding:36px 40px 40px;width:420px;position:relative;z-index:1;border:1px solid #e2e8f0;box-shadow:0 4px 24px rgba(0,0,0,.06)}
.login-logo-area{text-align:center;margin-bottom:28px}
.login-logo-area i{font-size:56px;color:var(--p,#6366f1);display:block;margin-bottom:10px}
.login-logo-area img{height:56px;margin-bottom:10px}
.login-logo-area .login-app-name{font-size:20px;font-weight:800;color:#1e1b4b;letter-spacing:-.3px}
.login-logo-area .login-app-sub{color:#94a3b8;font-size:14px;margin-top:4px}
.login-fl{position:relative;margin-bottom:16px}
.login-fl input{width:100%;padding:18px 14px 8px;border:2px solid #e2e8f0;border-radius:12px;font-size:14px;font-family:inherit;outline:none;transition:all .2s;background:#fff;color:#0f172a}
.login-fl label{position:absolute;top:14px;left:14px;font-size:14px;color:#94a3b8;pointer-events:none;transition:all .2s}
.login-fl input:focus{border-color:var(--p,#6366f1);box-shadow:0 0 0 4px rgba(99,102,241,.08)}
.login-fl input:focus~label,.login-fl input:not(:placeholder-shown)~label{top:4px;font-size:10px;color:var(--p,#6366f1);font-weight:700}
.login-btn{width:100%;padding:14px;border:none;border-radius:12px;background:linear-gradient(135deg,var(--p,#6366f1),var(--pd,#4f46e5));color:#fff;font-weight:700;font-size:15px;cursor:pointer;transition:all .2s;box-shadow:0 4px 16px rgba(99,102,241,.25);font-family:inherit}
.login-btn:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(99,102,241,.35)}
.login-check{display:flex;align-items:center;gap:6px;color:#94a3b8;font-size:13px;cursor:pointer}
.login-check input{accent-color:var(--p,#6366f1)}
.login-forgot{color:var(--p,#6366f1);font-size:13px;text-decoration:none;font-weight:600;transition:color .2s}.login-forgot:hover{color:#4f46e5}
@media(max-width:900px){.login-card{width:calc(100% - 32px);max-width:440px;padding:32px 24px}}
.fade-in{animation:fi .25s cubic-bezier(.4,0,.2,1)}@keyframes fi{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.kb-board{display:flex;gap:12px;overflow-x:auto;padding-bottom:12px;min-height:400px}
.kb-col{min-width:260px;max-width:300px;flex:1;background:var(--bg);border-radius:var(--radius);padding:10px;border:1px solid var(--bdr)}
.kb-col-head{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;padding:6px 8px;margin-bottom:8px;border-radius:var(--radius-xs);display:flex;align-items:center;justify-content:space-between}
.kb-col-count{font-size:11px;font-weight:700;background:rgba(0,0,0,.08);padding:1px 8px;border-radius:10px}
.kb-col-body{min-height:60px}
.kb-card-item{background:var(--card);border:1px solid var(--bdr);border-radius:var(--radius-sm);padding:10px 12px;margin-bottom:8px;cursor:pointer;transition:var(--transition);font-size:13px}
.kb-card-item:hover{box-shadow:var(--shd-md);transform:translateY(-1px)}
.kb-card-item.dragging{opacity:.5;transform:rotate(2deg)}
.kb-col.drag-over{background:color-mix(in srgb,var(--p) 6%,var(--bg));border-color:var(--p)}
@keyframes shimmer{0%{background-position:-400px 0}100%{background-position:400px 0}}
.skel{border-radius:var(--radius-sm);background:linear-gradient(90deg,var(--bg3) 25%,var(--bdr2) 50%,var(--bg3) 75%);background-size:800px 100%;animation:shimmer 1.5s infinite linear}
.skel-line{height:14px;margin-bottom:10px;border-radius:6px}.skel-line.w60{width:60%}.skel-line.w80{width:80%}.skel-line.w40{width:40%}.skel-line.w50{width:50%}
.skel-circle{border-radius:50%}.skel-card{height:80px;border-radius:var(--radius)}
.skel-row{display:flex;gap:12px;margin-bottom:12px}.skel-row .skel{flex:1}
.dt tbody tr:nth-child(even) td{background:var(--bg)}
.dt tbody tr:hover td{background:color-mix(in srgb,var(--p) 5%,var(--bg2))!important}
.dt tbody tr:active td{background:color-mix(in srgb,var(--p) 10%,var(--bg2))!important}
.btn-loading{pointer-events:none;opacity:.85;position:relative}.btn-loading .btn-text{visibility:hidden}.btn-loading .btn-spin{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}.btn-spin{display:none}
@keyframes slideUp{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@keyframes scaleIn{from{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}
.anim-slide-up{animation:slideUp .3s cubic-bezier(.4,0,.2,1)}.anim-scale-in{animation:scaleIn .2s cubic-bezier(.4,0,.2,1)}
.empty-state{text-align:center;padding:48px 20px}.empty-icon{width:80px;height:80px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 16px;font-size:32px}
.welcome-card{background:linear-gradient(135deg,color-mix(in srgb,var(--p) 8%,var(--bg2)),color-mix(in srgb,var(--pl) 6%,var(--bg2)));border:1px solid color-mix(in srgb,var(--p) 15%,var(--bdr));border-radius:var(--radius);padding:24px 28px;margin-bottom:20px;display:flex;align-items:center;gap:20px;position:relative;overflow:hidden}
.welcome-card::before{content:'';position:absolute;right:-30px;top:-30px;width:120px;height:120px;border-radius:50%;background:color-mix(in srgb,var(--p) 8%,transparent)}
.welcome-card::after{content:'';position:absolute;right:40px;bottom:-40px;width:80px;height:80px;border-radius:50%;background:color-mix(in srgb,var(--pl) 6%,transparent)}
.pulse-dot{width:8px;height:8px;border-radius:50%;display:inline-block;animation:pulseDot 2s infinite}@keyframes pulseDot{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.3)}}
@keyframes ntf-pulse{0%,100%{transform:scale(1);box-shadow:0 0 0 0 rgba(239,68,68,.6)}50%{transform:scale(1.15);box-shadow:0 0 0 6px rgba(239,68,68,0)}}
.breadcrumb-bar{display:flex;align-items:center;gap:6px;padding:0 0 12px;font-size:13px;color:var(--tx3)}.breadcrumb-bar a{color:var(--tx2);text-decoration:none;transition:var(--transition)}.breadcrumb-bar a:hover{color:var(--p)}.breadcrumb-bar .bc-sep{font-size:10px;opacity:.5}.breadcrumb-bar .bc-cur{color:var(--tx);font-weight:600}
.af-feed{max-height:320px;overflow-y:auto}.af-feed-item{display:flex;gap:10px;padding:8px 0;border-bottom:1px solid var(--bdr2);font-size:13px}.af-feed-item:last-child{border-bottom:none}.af-feed-icon{width:32px;height:32px;border-radius:var(--radius-xs);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:14px}
.ntf-group-title{font-size:11px;font-weight:700;color:var(--tx3);text-transform:uppercase;letter-spacing:.5px;padding:8px 12px;background:var(--bg)}
.ntf-item{display:flex;gap:10px;padding:10px 12px;border-bottom:1px solid var(--bdr2);cursor:pointer;transition:var(--transition)}.ntf-item:hover{background:var(--hover)}.ntf-item.unread{background:color-mix(in srgb,var(--p) 4%,var(--bg2))}
.ntf-dot{width:8px;height:8px;border-radius:50%;background:var(--p);flex-shrink:0;margin-top:5px}
.ntf-icon{width:32px;height:32px;border-radius:var(--radius-xs);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:15px}
.sb-profile{padding:14px;border-top:1px solid rgba(255,255,255,.08)}.sb-profile-info{display:flex;align-items:center;gap:10px;margin-bottom:10px}.sb-profile-info .av{width:38px;height:38px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;color:#fff;flex-shrink:0}.sb-online{width:10px;height:10px;border-radius:50%;background:#22c55e;border:2px solid rgba(30,27,75,.8);position:absolute;bottom:-1px;right:-1px}.sb-role-badge{font-size:10px;padding:2px 8px;border-radius:10px;background:rgba(255,255,255,.12);color:rgba(255,255,255,.7);font-weight:600;display:inline-block}
.ql-editor{min-height:140px;font-family:inherit;font-size:14px}.ql-toolbar{border-radius:var(--radius-sm) var(--radius-sm) 0 0;padding:4px!important}.ql-container{border-radius:0 0 var(--radius-sm) var(--radius-sm)}#kbe{display:flex;flex-direction:column}#kbe .ql-toolbar{flex-shrink:0}#kbe .ql-container{flex:1;min-height:0;overflow-y:auto}
.si{border:1px solid var(--bdr);border-radius:var(--radius);padding:8px 12px 8px 36px;font-size:13px;width:280px;background:var(--inp);color:var(--tx);transition:var(--transition)}.si:focus{outline:none;border-color:var(--p);background:var(--inpf);box-shadow:0 0 0 3px rgba(99,102,241,.12)}
.sw{position:relative}.sw>i{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:#9ca3af;font-size:15px}
.btn-p{background:linear-gradient(135deg,var(--p,#6366f1),var(--pd,#4f46e5));border:none;color:#fff;font-weight:600;font-size:13px;padding:8px 16px;border-radius:var(--radius-sm);transition:var(--transition);box-shadow:0 1px 3px rgba(79,70,229,.3)}.btn-p:hover{background:linear-gradient(135deg,var(--pd,#4f46e5),var(--pd,#4338ca));color:#fff;transform:translateY(-1px);box-shadow:0 4px 12px rgba(79,70,229,.35)}
.eb{width:26px;height:26px;border-radius:var(--radius-xs);border:1px solid var(--bdr);display:inline-flex;align-items:center;justify-content:center;background:var(--card);cursor:pointer;color:var(--tx2);font-size:13px;transition:var(--transition)}.eb:hover{background:var(--hover);color:var(--p);border-color:var(--p)}
.prop-disabled select,.prop-disabled input{pointer-events:none;opacity:.5;background:#f3f4f6}
.cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-template-rows:auto;grid-auto-rows:minmax(90px,1fr);gap:1px;background:var(--bdr);border-radius:var(--radius);overflow:hidden;height:calc(100dvh - 160px);min-height:480px}
.cal-hdr{background:var(--bg3);padding:6px;text-align:center;font-size:12px;font-weight:700;color:var(--tx2)}
.cal-day{background:var(--card);min-height:70px;padding:4px;font-size:12px;min-width:0;overflow:hidden}.cal-day.other{background:var(--bg);color:var(--tx3)}.cal-day.today{background:linear-gradient(135deg,#eef2ff,#e0e7ff);box-shadow:inset 0 0 0 2px var(--p);position:relative}.cal-day.today .dn{background:var(--p);color:#fff;display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;font-size:12px}
.cal-day .dn{font-weight:700;margin-bottom:2px}.cal-ev{padding:2px 4px;border-radius:4px;margin-bottom:1px;font-size:11px;font-weight:600;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#fff;display:block;max-width:100%}
.cal-day.overlap{box-shadow:inset 3px 0 0 #f59e0b}.cal-day.today.overlap{box-shadow:inset 0 0 0 2px var(--p),inset 4px 0 0 #f59e0b}.cal-overlap{color:#f59e0b;font-size:10px;margin-left:4px;cursor:help}.cal-more{font-size:10px;color:var(--p);cursor:pointer;font-weight:600;padding:1px 4px;border-radius:3px}.cal-more:hover{background:#eef2ff}.cal-day.week-view{min-height:200px}.cal-day-list{background:var(--card);border:1px solid var(--bdr);border-radius:var(--radius);padding:12px;margin-bottom:6px;cursor:pointer;transition:var(--transition)}.cal-day-list:hover{box-shadow:var(--shd-md)}
/* ===== Company modal redesign ===== */
.co-hero{display:flex;align-items:center;gap:14px;padding:12px 14px;background:linear-gradient(135deg,var(--bg3),var(--card));border:1px solid var(--bdr);border-radius:var(--radius);margin-bottom:12px}
.co-hero .logo-w{flex-shrink:0;position:relative}
.co-hero .logo-w img,.co-hero .logo-w .ph{width:60px;height:60px;border-radius:12px;object-fit:contain;background:var(--card);border:1px solid var(--bdr);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:26px}
.co-hero .logo-w .ph{background:linear-gradient(135deg,#4f46e5,#7c3aed)}
.co-hero .info{flex:1;min-width:0}
.co-hero .name{font-size:16px;font-weight:700;margin:0;line-height:1.2;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.co-hero .name .id{font-size:11px;color:var(--tx3);font-weight:400}
.co-hero .meta{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:6px;font-size:12px}
.co-tabs{margin-bottom:10px;font-size:13px;border-bottom:1px solid var(--bdr);flex-wrap:wrap}
.co-tabs .nav-link{padding:6px 12px;color:var(--tx2);border:none;border-bottom:2px solid transparent;border-radius:0;background:transparent}
.co-tabs .nav-link:hover{color:var(--p);background:var(--bg3)}
.co-tabs .nav-link.active{color:var(--p);border-bottom-color:var(--p);background:transparent;font-weight:600}
.co-tabs .nav-link .badge{font-size:10px;margin-left:4px;padding:2px 6px}
.co-metric{background:var(--bg3);border:1px solid var(--bdr);border-radius:var(--radius-sm);padding:10px 12px}
.co-metric .lbl{font-size:11px;color:var(--tx2);text-transform:uppercase;letter-spacing:.5px;font-weight:600;margin-bottom:2px}
.co-metric .input-row{display:flex;align-items:baseline;gap:6px}
.co-metric input{font-size:20px;font-weight:700;color:var(--p);border:none;background:transparent;width:60px;padding:0;text-align:left}
.co-metric input:focus{outline:none;box-shadow:none}
.co-metric input:disabled{opacity:.6}
.co-metric .unit{font-size:11px;color:var(--tx2)}
.co-metric .sub{font-size:10px;color:var(--tx3);margin-top:2px}
.co-contact-row{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:var(--radius-sm);border:1px solid transparent;transition:background .15s,border-color .15s;margin-bottom:2px}
.co-contact-row:hover{background:var(--bg3);border-color:var(--bdr)}
.co-contact-row:hover .row-actions{opacity:1}
.co-contact-row.authorized{background:var(--bg3);border-color:var(--bdr)}
.co-contact-row .row-actions{opacity:.35;transition:opacity .15s;display:flex;gap:2px;flex-shrink:0}
.co-contact-row .info{flex:1;min-width:0;font-size:13px}
.co-contact-row .info .nm{font-weight:600}
.co-contact-row .info .meta{color:var(--tx2);font-size:11px}
.co-add-toggle{cursor:pointer;padding:6px 10px;border:1px dashed var(--bdr);border-radius:var(--radius-sm);text-align:center;color:var(--tx2);font-size:12px;font-weight:600;transition:all .15s;margin-bottom:6px}
.co-add-toggle:hover{border-color:var(--p);color:var(--p);background:var(--bg3)}
.co-add-form{background:var(--bg3);border:1px solid var(--bdr);border-radius:var(--radius-sm);padding:8px;margin-bottom:8px;display:none}
.co-add-form.show{display:block}
@media (max-width:768px){
  .co-hero{flex-wrap:wrap;gap:10px;padding:10px}
  .co-hero .logo-w img,.co-hero .logo-w .ph{width:48px;height:48px;font-size:20px}
  .co-hero .name{font-size:15px}
  .co-tabs{font-size:12px}
  .co-tabs .nav-link{padding:4px 8px}
  .co-metric{padding:6px 8px}
  .co-metric input{font-size:16px;width:50px}
}
/* ===== Credentials (Şifre Kartları) ===== */
.cred-group{margin-bottom:14px}
.cred-group-pill{display:flex;align-items:center;gap:8px;padding:4px 10px 4px 6px;background:var(--bg3);border:1px solid var(--bdr);border-radius:20px;margin-bottom:8px;font-size:13px;width:100%}
.cred-group-pill img,.cred-group-pill .ph{width:22px;height:22px;border-radius:50%;object-fit:contain;background:var(--card);border:1px solid var(--bdr);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:11px;flex-shrink:0}
.cred-group-pill .ph{background:linear-gradient(135deg,#4f46e5,#7c3aed);border-color:transparent}
.cred-group-pill .nm{font-weight:700;color:var(--tx);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}
.cred-group-pill .cnt,.cred-group-pill .add{flex-shrink:0}
.cred-group-pill .cnt{background:#e0e7ff;color:#4338ca;padding:1px 8px;border-radius:10px;font-size:11px;font-weight:600}
.cred-group-pill .add{background:transparent;border:none;color:var(--p);font-size:12px;font-weight:600;cursor:pointer;padding:2px 6px;border-radius:6px}
.cred-group-pill .add:hover{background:#eef2ff}
.cred-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:10px}
.cred-card{display:flex;background:var(--card);border:1px solid var(--bdr);border-radius:10px;overflow:hidden;cursor:pointer;transition:all .15s;position:relative}
.cred-card:hover{box-shadow:var(--shd-md);transform:translateY(-1px)}
.cred-card:hover .actions{opacity:1}
.cred-card .strip{width:5px;flex-shrink:0;background:var(--bdr)}
.cred-card .iconw{flex-shrink:0;display:flex;align-items:flex-start;padding:10px 0 10px 10px}
.cred-card .iconw .ic{width:34px;height:34px;border-radius:10px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:16px;box-shadow:0 2px 6px rgba(0,0,0,.12)}
.cred-card .body{flex:1;min-width:0;padding:10px 12px}
.cred-card .title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin-bottom:2px}
.cred-card .title-row .tt{font-weight:700;color:var(--p);font-size:13px;line-height:1.2;word-break:break-word}
.cred-card .actions{display:flex;gap:2px;flex-shrink:0;opacity:.25;transition:opacity .15s}
.cred-card .sub{font-size:11px;color:var(--tx2);margin-bottom:6px}
.cred-card .info-line{font-size:12px;color:var(--tx);margin-bottom:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cred-card .info-line i{color:var(--tx2);margin-right:4px}
.cred-card .info-line code{font-size:11px;background:transparent;padding:0}
.cred-card .info-line a{font-size:11px}
.cred-card .divider{height:1px;background:var(--bdr);margin:6px 0}
.cred-card .meta-row{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:11px}
.cred-card .meta-row .chip{display:inline-flex;align-items:center;gap:3px;padding:1px 6px;border-radius:10px;background:var(--bg3);color:var(--tx2);font-weight:600}
.cred-card .meta-row .chip.ok{background:#dcfce7;color:#15803d}
.cred-card .meta-row .chip.muted{background:var(--bg3);color:var(--tx3)}
.cred-card .meta-row .chip.info{background:#dbeafe;color:#1e40af}
.cred-card .meta-row .chip.warn{background:#fef3c7;color:#92400e}
.cred-card .last-access{font-size:10px;color:var(--tx3);margin-top:4px;border-top:1px dashed var(--bdr);padding-top:4px}
@media (max-width:600px){
  .cred-grid{grid-template-columns:1fr;gap:6px}
  .cred-card{align-items:center}
  .cred-card .strip{width:3px}
  .cred-card .iconw{padding:6px 0 6px 8px}
  .cred-card .iconw .ic{width:28px;height:28px;font-size:13px;border-radius:8px}
  .cred-card .body{padding:6px 8px}
  .cred-card .title-row{margin-bottom:1px;align-items:center}
  .cred-card .title-row .tt{font-size:13px;line-height:1.25}
  .cred-card .title-row::after{content:"\f285";font-family:"bootstrap-icons";font-size:16px;color:var(--tx3);margin-left:auto;flex-shrink:0;line-height:1}
  .cred-card .actions{display:none}
  .cred-card .sub{display:none}
  .cred-card .divider{display:none}
  .cred-card .last-access{display:none}
  .cred-card .info-line{display:inline;font-size:11px;color:var(--tx2);margin:0;line-height:1.3}
  .cred-card .info-line i{display:none}
  .cred-card .info-line code{font-size:11px;color:var(--tx2);background:transparent;padding:0}
  .cred-card .info-line a{font-size:11px;color:var(--tx2);text-decoration:none}
  .cred-card .info-line+.info-line::before{content:" · ";color:var(--tx3);margin:0 2px}
  .cred-card .meta-row{margin-top:3px;gap:4px;line-height:1}
  .cred-card .meta-row .chip{font-size:10px;padding:1px 5px}
}
/* ===== Yoğunluk Haritası (R6) ===== */
.r6-hm-grid{display:grid;grid-template-columns:42px repeat(24,minmax(24px,1fr));gap:2px;font-size:11px;min-width:680px}
.r6-hm-grid .hdr{text-align:center;color:var(--tx3);font-weight:600;font-size:10px}
.r6-hm-grid .hdr.work{color:var(--p);position:relative}
.r6-hm-grid .hdr.work::after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:2px;background:var(--p);border-radius:1px}
.r6-hm-grid .lbl{display:flex;align-items:center;font-weight:600;color:var(--tx2);font-size:11px;padding-left:2px}
.r6-hm-grid .lbl.weekend{color:#94a3b8;font-style:italic}
.r6-hm-cell{border-radius:3px;height:28px;display:flex;align-items:center;justify-content:center;font-weight:600;cursor:default;transition:transform .08s}
.r6-hm-cell:hover{transform:scale(1.15);z-index:2;position:relative;box-shadow:0 2px 6px rgba(0,0,0,.15)}
.r6-row-weekend{background-image:linear-gradient(135deg,rgba(148,163,184,.05) 0%,rgba(148,163,184,.05) 100%)}
.r6-segment{background:var(--card);border:1px solid var(--bdr);border-radius:10px;padding:10px 12px;display:flex;align-items:center;gap:10px}
.r6-segment .ic{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0}
.r6-segment .lbl{font-size:11px;color:var(--tx2);text-transform:uppercase;letter-spacing:.4px;font-weight:600}
.r6-segment .val{font-size:18px;font-weight:700;line-height:1}
.r6-segment .meta{font-size:11px;color:var(--tx3);margin-top:2px}
.r6-insight{padding:10px 14px;border-radius:8px;font-size:12px;border:1px solid;display:flex;align-items:center;gap:10px}
.r6-insight.warn{background:#fef3c7;border-color:#fde68a;color:#854d0e}
.r6-insight.info{background:#eff6ff;border-color:#bfdbfe;color:#1e40af}
.r6-quiet-pill{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;background:#eff6ff;color:#1e40af;border:1px solid #bfdbfe;border-radius:14px;font-size:11px;font-family:monospace;font-weight:600;margin-right:4px;margin-bottom:4px}
/* ===== Yaşlandırma Raporu (R11) ===== */
.r11-bucket{display:flex;align-items:center;gap:10px;padding:12px;background:var(--card);border:1px solid var(--bdr);border-radius:10px;cursor:pointer;transition:all .15s;border-left:4px solid var(--bdr)}
.r11-bucket:hover{transform:translateY(-1px);box-shadow:var(--shd-md)}
.r11-bucket.active{box-shadow:inset 0 0 0 2px var(--p);background:var(--bg3)}
.r11-bucket .ic{width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:14px;flex-shrink:0}
.r11-bucket .val{font-size:20px;font-weight:700;line-height:1}
.r11-bucket .lbl{font-size:11px;color:var(--tx2);margin-top:2px;text-transform:uppercase;letter-spacing:.3px;font-weight:600}
.r11-bucket .meta{font-size:10px;color:var(--tx3);margin-top:1px}
.r11-insight{padding:10px 14px;border-radius:8px;font-size:12px;display:flex;align-items:center;gap:8px;border:1px solid;flex-wrap:wrap}
.r11-insight .b{font-weight:700;font-size:13px}
.r11-insight.critical{background:#fef2f2;border-color:#fecaca;color:#991b1b}
.r11-insight.warning{background:#fef3c7;border-color:#fde68a;color:#854d0e}
.r11-insight.info{background:#eff6ff;border-color:#bfdbfe;color:#1e40af}
.r11-row{position:relative}
.r11-row td:first-child{position:relative}
.r11-row td:first-child::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--age-color,var(--bdr))}
.r11-age-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:12px;font-size:11px;font-weight:700;color:#fff}
.r11-unassigned{background:#fef2f2!important}
.r11-unassigned td:first-child::before{background:#ef4444}
.r11-unassigned td{color:#991b1b}
.r11-sticky-thead thead th{position:sticky;top:0;z-index:5;background:var(--bg3)}
/* ===== User Modal — hero card + tabs + helpers ===== */
.user-hero{display:flex;align-items:center;gap:14px;padding:14px;background:linear-gradient(135deg,var(--bg3),var(--card));border:1px solid var(--bdr);border-radius:var(--radius);margin-bottom:12px}
.user-hero .av-w{position:relative;flex-shrink:0}
.user-hero .av-w .av{width:64px;height:64px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:22px;overflow:hidden;box-shadow:0 2px 8px rgba(0,0,0,.1)}
.user-hero .av-w .dot{position:absolute;bottom:0;right:0;width:14px;height:14px;border-radius:50%;border:2px solid var(--card)}
.user-hero .info{flex:1;min-width:0}
.user-hero .name{font-size:18px;font-weight:700;margin:0;line-height:1.2;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.user-hero .email{font-size:13px;color:var(--tx2);margin-top:2px}
.user-hero .badges{display:flex;align-items:center;gap:5px;flex-wrap:wrap;margin-top:8px;font-size:11px}
.user-tabs{margin-bottom:10px;font-size:13px;border-bottom:1px solid var(--bdr);flex-wrap:wrap}
.user-tabs .nav-link{padding:6px 12px;color:var(--tx2);border:none;border-bottom:2px solid transparent;border-radius:0;background:transparent}
.user-tabs .nav-link:hover{color:var(--p);background:var(--bg3)}
.user-tabs .nav-link.active{color:var(--p);border-bottom-color:var(--p);background:transparent;font-weight:600}
/* Renk paleti — 12 swatch tek satıra sığacak boyut */
.color-palette{display:flex;flex-wrap:wrap;gap:3px;margin-top:0;align-items:center}
.color-palette .sw{width:18px;height:18px;border-radius:50%;cursor:pointer;border:2px solid transparent;transition:all .15s;position:relative;flex-shrink:0}
.color-palette .sw:hover{transform:scale(1.15)}
.color-palette .sw.active{border-color:#fff;box-shadow:0 0 0 2px var(--p)}
.color-palette .sw.active::after{content:"\f26b";font-family:bootstrap-icons;color:#fff;position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:11px;text-shadow:0 1px 2px rgba(0,0,0,.4)}
/* Şifre güç göstergesi */
.pw-strength{margin-top:4px}
.pw-strength-bar{height:4px;border-radius:2px;background:var(--bdr);overflow:hidden;display:flex;gap:2px}
.pw-strength-bar>div{flex:1;background:var(--bdr);transition:background .2s;border-radius:2px}
.pw-strength-bar.s1>div:nth-child(-n+1){background:#ef4444}
.pw-strength-bar.s2>div:nth-child(-n+2){background:#f59e0b}
.pw-strength-bar.s3>div:nth-child(-n+3){background:#84cc16}
.pw-strength-bar.s4>div{background:#22c55e}
.pw-strength-lbl{font-size:11px;color:var(--tx3);margin-top:3px;display:flex;justify-content:space-between}
.pw-strength-lbl .s1{color:#ef4444}.pw-strength-lbl .s2{color:#f59e0b}.pw-strength-lbl .s3{color:#84cc16}.pw-strength-lbl .s4{color:#22c55e}
.pw-checks{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px;font-size:10px;color:var(--tx3)}
.pw-checks span.ok{color:#22c55e}
.pw-checks span.ok::before{content:"\f26b";font-family:bootstrap-icons;margin-right:3px}
.pw-checks span:not(.ok)::before{content:"\f659";font-family:bootstrap-icons;margin-right:3px;color:var(--tx3)}
/* Rol açıklaması */
.role-hint{font-size:11px;color:var(--tx2);background:var(--bg3);border-left:3px solid var(--p);padding:6px 10px;border-radius:0 4px 4px 0;margin-top:4px}
/* IP chip input */
.ip-chip-container{display:flex;flex-wrap:wrap;gap:4px;padding:6px;border:1px solid var(--bdr);border-radius:var(--radius-sm);background:var(--card);min-height:38px;align-items:center}
.ip-chip-container input{border:none;outline:none;background:transparent;flex:1;min-width:120px;font-size:13px;padding:2px 4px}
.ip-chip{display:inline-flex;align-items:center;gap:4px;background:#eef2ff;color:var(--p);padding:3px 8px;border-radius:12px;font-size:11px;font-family:monospace;font-weight:600;border:1px solid #c7d2fe}
.ip-chip .x{cursor:pointer;font-size:13px;opacity:.6}
.ip-chip .x:hover{opacity:1;color:#ef4444}
/* User durum kartları */
.user-status-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px;margin-bottom:12px}
.user-status{background:var(--card);border:1px solid var(--bdr);border-radius:8px;padding:10px 12px;display:flex;align-items:center;gap:10px}
.user-status .ic{width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:14px;flex-shrink:0}
.user-status .lbl{font-size:10px;color:var(--tx3);text-transform:uppercase;letter-spacing:.4px;font-weight:600}
.user-status .val{font-size:13px;font-weight:700;color:var(--tx)}
/* User audit mini-table */
.user-audit-row{padding:6px 8px;border-bottom:1px solid var(--bdr2);font-size:12px;display:flex;align-items:center;gap:8px}
.user-audit-row:last-child{border-bottom:none}
@media (max-width:600px){
  .user-hero{flex-wrap:wrap;padding:10px;gap:10px}
  .user-hero .av-w .av{width:48px;height:48px;font-size:18px}
  .user-hero .name{font-size:16px}
  .user-tabs{font-size:12px}
  .user-tabs .nav-link{padding:4px 8px}
}
/* ===== Online Users — özet metrikler ===== */
.on-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px;margin-bottom:12px}
.on-metric{display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--card);border:1px solid var(--bdr);border-radius:10px;cursor:pointer;transition:all .15s}
.on-metric:hover{border-color:var(--p);transform:translateY(-1px);box-shadow:var(--shd-sm)}
.on-metric.active{border-color:var(--p);background:linear-gradient(135deg,var(--bg3),var(--card));box-shadow:inset 0 0 0 1px var(--p)}
.on-metric-icon{width:34px;height:34px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:14px;flex-shrink:0}
.on-metric-val{font-size:20px;font-weight:700;color:var(--tx);line-height:1.1}
.on-metric-lbl{font-size:11px;color:var(--tx2);text-transform:uppercase;letter-spacing:.4px;font-weight:600;margin-top:1px}
.on-user-card{transition:all .15s}
.on-user-card:hover{box-shadow:var(--shd-md);transform:translateY(-1px)}
@media (max-width:600px){
  .on-metrics{grid-template-columns:repeat(2,1fr);gap:6px}
  .on-metric{padding:8px 10px;gap:8px}
  .on-metric-icon{width:28px;height:28px;font-size:12px}
  .on-metric-val{font-size:16px}
}
/* KB Grid layout — kart görünümü (mobil 1, tablet/desktop 2 sütun) ve liste görünümü */
.kb-grid{display:grid;grid-template-columns:1fr;gap:8px}
@media (min-width:768px){.kb-grid:not(.kb-view-list){grid-template-columns:repeat(2,minmax(0,1fr))}}
.kb-grid.kb-view-list{grid-template-columns:1fr;gap:4px}
.kb-grid.kb-view-list .kb-card{padding:8px 12px!important;margin-bottom:0!important;border-left-width:3px!important}
.kb-grid.kb-view-list .kb-card h6{font-size:14px!important;white-space:nowrap!important;-webkit-line-clamp:1!important;display:block!important;margin-bottom:2px!important}
.kb-grid.kb-view-list .kb-card .kb-preview{display:none!important}
.kb-grid.kb-view-list .kb-card .kb-card-meta-row{display:none}
.kb-grid.kb-view-list .kb-card .kb-card-row1{align-items:center}
/* Kart sol şerit (kategori rengi) */
.kb-card{border-left:4px solid var(--bdr);transition:all .15s;position:relative}
.kb-card:hover{box-shadow:var(--shd-md);transform:translateY(-1px)}
/* KB toolbar — sticky */
.kb-toolbar-sticky{position:sticky;top:0;z-index:10;background:var(--bg);padding:6px 0 8px;margin-bottom:6px;border-bottom:1px solid transparent;transition:border-color .15s}
.kb-toolbar-sticky.scrolled{border-bottom-color:var(--bdr)}
/* KB ⋯ dropdown menu */
.kb-card .dropdown-menu{font-size:13px;min-width:180px;box-shadow:var(--shd-md)}
.kb-card .dropdown-item{padding:5px 12px;cursor:pointer}
.kb-card .dropdown-item i{width:18px;display:inline-block;text-align:center}
/* KB etiket tıklanabilir */
.kb-card .badge.kb-tag{cursor:pointer;transition:transform .1s}
.kb-card .badge.kb-tag:hover{transform:scale(1.05);box-shadow:0 1px 4px rgba(0,0,0,.15)}
/* Empty state */
.kb-empty{text-align:center;padding:60px 20px;color:var(--tx2)}
.kb-empty .ico{font-size:72px;opacity:.12;color:var(--p);line-height:1}
.kb-empty h5{margin:18px 0 8px;font-size:18px;color:var(--tx)}
.kb-empty p{font-size:13px;color:var(--tx3);max-width:420px;margin:0 auto 20px}
/* KB loading skeleton */
.kb-skel-line{background:linear-gradient(90deg,var(--bg3) 0%,var(--bg2) 50%,var(--bg3) 100%);background-size:200% 100%;animation:kb-skel-shimmer 1.5s ease-in-out infinite;border-radius:4px;width:100%}
@keyframes kb-skel-shimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}
/* KB klasör paneli — mobilde collapsible */
.kb-folders-header{display:none;align-items:center;cursor:pointer;padding:8px 10px;background:var(--bg3);border-radius:6px;margin-bottom:6px;font-size:13px;font-weight:600;color:var(--tx);user-select:none}
.kb-folders-header:hover{background:color-mix(in srgb,var(--p) 8%,var(--bg3))}
.kb-folders-header .kb-chev{transition:transform .2s;font-size:11px;color:var(--tx2)}
.kb-folders-header.collapsed .kb-chev{transform:rotate(-90deg)}
@media (max-width:768px){
  .kb-folders-header{display:flex}
  .kb-folders-header.collapsed + .kb-folders-body{display:none}
  .kb-folders-body .kb-folders-title{display:none}
}
/* KB kartları mobilde sıkıştır */
@media (max-width:600px){
  .kb-card{padding:8px 10px!important;margin-bottom:6px!important}
  .kb-card h6{font-size:13px!important;white-space:normal!important;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.3;margin-bottom:4px!important}
  .kb-card .badge{font-size:10px!important;padding:1px 6px!important}
  .kb-card .kb-preview{font-size:11px!important;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;white-space:normal!important;margin-top:4px!important}
  .kb-card>div:first-child>div:first-child>div:nth-child(3){font-size:10px!important;line-height:1.4;color:var(--tx3)}
  .kb-card .eb{width:26px!important;height:26px!important;font-size:12px!important}
}
/* Credentials detay — bağlantı satırı mobilde wrap */
@media (max-width:600px){
  .cred-entry-row{flex-wrap:wrap;gap:6px!important;padding:8px!important}
  .cred-entry-row>span:first-child{width:100%;min-width:0!important;text-align:left!important;font-size:11px;padding:2px 8px}
  .cred-entry-row code{font-size:11px!important;letter-spacing:1px!important}
  .cred-entry-row code[id^="ePw_"]{margin-left:0}
  .cred-entry-row .btn{padding:2px 4px!important;font-size:14px!important}
}
/* Harita modal fullscreen + mini preview */
.cal-map-fullscreen{position:fixed!important;top:0!important;left:0!important;right:0!important;bottom:0!important;width:100vw!important;height:100vh!important;max-width:none!important;margin:0!important}
.cal-map-fullscreen .modal-content{height:100vh;border-radius:0!important;display:flex;flex-direction:column}
.cal-map-fullscreen .modal-body{flex:1;overflow-y:auto}
.cal-mini-map{height:140px;border-radius:6px;background:#eef;border:1px solid var(--bdr);overflow:hidden;margin-top:6px}
.cal-mini-map .leaflet-control-container{display:none}
.cal-day.drop-target{background:rgba(99,102,241,.15)!important;outline:2px dashed var(--p);outline-offset:-2px}
.cal-ev[draggable="true"]{cursor:grab}.cal-ev[draggable="true"]:active{cursor:grabbing}
@media (max-width:768px){.cal-toolbar .form-select-sm{max-width:none!important;flex:1 1 calc(50% - 4px);min-width:110px}.cal-toolbar .btn-group{flex-wrap:wrap}.cal-toolbar>h6{width:100%;margin-bottom:6px}}
@media (max-width:480px){.cal-toolbar .form-select-sm{flex:1 1 100%}.cal-toolbar .btn-group .btn{padding:4px 8px;font-size:11px}.cal-toolbar input[type="month"]{width:100%!important}.cal-toolbar>div:last-child{width:100%}}
.tag{display:inline-flex;align-items:center;gap:4px;background:#eef2ff;color:var(--p);padding:3px 10px;border-radius:20px;font-size:12px;font-weight:600;margin:1px;border:1px solid #c7d2fe}
.tag .x{cursor:pointer;font-size:14px}
.perm-pill{display:inline-flex;align-items:center;gap:6px;padding:4px 11px;border-radius:20px;font-size:12px;font-weight:600;border:1px solid transparent;line-height:1}
.perm-pill i{font-size:13px;opacity:.85}
.perm-pill b{font-size:13px;font-weight:700}
.perm-pill-lbl{font-size:11px;font-weight:500;opacity:.85}
[data-theme="dark"] .perm-pill{filter:brightness(1.15)}
.ms-box{border:1px solid var(--bdr);border-radius:var(--radius-sm);background:var(--card);max-height:260px;overflow-y:auto;padding:4px}
.ms-item{padding:4px 8px;border-radius:var(--radius-xs);cursor:pointer;font-size:13px;display:flex;align-items:center;gap:6px;color:var(--tx);transition:var(--transition)}.ms-item:hover{background:var(--hover)}.ms-item.sel{background:#eef2ff;color:var(--p);font-weight:600}
.cm-body{max-width:100%}.cm-body table{max-width:100%;border-collapse:collapse;font-size:13px;margin:4px 0}.cm-body table td,.cm-body table th{border:1px solid #d1d5db;padding:5px 8px;max-width:200px;overflow:hidden;text-overflow:ellipsis}.cm-body img{max-width:100%;height:auto;border-radius:var(--radius-xs)}.cm-body blockquote{border-left:3px solid #d1d5db;margin:6px 0;padding:6px 12px;color:#6b7280;font-size:13px;background:var(--bg3);border-radius:0 var(--radius-xs) var(--radius-xs) 0}.cm-body pre,.cm-body code{font-size:12px;background:var(--bg3);padding:3px 6px;border-radius:var(--radius-xs);overflow-x:auto;max-width:100%;display:block}.cm-body *{max-width:100%!important}.cm-att{margin-top:10px;padding-top:8px;border-top:1px dashed var(--bdr)}.cm-att-title{font-size:11px;font-weight:700;color:var(--tx3);margin-bottom:6px}.att-link{display:inline-flex;align-items:center;gap:6px;background:var(--bg);border:1px solid var(--bdr);border-radius:var(--radius-sm);padding:6px 12px;font-size:13px;color:var(--p);text-decoration:none;margin:2px;transition:var(--transition);max-width:100%;overflow:hidden}.att-link>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.att-link:hover{background:#eef2ff;border-color:#c7d2fe}.att-link i{font-size:16px}.att-link .att-size{color:var(--tx3);font-size:11px;margin-left:2px}.att-preview-btn{background:none;border:none;padding:0 2px;cursor:pointer;color:#6b7280;font-size:15px;line-height:1;vertical-align:middle}.att-preview-btn:hover{color:var(--p)}.att-preview-overlay{position:fixed;inset:0;background:rgba(0,0,0,.85);z-index:9999;display:flex;align-items:center;justify-content:center;flex-direction:column}.att-preview-overlay .att-pv-toolbar{position:absolute;top:12px;right:12px;display:flex;gap:6px;z-index:10000}.att-preview-overlay .att-pv-toolbar button{background:rgba(255,255,255,.15);border:none;color:#fff;font-size:18px;width:36px;height:36px;border-radius:var(--radius-sm);cursor:pointer;display:flex;align-items:center;justify-content:center;backdrop-filter:blur(4px)}.att-preview-overlay .att-pv-toolbar button:hover{background:rgba(255,255,255,.3)}.att-preview-overlay .att-pv-title{position:absolute;top:14px;left:16px;color:#fff;font-size:13px;opacity:.8;max-width:50%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.att-preview-overlay img{max-width:90vw;max-height:85vh;object-fit:contain;border-radius:var(--radius-sm);box-shadow:0 4px 24px rgba(0,0,0,.4)}.att-preview-overlay iframe{width:90vw;height:85vh;border:none;border-radius:var(--radius-sm);background:#fff}
.td-grid{display:grid;grid-template-columns:1fr 360px;gap:12px}
.menu-btn{display:none;background:none;border:none;font-size:25px;color:var(--tx);cursor:pointer;padding:4px 8px;border-radius:var(--radius-xs)}
.menu-btn:hover{background:var(--hover)}
#ntfPanel{box-shadow:var(--shd-md)!important;border-radius:var(--radius)!important}
#ntfPanel .bg-light{background:#eef2ff!important}
.overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:1000}
.mob-cards{display:none}.mob-table{display:block}
/* Ticket table responsive columns */
.tt-subj .text-truncate{max-width:clamp(100px,15vw,400px)}
.tt-sender .text-truncate{max-width:clamp(80px,10vw,300px)}
.tt-company .text-truncate{max-width:clamp(80px,10vw,300px)}
/* Company table responsive columns */
.co-name{max-width:clamp(160px,20vw,400px);overflow:hidden}.co-name .d-flex{min-width:0}
.co-domain{max-width:clamp(80px,10vw,250px);overflow:hidden}
.co-contacts{max-width:clamp(100px,12vw,300px);overflow:hidden}
@media(max-width:1366px){.dt td,.dt th{font-size:12px!important;padding:8px 10px!important}
.tt-subj .text-truncate{max-width:clamp(100px,12vw,180px)}
.tt-sender .text-truncate{max-width:clamp(60px,8vw,140px)}
.tt-company .text-truncate{max-width:clamp(60px,8vw,140px)}
.co-name{max-width:clamp(120px,14vw,200px)}
.co-domain{max-width:clamp(60px,8vw,140px)}
.co-contacts{max-width:clamp(80px,10vw,160px)}}
@media(max-width:768px){
.sidebar{transform:translateX(-100%)}.sidebar.show{transform:translateX(0)}
.main{margin-left:0!important}.menu-btn{display:flex;align-items:center}.si{width:100%}
.sb-mini .main{margin-left:0!important}.sb-mini .sidebar{width:260px}
.sb-toggle-btn{right:12px;top:12px}
.td-grid{grid-template-columns:1fr!important}
/* Profil ve Tercihler sayfası mobil — tüm grid'ler tek sütuna düşsün */
.up-avatar-grid{grid-template-columns:1fr!important;gap:16px!important;text-align:center}
.up-2col{grid-template-columns:1fr!important}
/* time/date input'ları küçük ekranda Bootstrap form-control-sm + native picker karşımında
   value text'i sıkışık/yamuk render ediyordu. font-size:16px iOS zoom'unu da önler. */
input[type="time"],input[type="date"],input[type="datetime-local"]{
  text-decoration:none!important;
  -webkit-text-decoration:none!important;
  font-style:normal!important;
  font-family:inherit!important;
  -webkit-text-fill-color:currentColor!important;
  font-variant-numeric:tabular-nums;
  font-feature-settings:"tnum" 1;
  letter-spacing:normal!important;
  text-align:left;
  font-size:16px!important;
  line-height:1.4!important;
  padding:0.5rem 0.75rem!important;
}
input[type="time"]::-webkit-date-and-time-value,
input[type="date"]::-webkit-date-and-time-value{
  text-align:left!important;
  font-style:normal!important;
  font-family:inherit!important;
}
input[type="time"]::-webkit-calendar-picker-indicator,
input[type="date"]::-webkit-calendar-picker-indicator{opacity:0.6;cursor:pointer}
#ntfPanel{width:calc(100vw - 20px)!important;right:10px!important;left:10px!important}
.pg{padding:10px}.card-s{padding:12px}.dt td,.dt th{padding:8px 10px;font-size:12px}
.cal-day{min-height:45px}.cal-ev{font-size:10px}.cal-day.week-view{min-height:120px}
.top-bar{padding:0 10px}
.dt{overflow-x:auto;-webkit-overflow-scrolling:touch}
.dt table{min-width:500px}
.modal-dialog,.modal-dialog.modal-lg,.modal-dialog.modal-xl{max-width:calc(100vw - 16px)!important;margin:8px auto}
.modal-content{max-height:95vh;overflow-y:auto;border-radius:var(--radius)!important}
.af-row{flex-wrap:wrap}.af-row .af-group{min-width:calc(50% - 6px)!important}
.af-ms-drop{min-width:calc(100vw - 40px)!important}
.col-4.col-md-2 .card-s{padding:10px!important}
.col-4.col-md-2 .card-s div[style*="font-size:24px"]{font-size:20px!important}
.ql-toolbar{flex-wrap:wrap;overflow-x:auto}
.ql-toolbar .ql-formats{margin-bottom:2px}
#cmList{max-height:350px!important}
.att-preview-overlay img{max-width:98vw;max-height:80vh}
.att-preview-overlay iframe{width:98vw;height:80vh}
.att-preview-overlay .att-pv-title{max-width:60%;font-size:11px}
.tag{font-size:10px!important;padding:2px 8px!important}
.badge{font-size:9px!important}
.login-card{width:calc(100% - 20px)!important;max-width:420px;padding:28px 20px;margin:10px}.login-logo-area i{font-size:44px!important}.login-logo-area img{height:44px!important}.login-logo-area .login-app-name{font-size:18px}.lp-dot{width:3px!important;height:3px!important}
.cal-grid{font-size:11px}
canvas{max-height:220px!important}
.stat-card{padding:12px 14px!important}.stat-icon{width:36px!important;height:36px!important;font-size:16px!important}
.welcome-card{flex-direction:column;text-align:center;gap:12px;padding:16px}
.welcome-card>div:last-child{text-align:center}
.kb-board{flex-direction:column}.kb-col{min-width:100%!important;max-width:100%!important}
.kb-layout{flex-direction:column!important}.kb-layout>.card-s{min-width:100%!important;max-width:100%!important}
.mob-cards{display:block!important}.mob-table{display:none!important}
.sw{width:100%}
.input-group[style*="max-width"]{max-width:100%!important}
select[style*="max-width"],select[style*="width:1"]{max-width:100%!important;width:100%!important}
input[style*="width:1"]{width:100%!important}
.d-flex.gap-2.flex-wrap{width:100%}
.d-flex.gap-2.flex-wrap>input,.d-flex.gap-2.flex-wrap>select{flex:1 1 calc(50% - 4px)!important;min-width:0!important;width:auto!important}
.d-flex.gap-2.flex-wrap>.input-group{flex:1 1 100%!important;max-width:100%!important}
.d-flex.gap-2.flex-wrap>.btn-group{flex:1 1 100%}
.nav-tabs{font-size:12px;overflow-x:auto;white-space:nowrap;flex-wrap:nowrap!important;-webkit-overflow-scrolling:touch}.nav-tabs .nav-item{flex-shrink:0}
.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}
.fl-group{margin-bottom:12px}
.btn{min-height:38px}
.eb{min-width:40px;min-height:40px;font-size:16px!important}
.sd-wrap{min-width:100px}
.sd-drop{min-width:180px}
}
@media(max-width:480px){
.si{width:100%}
.top-bar .btn-p{padding:6px 10px!important;font-size:11px!important}
.modal-body .row.g-2>[class*="col-"]{width:100%!important;max-width:100%!important;flex:0 0 100%!important}
.sb-brand h5{font-size:14px}
.col-4.col-md-2{width:50%!important;flex:0 0 50%!important}
.dt td,.dt th{font-size:11px!important;padding:6px 8px!important}
.dt table{min-width:400px}
canvas{max-height:180px!important}
.welcome-card>div:first-child{display:none}
.pg{padding:8px}
.top-bar{height:48px}
.top-bar h6{font-size:13px!important}
.breadcrumb-bar{font-size:11px}
.d-flex.gap-2.flex-wrap>input,.d-flex.gap-2.flex-wrap>select{flex:1 1 100%!important}
.login-card{padding:20px 16px!important}
.cpk{grid-template-columns:repeat(7,28px);gap:2px}.cpk-c,.cpk-x{width:28px;height:28px}
.kb-card-item{padding:8px 10px}
.stat-card{gap:8px!important}
.stat-card div[style*="font-size:24px"]{font-size:18px!important}
.stat-card div[style*="width:44px"]{width:36px!important;height:36px!important}
.modal-body{padding:12px!important}
.cal-hdr{padding:4px;font-size:10px}
}
/* ===== MOBILE ENHANCEMENTS ===== */
@media(max-width:768px){
.sidebar{width:260px;z-index:1100}
.eb{min-width:40px;min-height:40px;font-size:16px!important}
.dt th.mob-hide,.dt td.mob-hide{display:none}
.modal-dialog{margin:0!important;max-width:100vw!important;min-height:100vh;min-height:100dvh}.modal-content{border-radius:0!important;min-height:100vh;min-height:100dvh}
/* Modal footer her zaman erişilebilir — sticky (klavye/URL bar yüzünden alt sınır kayıyor) */
.modal-footer{position:sticky;bottom:0;background:var(--card);z-index:5;padding-bottom:calc(0.25rem + env(safe-area-inset-bottom,0px))}
/* Modal içi tablolar yatay scroll (eskiden sadece ≤600'deydi — 601-768 boşluğu kapandı) */
.modal-body table{display:block;overflow-x:auto;white-space:nowrap}
/* Talepten KB Makalesi modalı — iki sabit pane mobilde alt alta */
.kbgen-split{flex-direction:column!important;overflow-y:auto!important}
.kbgen-split>div{width:100%!important;max-height:none!important;overflow:visible!important;flex-shrink:0}
}
@media(max-width:480px){
.eb{min-width:36px;min-height:36px}
.dt td,.dt th{font-size:12px!important}
}
/* Bildirim paneli — mobilde tam genişlik, sabit konum */
@media(max-width:640px){
  #ntfPanel{position:fixed!important;top:60px!important;left:10px!important;right:10px!important;width:auto!important;max-width:none!important}
}
/* Teklifler listesi — responsive */
.prp-cards{display:none}
@media(max-width:1100px){
  .prp-col-date{display:none}
}
@media(max-width:900px){
  .prp-col-title{display:none}
}
@media(max-width:640px){
  .prp-table-wrap{display:none}
  .prp-cards{display:block;padding:8px}
  .prp-card{background:var(--card);border:1px solid var(--bdr);border-radius:var(--radius);padding:10px 12px;margin-bottom:8px;cursor:pointer;transition:var(--transition)}
  .prp-card:hover{border-color:var(--p);box-shadow:var(--shd-md)}
  .prp-card:last-child{margin-bottom:0}
}
.sd-wrap{position:relative;display:inline-block;min-width:130px}
.sd-btn{display:flex;align-items:center;gap:4px;padding:4px 10px;font-size:13px;border:1px solid var(--bdr);border-radius:var(--radius-sm);background:var(--card);cursor:pointer;white-space:nowrap;height:32px;color:var(--tx);transition:var(--transition)}
.sd-btn:hover{border-color:var(--p)}.sd-btn .sd-x{margin-left:auto;color:#9ca3af;font-size:11px;padding:2px}.sd-btn .sd-x:hover{color:#ef4444}
.sd-drop{position:absolute;top:100%;left:0;z-index:500;background:var(--card);border:1px solid var(--bdr);border-radius:var(--radius);box-shadow:var(--shd-md);min-width:220px;max-height:250px;display:none;margin-top:4px}
.sd-drop.open{display:block}
.sd-drop input{width:100%;border:none;border-bottom:1px solid var(--bdr);padding:8px 10px;font-size:13px;outline:none;border-radius:var(--radius) var(--radius) 0 0;background:var(--card);color:var(--tx)}
.sd-list{max-height:200px;overflow-y:auto}.sd-list div{padding:6px 10px;font-size:13px;cursor:pointer;color:var(--tx);transition:var(--transition)}.sd-list div:hover{background:var(--hover)}.sd-list div.sel{background:#eef2ff;color:var(--p);font-weight:600}
.sd-list .sd-empty{color:#9ca3af;text-align:center;padding:8px;cursor:default}
.af-panel{background:var(--card);border:1px solid var(--bdr);border-radius:var(--radius);padding:16px 20px;margin-bottom:10px;display:none;box-shadow:var(--shd)}
.af-panel.open{display:block}
.af-row{display:flex;gap:14px;flex-wrap:wrap;align-items:flex-start}
.af-group{display:flex;flex-direction:column;gap:4px;min-width:140px}
.af-group label{font-size:11px;font-weight:700;color:var(--tx3);text-transform:uppercase;letter-spacing:.4px}
.af-checks{display:flex;flex-wrap:wrap;gap:3px}
.af-cb{display:inline-flex;align-items:center;gap:4px;padding:5px 12px;border-radius:20px;font-size:12px;cursor:pointer;border:1px solid var(--bdr);user-select:none;transition:var(--transition);background:var(--card);color:var(--tx2);font-weight:500}
.af-cb:hover{border-color:var(--p);color:var(--p)}
.af-cb.sel{background:#eef2ff;border-color:#c7d2fe;color:#4f46e5;font-weight:600}
.af-cb input{display:none}
.af-ms{position:relative}
.af-ms-btn{display:flex;align-items:center;gap:4px;padding:5px 10px;font-size:12px;border:1px solid var(--bdr);border-radius:var(--radius-sm);background:var(--card);cursor:pointer;min-width:120px;height:32px;color:var(--tx);white-space:nowrap;transition:var(--transition)}
.af-ms-btn:hover{border-color:var(--p)}
.af-ms-drop{position:absolute;top:100%;left:0;z-index:500;background:var(--card);border:1px solid var(--bdr);border-radius:var(--radius);box-shadow:var(--shd-md);min-width:220px;display:none;margin-top:4px}
.af-ms-drop.open{display:block}
.af-ms-drop input[type=text]{width:100%;border:none;border-bottom:1px solid var(--bdr);padding:8px 10px;font-size:13px;outline:none;border-radius:var(--radius) var(--radius) 0 0;background:var(--card);color:var(--tx)}
.af-ms-list{max-height:180px;overflow-y:auto;padding:4px 0}
.af-ms-list label{display:flex;align-items:center;gap:6px;padding:5px 10px;font-size:13px;cursor:pointer;color:var(--tx);font-weight:400;text-transform:none;letter-spacing:0;transition:var(--transition)}
.af-ms-list label:hover{background:var(--hover)}
.af-tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}
.af-tag{display:inline-flex;align-items:center;gap:4px;background:#eef2ff;color:#4f46e5;padding:3px 10px;border-radius:20px;font-size:11px;font-weight:600;border:1px solid #c7d2fe}
.af-tag .x{cursor:pointer;font-size:12px;color:#9ca3af;margin-left:1px}.af-tag .x:hover{color:#ef4444}
.fl-group{position:relative;margin-bottom:16px}.fl-group .form-control,.fl-group .form-select{height:48px;padding:20px 12px 6px;font-size:14px;border-radius:var(--radius-sm);transition:var(--transition)}.fl-group label{position:absolute;top:14px;left:12px;font-size:14px;color:var(--tx3);pointer-events:none;transition:all .2s;z-index:1}.fl-group .form-control:focus~label,.fl-group .form-control:not(:placeholder-shown)~label,.fl-group .has-val~label{top:4px;font-size:11px;color:var(--p);font-weight:600}.fl-group .form-control:focus{border-color:var(--p);box-shadow:0 0 0 3px rgba(99,102,241,.12)}
.req-star{color:#ef4444;font-weight:700}.form-control.is-invalid,.form-select.is-invalid{border-color:#ef4444!important;box-shadow:0 0 0 3px rgba(239,68,68,.12)!important}
.val-msg{font-size:11px;color:#ef4444;margin-top:2px;display:none}.val-msg.show{display:block}
.drop-zone{border:2px dashed var(--bdr);border-radius:var(--radius);padding:16px;text-align:center;transition:var(--transition);cursor:pointer;background:var(--bg)}
.drop-zone.drag-over{border-color:var(--p);background:#eef2ff}
.drop-zone:hover{border-color:var(--p)}
.rf-item{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:var(--radius-sm);border:1px solid var(--bdr);font-size:12px;background:var(--inp);transition:var(--transition)}
.rf-item.over{border-color:#ef4444;background:#fef2f2}
.rf-item .rf-rm{cursor:pointer;color:#9ca3af;font-size:12px;padding:1px}.rf-item .rf-rm:hover{color:#ef4444}
.rf-img-prev{width:32px;height:32px;object-fit:cover;border-radius:4px;border:1px solid #e5e7eb}
.ql-editor img{max-width:100%;border-radius:6px;margin:4px 0;cursor:pointer}
.img-rsz{position:relative;display:inline-block;margin:4px 0}
.img-rsz img{display:block;border-radius:6px}
.img-rsz.active{outline:2px solid #4f46e5;outline-offset:2px}
.img-rsz .img-h{position:absolute;width:8px;height:8px;background:#4f46e5;border:1px solid #fff;border-radius:2px;z-index:10;display:none}
.img-rsz.active .img-h{display:block}
.img-h-se{bottom:-4px;right:-4px;cursor:se-resize}.img-h-sw{bottom:-4px;left:-4px;cursor:sw-resize}.img-h-ne{top:-4px;right:-4px;cursor:ne-resize}.img-h-e{top:50%;right:-4px;transform:translateY(-50%);cursor:e-resize}.img-h-w{top:50%;left:-4px;transform:translateY(-50%);cursor:w-resize}
.img-tb{position:absolute;top:-32px;left:50%;transform:translateX(-50%);background:var(--card);border:1px solid var(--bdr);border-radius:6px;box-shadow:0 2px 8px var(--shd);padding:2px 4px;display:none;gap:2px;white-space:nowrap;z-index:11}
.img-rsz.active .img-tb{display:flex}
.img-tb button{background:none;border:1px solid transparent;border-radius:4px;padding:2px 6px;font-size:12px;cursor:pointer;color:var(--tx);font-weight:600}.img-tb button:hover{background:var(--hover);border-color:var(--bdr)}.img-tb button.act{background:#eef2ff;color:#4f46e5;border-color:#c7d2fe}
.img-tb .img-sz{font-size:11px;color:#9ca3af;padding:2px 4px;display:flex;align-items:center}
.ql-editor{min-height:140px}
#nte2 .ql-container{max-height:130px!important;overflow-y:auto!important}#nte2 .ql-editor{min-height:80px!important;max-height:130px!important;overflow-y:auto!important}
.ql-editor table{border-collapse:collapse;width:100%;margin:4px 0}.ql-editor td,.ql-editor th{border:1px solid #d1d5db;padding:4px 8px;min-width:50px}
.cpk{position:fixed;background:var(--card);border:1px solid var(--bdr);border-radius:4px;box-shadow:0 3px 12px var(--shd);padding:4px;z-index:99999;display:grid;grid-template-columns:repeat(7,22px);gap:1px}
.cpk-c{width:22px;height:22px;border:1px solid rgba(0,0,0,.2);cursor:pointer;box-sizing:border-box}.cpk-c:hover{border:2px solid #000;z-index:1;position:relative}
.cpk-x{width:22px;height:22px;border:1px solid #ccc;background:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:16px;color:#888;font-weight:700}.cpk-x:hover{border-color:#f00;color:#f00}
.tbl-del-float{position:fixed;z-index:99990;background:#fee2e2;color:#ef4444;border:1px solid #fca5a5;border-radius:4px;width:24px;height:24px;font-size:15px;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 6px rgba(0,0,0,.12);transition:background .15s}.tbl-del-float:hover{background:#ef4444;color:#fff;border-color:#ef4444}
[data-theme="dark"] .modal-content{background:var(--card);color:var(--tx);border-color:var(--bdr)}
[data-theme="dark"] .modal-header{border-color:var(--bdr)}
[data-theme="dark"] .modal-footer{border-color:var(--bdr)}
[data-theme="dark"] .form-control,[data-theme="dark"] .form-select{background:var(--inp);color:var(--tx);border-color:var(--bdr)}
[data-theme="dark"] .form-control:focus,[data-theme="dark"] .form-select:focus{background:var(--inpf);color:var(--tx);border-color:var(--p);box-shadow:0 0 0 3px rgba(99,102,241,.2)}
[data-theme="dark"] .form-check-label{color:var(--tx)}
[data-theme="dark"] .table{color:var(--tx);--bs-table-bg:var(--card);--bs-table-border-color:var(--bdr);--bs-table-striped-bg:var(--bg3);--bs-table-hover-bg:var(--hover)}
[data-theme="dark"] .table thead th{background:var(--bg3);color:var(--tx2);border-color:var(--bdr)}
[data-theme="dark"] .nav-tabs{border-color:var(--bdr)}
[data-theme="dark"] .nav-tabs .nav-link{color:var(--tx2)}
[data-theme="dark"] .nav-tabs .nav-link.active{background:var(--card);color:var(--tx);border-color:var(--bdr) var(--bdr) var(--card)}
[data-theme="dark"] .btn-outline-secondary{color:var(--tx2);border-color:var(--bdr)}
[data-theme="dark"] .btn-outline-secondary:hover{background:var(--bg3);color:var(--tx)}
[data-theme="dark"] .btn-secondary{background:var(--bg3);border-color:var(--bdr);color:var(--tx)}
[data-theme="dark"] .text-muted{color:var(--tx3)!important}
[data-theme="dark"] .text-dark{color:var(--tx)!important}
[data-theme="dark"] .bg-light{background:var(--bg3)!important}
[data-theme="dark"] .border-bottom{border-color:var(--bdr)!important}
[data-theme="dark"] .alert{background:var(--bg3);color:var(--tx);border-color:var(--bdr)}
[data-theme="dark"] .ql-toolbar{background:var(--bg3);border-color:var(--bdr)!important}
[data-theme="dark"] .ql-container{border-color:var(--bdr)!important;background:var(--card)}
[data-theme="dark"] .ql-editor{color:var(--tx)}
[data-theme="dark"] .ql-snow .ql-stroke{stroke:var(--tx2)}
[data-theme="dark"] .ql-snow .ql-fill{fill:var(--tx2)}
[data-theme="dark"] .ql-snow .ql-picker{color:var(--tx2)}
[data-theme="dark"] .ql-snow .ql-picker-options{background:var(--card);border-color:var(--bdr)}
[data-theme="dark"] #ntfPanel{background:var(--card)!important;border-color:var(--bdr)!important}
[data-theme="dark"] .login-page{background:#0b0f19}
[data-theme="dark"] .login-page::before{background:radial-gradient(ellipse at 30% 20%,rgba(99,102,241,.08),transparent 50%)}
[data-theme="dark"] .lp-dot{background:rgba(99,102,241,.25)}
[data-theme="dark"] .lp-dot:nth-child(odd){background:rgba(139,92,246,.2)}
[data-theme="dark"] .lp-dot:nth-child(3n){background:rgba(56,189,248,.15)}
[data-theme="dark"] .login-card{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.08);box-shadow:0 8px 32px rgba(0,0,0,.4);backdrop-filter:blur(12px)}
[data-theme="dark"] .login-logo-area .login-app-name{color:#e2e8f0}
[data-theme="dark"] .login-logo-area .login-app-sub{color:rgba(255,255,255,.4)}
[data-theme="dark"] .login-fl input{background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.1);color:#e2e8f0}
[data-theme="dark"] .login-fl input:focus{border-color:var(--p,#6366f1);box-shadow:0 0 0 4px rgba(99,102,241,.12)}
[data-theme="dark"] .login-fl label{color:rgba(255,255,255,.35)}
[data-theme="dark"] .login-fl input:focus~label,[data-theme="dark"] .login-fl input:not(:placeholder-shown)~label{color:var(--pl,#818cf8)}
[data-theme="dark"] .login-check{color:rgba(255,255,255,.35)}
[data-theme="dark"] .login-forgot{color:var(--pl,#818cf8)}
[data-theme="dark"] .cm-body blockquote{background:var(--bg3);color:var(--tx2);border-color:var(--bdr)}
[data-theme="dark"] .cm-body pre,[data-theme="dark"] .cm-body code{background:var(--bg3);color:var(--tx)}
[data-theme="dark"] .prop-disabled select,[data-theme="dark"] .prop-disabled input{background:var(--bg3)}
[data-theme="dark"] .badge.bg-light{background:var(--bg3)!important;color:var(--tx)!important}
[data-theme="dark"] .card{background:var(--card);border-color:var(--bdr);color:var(--tx)}
[data-theme="dark"] .list-group-item{background:var(--card);border-color:var(--bdr);color:var(--tx)}
[data-theme="dark"] hr{border-color:var(--bdr)}
[data-theme="dark"] .form-label{color:var(--tx)}
[data-theme="dark"] .btn-close{filter:invert(1) grayscale(100%) brightness(200%)}
[data-theme="dark"] .accordion-item{background:var(--card);border-color:var(--bdr)}
[data-theme="dark"] .accordion-button{background:var(--bg3);color:var(--tx)}
[data-theme="dark"] .pagination .page-link{background:var(--card);border-color:var(--bdr);color:var(--tx)}
[data-theme="dark"] .pagination .page-item.active .page-link{background:var(--p);border-color:var(--p)}
[data-theme="dark"] .tab-content{color:var(--tx)}
[data-theme="dark"] .toast{background:var(--card);color:var(--tx)}
/* ===== Project Flow Schema ===== */
.prj-schema-toolbar{display:flex;align-items:center;padding:8px 12px;background:var(--bg2);border:1px solid var(--bdr);border-bottom:none;border-radius:var(--radius-sm) var(--radius-sm) 0 0}
.prj-schema-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;background:var(--bg);border:2px dashed var(--bdr);border-radius:var(--radius-sm)}
.prj-schema{position:relative;min-height:500px;overflow:auto;background:var(--bg);border:1px solid var(--bdr);border-radius:0 0 var(--radius-sm) var(--radius-sm)}
.prj-schema svg{position:absolute;top:0;left:0;pointer-events:none;z-index:1}
.prj-schema svg path.dep-arrow{stroke:var(--p);stroke-width:2;fill:none;pointer-events:stroke;cursor:pointer;opacity:.6;transition:all .2s;stroke-linejoin:round;stroke-linecap:round}
.prj-schema svg path.dep-arrow:hover{stroke:var(--p);stroke-width:3;opacity:1}
.prj-schema svg path.dep-arrow.dep-done{stroke:#22c55e;opacity:.4}
.prj-schema svg path.dep-arrow.selected{stroke:#ef4444;stroke-width:3;opacity:1}
.prj-schema svg line.rubber-band{stroke:var(--p);stroke-width:2;stroke-dasharray:6,4}
.prj-card{position:absolute;width:190px;border-radius:var(--radius-xs);background:var(--card);border:1px solid var(--bdr);box-shadow:var(--shd);z-index:2;transition:box-shadow .15s,transform .1s}
.prj-card:hover{box-shadow:var(--shd-md);transform:translateY(-1px)}
.prj-card.selected{outline:2px solid var(--p);outline-offset:1px}
.prj-card.prj-card-done{opacity:.7}
.prj-card-hdr{padding:6px 10px;font-size:11px;font-weight:600;color:#fff;border-radius:5px 5px 0 0;cursor:grab;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;align-items:center;justify-content:space-between}
.prj-card-hdr:active{cursor:grabbing}
.prj-card-body{padding:8px 10px;font-size:10px;color:var(--tx2)}
.prj-card-body .progress{height:4px;margin-bottom:3px;border-radius:2px}
.prj-card-status{font-size:9px;padding:1px 5px;border-radius:3px;background:var(--bg);font-weight:600}
.prj-card-actions{position:absolute;top:4px;right:4px;display:none;gap:4px;z-index:4}
.prj-card:hover .prj-card-actions{display:flex}
.prj-card-actions i{font-size:13px;cursor:pointer;background:rgba(255,255,255,.9);border-radius:50%;padding:2px;transition:transform .15s}
.prj-card-actions i:hover{transform:scale(1.2)}
.prj-port{position:absolute;width:14px;height:14px;border-radius:50%;background:var(--p);border:2px solid var(--card);cursor:crosshair;z-index:3;opacity:0;transition:all .15s}
.prj-card:hover .prj-port{opacity:.7}
.prj-port-out{right:-7px;top:50%;transform:translateY(-50%)}
.prj-port-in{left:-7px;top:50%;transform:translateY(-50%)}
.prj-port:hover{transform:translateY(-50%) scale(1.3);opacity:1;box-shadow:0 0 6px var(--p)}
/* Gantt status colors */
.gantt-Beklemede .bar{fill:#9ca3af !important}
.gantt-DevamEdiyor .bar{fill:#3b82f6 !important}
.gantt-Tamamlandi .bar{fill:#22c55e !important}
.gantt-IptalEdildi .bar{fill:#ef4444 !important}
.gantt .bar-label{fill:#1e293b !important;font-size:12px;font-weight:600}
.gantt .lower-text,.gantt .upper-text{fill:#475569 !important;font-size:12px}
.gantt .grid-header{fill:var(--bg2);stroke:var(--bdr)}
.gantt .grid-row{fill:var(--bg2)}
.gantt .row-line{stroke:var(--bdr)}
.gantt .tick{stroke:var(--bdr)}
.gantt .today-highlight{fill:rgba(99,102,241,.08) !important}
[data-theme="dark"] .gantt .bar-label{fill:#e2e8f0 !important}
[data-theme="dark"] .gantt .lower-text,[data-theme="dark"] .gantt .upper-text{fill:var(--tx2) !important}
[data-theme="dark"] .gantt .grid-row{fill:var(--bg)}
[data-theme="dark"] .gantt .row-line{stroke:var(--bdr)}
[data-theme="dark"] .gantt .grid-header{fill:var(--bg2);stroke:var(--bdr)}
/* Project Dashboard */
.prj-stat-card{background:var(--card);border-radius:var(--radius-sm);padding:16px;text-align:center;border:1px solid var(--bdr);border-left:3px solid var(--p)}
.prj-stat-val{font-size:28px;font-weight:800;color:var(--p);line-height:1}
.prj-stat-lbl{font-size:11px;color:var(--tx3);text-transform:uppercase;margin-top:4px}
/* Project Labels */
.prj-label{display:inline-block;padding:1px 6px;border-radius:4px;font-size:10px;font-weight:600;white-space:nowrap}
.prj-label-pick{display:inline-flex;align-items:center;padding:3px 8px;border-radius:6px;font-size:11px;border:1px solid var(--bdr);cursor:pointer;transition:all .15s}
.prj-label-pick.active{font-weight:600}
.prj-label-pick:hover{opacity:.8}
/* Project Overdue */
.prj-overdue{animation:prjPulse 2s infinite}
@keyframes prjPulse{0%,100%{box-shadow:none}50%{box-shadow:0 0 0 2px rgba(239,68,68,.2)}}
@keyframes grWave{0%,100%{transform:rotate(0deg)}15%{transform:rotate(14deg)}30%{transform:rotate(-8deg)}45%{transform:rotate(14deg)}60%{transform:rotate(-4deg)}75%{transform:rotate(10deg)}90%{transform:rotate(0deg)}}
@keyframes grPulse{0%,100%{transform:scale(1);filter:brightness(1)}50%{transform:scale(1.15);filter:brightness(1.2)}}
@keyframes grBounce{0%,100%{transform:translateY(0)}25%{transform:translateY(-6px)}50%{transform:translateY(0)}75%{transform:translateY(-3px)}}
@keyframes grFloat{0%,100%{transform:translateY(0) rotate(0deg)}25%{transform:translateY(-4px) rotate(5deg)}50%{transform:translateY(0) rotate(0deg)}75%{transform:translateY(-2px) rotate(-3deg)}}
@keyframes grSpin{0%{transform:rotate(0deg) scale(1)}25%{transform:rotate(15deg) scale(1.1)}50%{transform:rotate(0deg) scale(1)}75%{transform:rotate(-10deg) scale(1.05)}100%{transform:rotate(0deg) scale(1)}}
@keyframes grSteam{0%,100%{opacity:.6;transform:translateY(0) scale(1)}50%{opacity:1;transform:translateY(-3px) scale(1.08)}}
@keyframes grFlash{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.2)}}
.gr-wave{display:inline-block;animation:grWave 2s ease-in-out infinite;transform-origin:70% 70%}
.gr-pulse{display:inline-block;animation:grPulse 2.5s ease-in-out infinite}
.gr-bounce{display:inline-block;animation:grBounce 1.5s ease-in-out infinite}
.gr-float{display:inline-block;animation:grFloat 3s ease-in-out infinite}
.gr-spin{display:inline-block;animation:grSpin 2s ease-in-out infinite}
.gr-steam{display:inline-block;animation:grSteam 2s ease-in-out infinite}
.gr-flash{display:inline-block;animation:grFlash 1s ease-in-out infinite}

/* ===== Dark Mode Systemic Overrides ===== */
[data-theme="dark"] .text-dark,
[data-theme="dark"] .badge.bg-info,
[data-theme="dark"] .badge.bg-warning,
[data-theme="dark"] .badge.bg-light{color:var(--tx)!important}
[data-theme="dark"] .text-muted{color:var(--tx2)!important}

[data-theme="dark"] input:disabled,
[data-theme="dark"] select:disabled,
[data-theme="dark"] textarea:disabled,
[data-theme="dark"] .form-control:disabled,
[data-theme="dark"] .form-select:disabled{background:var(--bg3)!important;color:var(--tx2)!important;opacity:.65;border-color:var(--bdr)!important}

[data-theme="dark"] .bg-light,
[data-theme="dark"] .bg-white,
[data-theme="dark"] .bg-info-subtle,
[data-theme="dark"] .bg-warning-subtle,
[data-theme="dark"] .bg-success-subtle,
[data-theme="dark"] .bg-danger-subtle,
[data-theme="dark"] .bg-primary-subtle,
[data-theme="dark"] .bg-secondary-subtle{background:var(--bg3)!important;color:var(--tx)!important;border-color:var(--bdr)!important}

[data-theme="dark"] mark{background:var(--p);color:#fff;padding:0 3px;border-radius:3px}

[data-theme="dark"] code{background:var(--bg3);color:var(--tx);padding:2px 5px;border-radius:4px}
[data-theme="dark"] pre{background:var(--bg3);color:var(--tx);border:1px solid var(--bdr);border-radius:6px}

[data-theme="dark"] .table{color:var(--tx);border-color:var(--bdr)}
[data-theme="dark"] .table>:not(caption)>*>*{background:transparent;color:var(--tx);border-color:var(--bdr2)}
[data-theme="dark"] .table-striped>tbody>tr:nth-of-type(odd)>*{background:var(--bg)!important;color:var(--tx)!important}
[data-theme="dark"] .table-hover>tbody>tr:hover>*{background:var(--hover)!important;color:var(--tx)!important}

[data-theme="dark"] .alert{background:var(--bg3);color:var(--tx);border-color:var(--bdr)}
[data-theme="dark"] .alert-info,
[data-theme="dark"] .alert-warning,
[data-theme="dark"] .alert-success,
[data-theme="dark"] .alert-danger,
[data-theme="dark"] .alert-primary{background:var(--bg3);border-color:var(--bdr)}

[data-theme="dark"] .border,
[data-theme="dark"] .border-top,
[data-theme="dark"] .border-bottom,
[data-theme="dark"] .border-start,
[data-theme="dark"] .border-end{border-color:var(--bdr)!important}

[data-theme="dark"] .list-group-item{background:var(--card);color:var(--tx);border-color:var(--bdr)}

[data-theme="dark"] .dropdown-menu{background:var(--card);border-color:var(--bdr);color:var(--tx)}
[data-theme="dark"] .dropdown-item{color:var(--tx)}
[data-theme="dark"] .dropdown-item:hover,
[data-theme="dark"] .dropdown-item:focus{background:var(--hover);color:var(--tx)}
[data-theme="dark"] .dropdown-divider{border-color:var(--bdr)}

[data-theme="dark"] .form-check-input:not(:checked){background-color:var(--inp);border-color:var(--bdr)}

[data-theme="dark"] .nav-tabs{border-color:var(--bdr)}
[data-theme="dark"] .nav-tabs .nav-link{color:var(--tx2);background:transparent;border-color:transparent}
[data-theme="dark"] .nav-tabs .nav-link:hover{border-color:var(--bdr) var(--bdr) transparent;color:var(--tx)}
[data-theme="dark"] .nav-tabs .nav-link.active{background:var(--card);color:var(--tx);border-color:var(--bdr) var(--bdr) var(--card)}

[data-theme="dark"] .tag{background:color-mix(in srgb,var(--p) 18%,var(--bg3));color:var(--pl);border-color:color-mix(in srgb,var(--p) 30%,var(--bdr))}

.qnote{background:var(--qn-color);border:1px solid rgba(0,0,0,.08);color:#1f2937}
.qnote .qnote-text{color:#1f2937}
.qnote .qnote-meta{color:#6b7280}
.qnote .qnote-btn{color:#4b5563}
[data-theme="dark"] .qnote{background:color-mix(in srgb,var(--qn-color) 25%,var(--card));border-color:color-mix(in srgb,var(--qn-color) 40%,var(--bdr));color:var(--tx)}
[data-theme="dark"] .qnote .qnote-text{color:var(--tx)}
[data-theme="dark"] .qnote .qnote-meta{color:var(--tx2)}
[data-theme="dark"] .qnote .qnote-btn{color:var(--tx2)}

.session-current{background:#ecfdf5;border-radius:6px;padding:6px 8px;border:1px solid #a7f3d0}
[data-theme="dark"] .session-current{background:color-mix(in srgb,#22c55e 12%,var(--card));border-color:color-mix(in srgb,#22c55e 30%,var(--bdr));color:var(--tx)}

.bulk-bar{background:#eef2ff;border:1px solid #c7d2fe;border-radius:8px;padding:6px 10px;margin-bottom:6px;font-size:13px}
.bulk-bar .bulk-count{color:var(--p)}
[data-theme="dark"] .bulk-bar{background:color-mix(in srgb,var(--p) 15%,var(--card));border-color:color-mix(in srgb,var(--p) 30%,var(--bdr))}
[data-theme="dark"] .bulk-bar .bulk-count{color:var(--pl)}

/* ===== Müşteri Portalı (Customer Portal) ===== */
[data-portal="true"]{--p:#0ea5e9;--pd:#0284c7;--pl:#7dd3fc}
[data-portal="true"] .portal-shell{min-height:100vh;background:var(--bg)}
[data-portal="true"] .portal-header{background:var(--bg2);border-bottom:1px solid var(--bdr);position:sticky;top:0;z-index:100;box-shadow:0 1px 3px rgba(0,0,0,.04)}
[data-portal="true"] .portal-header-inner{max-width:1100px;margin:0 auto;padding:14px 20px;display:flex;align-items:center;justify-content:space-between;gap:16px}
[data-portal="true"] .portal-nav{display:flex;gap:4px}
[data-portal="true"] .portal-nav-item{padding:8px 16px;font-size:14px;color:var(--tx2);text-decoration:none;border-radius:8px;transition:var(--transition);font-weight:500}
[data-portal="true"] .portal-nav-item:hover{background:var(--hover);color:var(--tx)}
[data-portal="true"] .portal-nav-item.active{background:color-mix(in srgb,var(--p) 12%,var(--card));color:var(--p);font-weight:600}
[data-portal="true"] .portal-main{max-width:1100px;margin:0 auto;padding:24px 20px}
[data-portal="true"] .pg{padding:0}
[data-portal="true"] .portal-welcome{background:linear-gradient(135deg,color-mix(in srgb,var(--p) 6%,var(--card)),color-mix(in srgb,var(--pl) 4%,var(--card)));border:1px solid color-mix(in srgb,var(--p) 15%,var(--bdr));border-radius:var(--radius);padding:24px 28px;margin-bottom:20px;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}
[data-portal="true"] .btn-portal-primary{background:var(--p);color:#fff;border:none;padding:10px 20px;border-radius:8px;font-weight:600;cursor:pointer;transition:var(--transition);font-size:14px}
[data-portal="true"] .btn-portal-primary:hover{background:var(--pd);color:#fff}
[data-portal="true"] .btn-portal-primary.btn-lg{padding:12px 28px;font-size:15px}
[data-portal="true"] .portal-ticket-row{display:flex;align-items:center;gap:12px;padding:14px 16px;border-bottom:1px solid var(--bdr2);cursor:pointer;transition:var(--transition)}
[data-portal="true"] .portal-ticket-row:hover{background:var(--hover)}
[data-portal="true"] .portal-ticket-row:last-child{border-bottom:none}
[data-portal="true"] .portal-comment{padding:14px 16px;border-radius:10px;margin-bottom:12px;background:var(--bg3);border:1px solid var(--bdr)}
[data-portal="true"] .portal-comment.mine{background:color-mix(in srgb,var(--p) 6%,var(--card));border-color:color-mix(in srgb,var(--p) 25%,var(--bdr))}
[data-portal="true"] .portal-comment-meta{font-size:12px;color:var(--tx2);margin-bottom:6px}
[data-portal="true"] .portal-comment-body{font-size:14px;line-height:1.6}
[data-portal="true"] .portal-ticket-body{font-size:14px;line-height:1.6}
[data-portal="true"] body{font-size:14px}

[data-portal="true"] .portal-att-item{display:inline-flex;align-items:center;gap:10px;padding:8px 12px;border:1px solid var(--bdr);background:var(--card);border-radius:8px;cursor:pointer;transition:var(--transition);min-width:200px;max-width:100%}
[data-portal="true"] .portal-att-item:hover{border-color:var(--p);background:var(--hover);transform:translateY(-1px)}
[data-portal="true"] .portal-att-meta{flex:1;min-width:0}
[data-portal="true"] .portal-att-name{font-size:13px;font-weight:600;color:var(--tx);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:240px}
[data-portal="true"] .portal-att-size{font-size:11px;color:var(--tx3)}

/* Admin yorum reaksiyonları */
.cm-rx{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px;align-items:center;position:relative}
.adm-rx-chip{display:inline-flex;align-items:center;gap:4px;padding:3px 9px;background:var(--bg3);border:1px solid var(--bdr);border-radius:14px;cursor:pointer;font-size:12px;transition:var(--transition);color:var(--tx)}
.adm-rx-chip:hover{border-color:var(--p);background:var(--hover);transform:translateY(-1px)}
.adm-rx-chip.mine{background:rgba(99,102,241,.12);border-color:var(--p);color:var(--p);font-weight:600}
.adm-rx-emoji{font-size:14px;line-height:1}
.adm-rx-count{font-size:11px;font-weight:600}
.adm-rx-add{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;background:transparent;border:1px dashed var(--bdr);border-radius:14px;cursor:pointer;color:var(--tx3);transition:var(--transition);font-size:12px}
.adm-rx-add:hover{border-color:var(--p);color:var(--p);background:var(--hover)}
.adm-rx-picker{position:absolute;bottom:34px;right:0;background:var(--card);border:1px solid var(--bdr);border-radius:8px;padding:6px;box-shadow:0 4px 16px rgba(0,0,0,.15);display:flex;gap:4px;z-index:10}
.adm-rx-picker button{background:transparent;border:none;padding:4px 8px;font-size:18px;cursor:pointer;border-radius:6px;line-height:1;transition:var(--transition)}
.adm-rx-picker button:hover{background:var(--hover);transform:scale(1.2)}

/* Portal yorum reaksiyonları */
.portal-comment-reactions{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px;align-items:center;position:relative}
.portal-rx-chip{display:inline-flex;align-items:center;gap:4px;padding:3px 9px;background:var(--bg3);border:1px solid var(--bdr);border-radius:14px;cursor:pointer;font-size:12px;transition:var(--transition);color:var(--tx)}
.portal-rx-chip:hover{border-color:var(--p);background:var(--hover);transform:translateY(-1px)}
.portal-rx-chip.mine{background:rgba(14,165,233,.12);border-color:var(--p);color:var(--p);font-weight:600}
.portal-rx-emoji{font-size:14px;line-height:1}
.portal-rx-count{font-size:11px;font-weight:600}
.portal-rx-add{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;background:transparent;border:1px dashed var(--bdr);border-radius:14px;cursor:pointer;color:var(--tx3);transition:var(--transition);font-size:12px}
.portal-rx-add:hover{border-color:var(--p);color:var(--p);background:var(--hover)}
.portal-rx-picker{position:absolute;bottom:34px;right:0;background:var(--card);border:1px solid var(--bdr);border-radius:8px;padding:6px;box-shadow:0 4px 16px rgba(0,0,0,.15);display:flex;gap:4px;z-index:10}
.portal-rx-picker button{background:transparent;border:none;padding:4px 8px;font-size:18px;cursor:pointer;border-radius:6px;line-height:1;transition:var(--transition)}
.portal-rx-picker button:hover{background:var(--hover);transform:scale(1.2)}

/* Portal CSAT widget */
.portal-csat-btn{flex:1;max-width:120px;padding:12px 8px;background:var(--card);border:2px solid var(--bdr);border-radius:10px;cursor:pointer;transition:var(--transition);color:var(--tx)}
.portal-csat-btn:hover{border-color:var(--p);background:var(--hover);transform:translateY(-2px)}
.portal-csat-btn.active{border-color:var(--p);background:rgba(14,165,233,.12);box-shadow:0 4px 12px rgba(14,165,233,.25)}
.portal-csat-btn[data-score="1"].active{border-color:#ef4444;background:rgba(239,68,68,.1);box-shadow:0 4px 12px rgba(239,68,68,.25)}
.portal-csat-btn[data-score="2"].active{border-color:#f59e0b;background:rgba(245,158,11,.1);box-shadow:0 4px 12px rgba(245,158,11,.25)}
.portal-csat-btn[data-score="3"].active{border-color:#16a34a;background:rgba(22,163,74,.1);box-shadow:0 4px 12px rgba(22,163,74,.25)}

/* Portal-setup sayfası (login öncesi davet linki) */
.setup-page-shell{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#0c4a6e,#0e7490);padding:20px}
.setup-card{max-width:440px;width:100%;background:var(--card);border-radius:16px;padding:32px;box-shadow:0 20px 60px rgba(0,0,0,.3)}
[data-theme="dark"] .setup-card{background:var(--bg2)}

/* ===== BİLDİRİM MERKEZİ — tam sayfa ===== */
.ntf-page-toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.ntf-search{position:relative;flex:1;min-width:200px}
.ntf-search>i{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--tx3);font-size:14px;pointer-events:none}
.ntf-search input{width:100%;padding:8px 12px 8px 32px;border:1px solid var(--bdr);border-radius:8px;background:var(--card);color:var(--tx);font-size:13px;transition:border-color .2s,box-shadow .2s}
.ntf-search input:focus{outline:none;border-color:var(--p);box-shadow:0 0 0 3px color-mix(in srgb,var(--p) 18%,transparent)}

.ntf-cat-chips{display:flex;flex-wrap:wrap;gap:6px}
.ntf-cat-chip{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border:1px solid var(--bdr);border-radius:18px;background:var(--card);font-size:12px;font-weight:600;cursor:pointer;transition:all .2s;color:inherit}
.ntf-cat-chip:hover{transform:translateY(-1px);box-shadow:0 2px 6px rgba(0,0,0,.08)}
.ntf-cat-chip.active{box-shadow:0 2px 8px rgba(0,0,0,.15)}
.ntf-cat-chip .bi{font-size:13px}
.ntf-cat-count{display:inline-block;min-width:20px;text-align:center;padding:1px 6px;background:rgba(0,0,0,.08);color:inherit;border-radius:10px;font-size:11px;font-weight:700}
.ntf-cat-chip.active .ntf-cat-count{background:rgba(255,255,255,.25)}

.ntf-bulk-bar{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 14px;background:color-mix(in srgb,var(--p) 8%,var(--card));border:1px solid color-mix(in srgb,var(--p) 30%,transparent);border-radius:10px;margin-bottom:12px;position:sticky;top:0;z-index:5}
.ntf-bulk-info{font-size:13px;color:var(--p);font-weight:600}

.ntf-page-list{display:flex;flex-direction:column;gap:6px}
.ntf-row{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;background:var(--card);border:1px solid var(--bdr);border-radius:10px;cursor:pointer;transition:all .15s;position:relative}
.ntf-row:hover{border-color:var(--p);transform:translateY(-1px);box-shadow:0 2px 8px rgba(0,0,0,.06)}
.ntf-row.unread{background:color-mix(in srgb,var(--p) 4%,var(--card));border-color:color-mix(in srgb,var(--p) 25%,var(--bdr))}
.ntf-row-check{display:flex;align-items:center;padding:4px 0}
.ntf-row-check input{cursor:pointer;width:16px;height:16px;accent-color:var(--p)}
.ntf-row-icon{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:16px}
.ntf-row-body{flex:1;min-width:0}
.ntf-row-head{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-bottom:3px}
.ntf-row-title{font-size:14px;font-weight:600;color:var(--tx)}
.ntf-row-msg{font-size:13px;color:var(--tx2);line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;word-break:break-word}
.ntf-row-meta{font-size:11px;color:var(--tx3);margin-top:4px}
.ntf-row-meta .bi{font-size:11px}
.ntf-row-dot{width:8px;height:8px;background:var(--p);border-radius:50%;flex-shrink:0;margin-left:auto}
.ntf-type-badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:6px;font-size:10px;font-weight:600;white-space:nowrap}
.ntf-row-actions{display:flex;gap:4px;flex-shrink:0;opacity:0;transition:opacity .15s}
.ntf-row:hover .ntf-row-actions{opacity:1}
.ntf-row-act{background:transparent;border:1px solid var(--bdr);border-radius:6px;width:28px;height:28px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--tx2);font-size:13px;transition:all .15s;padding:0}
.ntf-row-act:hover{background:var(--hover);color:var(--p);border-color:var(--p)}

/* ===== BELL PANEL — kategori chip bar + tip badge ===== */
.ntf-panel-cats::-webkit-scrollbar{height:4px}
.ntf-panel-cats::-webkit-scrollbar-thumb{background:var(--bdr);border-radius:2px}
.ntf-pcat{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;border:1px solid;border-radius:14px;background:var(--card);font-size:11px;cursor:pointer;white-space:nowrap;transition:all .15s;font-weight:600;flex-shrink:0}
.ntf-pcat:hover{transform:translateY(-1px)}
.ntf-pcat .bi{font-size:11px}
.ntf-pcat-cnt{background:rgba(0,0,0,.1);padding:0 5px;border-radius:8px;font-size:10px;line-height:1.5;font-weight:700}
.ntf-pcat.active .ntf-pcat-cnt{background:rgba(255,255,255,.3)}
.ntf-row-btn{width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:5px}
.ntf-row-btn:hover{background:var(--hover);color:var(--p)!important}
.ntf-panel-footer a:hover{text-decoration:underline!important}

/* ===== PUSH PROMPT BANNER (panel içi) ===== */
.ntf-push-banner{margin:10px 12px 0;padding:12px;background:linear-gradient(135deg,color-mix(in srgb,var(--p) 12%,var(--card)),color-mix(in srgb,var(--p) 6%,var(--card)));border:1px solid color-mix(in srgb,var(--p) 30%,transparent);border-radius:10px}
.ntf-push-banner-inner{display:flex;align-items:flex-start;gap:10px}
.ntf-push-icon{width:36px;height:36px;background:var(--p);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;animation:pulseDot 2s infinite}
.ntf-push-text{flex:1;min-width:0}
.ntf-push-title{font-size:13px;font-weight:700;color:var(--tx);margin-bottom:2px}
.ntf-push-msg{font-size:12px;color:var(--tx2);line-height:1.4}

/* ===== MOBILE BOTTOM-SHEET (bell panel < 600px) ===== */
@media (max-width:600px){
  #ntfPanel{position:fixed!important;left:0!important;right:0!important;bottom:0!important;top:auto!important;width:100%!important;max-width:none!important;max-height:80vh!important;border-radius:16px 16px 0 0!important;border:none!important;box-shadow:0 -8px 32px rgba(0,0,0,.25)!important;animation:ntfSheetSlide .25s ease-out}
  #ntfPanel::before{content:'';display:block;width:40px;height:4px;background:var(--bdr);border-radius:2px;margin:8px auto -4px}
  .ntf-page-toolbar{flex-direction:column;align-items:stretch}
  .ntf-search{min-width:0}
  .ntf-row-actions{opacity:1}
  .ntf-bulk-bar{position:fixed;bottom:0;left:0;right:0;border-radius:0;margin:0;z-index:200;box-shadow:0 -4px 12px rgba(0,0,0,.15)}
}
@keyframes ntfSheetSlide{from{transform:translateY(100%)}to{transform:translateY(0)}}

/* Dark mode tweaks */
[data-theme="dark"] .ntf-cat-count{background:rgba(255,255,255,.08)}
[data-theme="dark"] .ntf-pcat-cnt{background:rgba(255,255,255,.1)}

/* ===== YÖNETİM WIDGET'LARI ===== */
.mgmt-hero-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.mgmt-hero-card{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:12px}
.mgmt-hero-icon{font-size:28px;flex-shrink:0}
.mgmt-hero-val{font-size:28px;font-weight:800;line-height:1.1}
.mgmt-hero-lbl{font-size:12px;color:var(--tx2);font-weight:600}
@media (max-width:768px){.mgmt-hero-grid{grid-template-columns:repeat(2,1fr)}}

/* Top/Bottom performance kartları */
.tb-card{background:var(--card);border:1px solid var(--bdr);border-radius:10px;padding:10px;height:100%}
.tb-top{border-left:4px solid #22c55e}
.tb-bot{border-left:4px solid #ef4444}
.tb-head{font-size:12px;font-weight:700;text-transform:uppercase;color:var(--tx2);letter-spacing:.5px;margin-bottom:6px;padding-bottom:6px;border-bottom:1px solid var(--bdr)}
.tb-row{display:flex;align-items:center;gap:10px;padding:6px 0;border-bottom:1px dashed var(--bdr)}
.tb-row:last-child{border-bottom:none}
.tb-rank{width:32px;text-align:center;font-size:18px;flex-shrink:0}
.tb-name{flex:1;min-width:0;font-size:13px}
.tb-name>b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tb-sub{font-size:10px;color:var(--tx3);font-weight:500}
.tb-metric{text-align:right;font-size:15px;font-weight:800;min-width:60px}

/* Monthly Revenue */
.mr-main{padding:8px 0;text-align:center}
.mr-rev{font-size:36px;font-weight:800;color:#059669;line-height:1;letter-spacing:-.5px}
.mr-cur{font-size:20px;font-weight:700;color:#059669;opacity:.8}
.mr-sub{font-size:12px;color:var(--tx2);margin-top:4px}
.mr-stats{display:flex;flex-wrap:wrap;gap:6px;justify-content:center}
.mr-pill{display:inline-flex;align-items:center;padding:4px 10px;border-radius:14px;font-size:11px;font-weight:600}

/* Aging Summary */
.ag-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.ag-cell{padding:8px;border-radius:8px;text-align:center}
.ag-cell-num{font-size:20px;font-weight:800;line-height:1}
.ag-cell-lbl{font-size:10px;font-weight:600;color:var(--tx2);margin-top:2px}
.ag-oldest{margin-top:8px;padding:8px 10px;background:var(--bg);border:1px solid var(--bdr);border-radius:8px;font-size:12px;line-height:1.4;transition:all .15s}
.ag-oldest:hover{border-color:var(--p);background:var(--hover)}
@media (max-width:768px){.ag-grid{grid-template-columns:repeat(2,1fr)}}

/* ===== TEKLİF KANBAN PIPELINE ===== */
.prp-kanban{display:flex;gap:10px;overflow-x:auto;padding-bottom:8px;min-height:60vh}
.prp-kn-col{flex:0 0 280px;border:1px solid var(--bdr);border-radius:10px;display:flex;flex-direction:column;max-height:75vh}
.prp-kn-col-head{padding:10px 12px;display:flex;justify-content:space-between;align-items:center;background:var(--card);border-radius:10px 10px 0 0}
.prp-kn-col-body{flex:1;overflow-y:auto;padding:8px;display:flex;flex-direction:column;gap:6px;min-height:60px}
.prp-kn-card{background:var(--card);border:1px solid var(--bdr);border-radius:8px;padding:8px 10px;cursor:grab;font-size:12px;transition:all .15s;box-shadow:0 1px 2px rgba(0,0,0,.04)}
.prp-kn-card:hover{border-color:var(--p);transform:translateY(-1px);box-shadow:0 2px 6px rgba(0,0,0,.1)}
.prp-kn-card:active{cursor:grabbing}
.prp-kn-head{font-size:12px;margin-bottom:2px}
.prp-kn-title{font-size:13px;font-weight:600;line-height:1.3;color:var(--tx);max-height:34px;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.prp-kn-co{font-size:11px}
.prp-kn-ghost{opacity:.4;background:color-mix(in srgb,var(--p) 10%,var(--card));border:2px dashed var(--p)}
@media (max-width:768px){.prp-kn-col{flex:0 0 240px}}

/* ===== TEKLİF FORM MOBİL UYUM ===== */
@media (max-width:768px){
  .prp-form-modal .modal-content{border-radius:0!important}
  .prp-form-modal .row.g-2>div,
  .prp-form-modal .row.g-3>div{margin-bottom:8px}
  .prp-form-modal .form-label{font-size:12px!important;margin-bottom:2px}
  .prp-form-modal .form-control-sm,
  .prp-form-modal .form-select-sm{font-size:14px!important;min-height:40px}
  .prp-form-modal #prpItemsTbl{font-size:11px}
  .prp-form-modal #prpItemsTbl th,
  .prp-form-modal #prpItemsTbl td{padding:4px 3px!important}
  .prp-form-modal #prpItemsTbl input{font-size:12px;min-width:50px}
  .prp-form-modal #prpItemsTbl .prp-drag-handle{display:none}
  .prp-form-modal #prpTotals .row>div{padding:4px 8px;font-size:12px}
  .prp-form-modal .ql-toolbar{flex-wrap:wrap!important}
  .prp-form-modal .modal-footer{position:sticky;bottom:0;background:var(--card);border-top:1px solid var(--bdr);z-index:2}
  .prp-form-modal .modal-footer .btn{width:100%;padding:10px}
}
@media (max-width:480px){
  .prp-form-modal #prpItemsTbl th:nth-child(3),
  .prp-form-modal #prpItemsTbl td:nth-child(3){display:none} /* Kod sütununu gizle (ad zaten unique) */
}

/* ===== SLA ESCALATION TIMELINE ===== */
.sla-timeline{margin:8px 0;padding:14px 12px;background:var(--bg);border:1px solid var(--bdr);border-radius:8px}
.sla-tl-track{position:relative;height:54px}
.sla-tl-line{position:absolute;top:50%;left:0;right:0;height:2px;background:var(--bdr);transform:translateY(-1px)}
.sla-tl-due{position:absolute;top:8px;transform:translateX(-50%);background:#3b82f6;color:#fff;padding:2px 8px;border-radius:4px;font-size:10px;font-weight:700;white-space:nowrap;box-shadow:0 1px 3px rgba(0,0,0,.15)}
.sla-tl-due::after{content:'';position:absolute;left:50%;top:100%;width:2px;height:14px;background:#3b82f6;transform:translateX(-50%)}
.sla-tl-mark{position:absolute;top:50%;transform:translate(-50%,-50%);width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:11px;cursor:help;box-shadow:0 1px 3px rgba(0,0,0,.2);z-index:1}
.sla-tl-lbl{position:absolute;top:24px;left:50%;transform:translateX(-50%);font-size:9px;font-weight:600;color:var(--tx2);white-space:nowrap;background:var(--card);padding:0 3px;border-radius:3px}

/* ===== AUDIT LOG SUMMARY CARDS ===== */
.al-summary-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}
.al-sum-card{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:8px;border:1px solid;background:var(--card)}
.al-sum-icon{font-size:22px;flex-shrink:0}
.al-sum-val{font-size:20px;font-weight:800;line-height:1.1}
.al-sum-lbl{font-size:11px;color:var(--tx2);font-weight:600}
@keyframes alSumPulse{0%,100%{box-shadow:0 0 0 0 rgba(220,38,38,.4)}50%{box-shadow:0 0 0 6px rgba(220,38,38,0)}}
@media (max-width:1200px){.al-summary-grid{grid-template-columns:repeat(4,1fr)}}
@media (max-width:768px){.al-summary-grid{grid-template-columns:repeat(2,1fr)}.al-sum-val{font-size:16px}.al-sum-icon{font-size:18px}}

/* ===== E-POSTA ŞABLONLARI: KATEGORİ AKORDION + TOOLBAR ===== */
.tpl-cat-group{border:1px solid var(--bdr);border-radius:8px;background:var(--card);padding:8px 12px}
.tpl-cat-group[open]{padding-bottom:12px}
.tpl-cat-head{cursor:pointer;font-size:13px;padding:6px 0;display:flex;align-items:center;list-style:none;user-select:none}
.tpl-cat-head::-webkit-details-marker{display:none}
.tpl-cat-head::before{content:'\f282';font-family:'bootstrap-icons';margin-right:6px;font-size:11px;color:var(--tx3);transition:transform .2s}
.tpl-cat-group[open] .tpl-cat-head::before{transform:rotate(90deg)}
.tpl-toolbar .vr{height:24px;border-left:1px solid var(--bdr);margin:0 4px}
.tpl-toolbar .btn-sm{padding:4px 10px;min-width:34px;font-size:13px}
.tpl-varref summary{outline:none}
.tpl-varref code{cursor:pointer;transition:all .15s}
.tpl-varref code:hover{background:color-mix(in srgb,var(--p) 15%,var(--card))!important;color:var(--p)}

/* ===== MÜŞTERİ PORTALI: MOBİL UYUM ===== */
/* Tüm tablet boyutlarında portal layout sıkışmasın */
@media (max-width:768px){
  [data-portal="true"] .portal-header-inner{padding:10px 14px;gap:8px}
  [data-portal="true"] .portal-main{padding:16px 14px}
  [data-portal="true"] .portal-welcome{padding:18px 20px;gap:14px}
  [data-portal="true"] .portal-welcome h2{font-size:18px!important}
  [data-portal="true"] .portal-welcome p{font-size:13px}
  [data-portal="true"] .portal-nav-mob{display:flex!important;overflow-x:auto;scrollbar-width:none;gap:4px;padding:4px 14px 8px;border-bottom:1px solid var(--bdr)}
  [data-portal="true"] .portal-nav-mob::-webkit-scrollbar{display:none}
  [data-portal="true"] .portal-nav-mob a{flex-shrink:0;font-size:13px;padding:8px 12px;min-height:38px;display:flex;align-items:center;white-space:nowrap}
  [data-portal="true"] .portal-filter-bar{flex-wrap:wrap;gap:8px}
  [data-portal="true"] .portal-filter-bar>*{flex:1 1 calc(50% - 4px);max-width:none!important;min-width:140px}
  [data-portal="true"] .portal-filter-bar input[type=date]{width:auto!important;flex:1 1 calc(50% - 4px)}
  [data-portal="true"] .portal-ticket-row{padding:12px 14px;gap:8px}
  [data-portal="true"] .portal-ticket-row h6{font-size:14px!important}
  [data-portal="true"] .portal-att-item{min-width:0!important;width:100%;max-width:none}
  [data-portal="true"] .portal-att-name{max-width:none!important;white-space:normal!important;word-break:break-word}
  [data-portal="true"] .portal-comment{padding:12px 14px}
  [data-portal="true"] .btn-portal-primary{padding:11px 22px;min-height:44px;font-size:14px}
  [data-portal="true"] #ntfWrap>button,
  [data-portal="true"] .portal-header .btn-link{min-width:40px;min-height:40px;display:inline-flex;align-items:center;justify-content:center}
}
@media (max-width:600px){
  [data-portal="true"] .portal-header-inner{flex-wrap:wrap}
  [data-portal="true"] .portal-welcome{flex-direction:column;align-items:flex-start;text-align:left}
  [data-portal="true"] .portal-welcome>*:last-child{align-self:stretch}
  [data-portal="true"] .row.g-2,
  [data-portal="true"] .row.g-3{margin:0}
  [data-portal="true"] .row .col-md-6{padding-left:0;padding-right:0;margin-bottom:8px}
  [data-portal="true"] .portal-csat-btn{max-width:none!important}
  [data-portal="true"] .ql-toolbar{flex-wrap:wrap!important}
}
@media (max-width:480px){
  [data-portal="true"] .portal-main{padding:12px 12px}
  [data-portal="true"] .portal-welcome{padding:14px 16px}
  [data-portal="true"] .portal-ticket-row{flex-direction:column;align-items:flex-start}
  [data-portal="true"] .portal-nav-mob{padding:4px 12px 6px}
  [data-portal="true"] .btn-sm{padding:8px 12px;min-height:38px;font-size:13px}
}

/* ===== SİSTEM SAĞLIĞI: mobil pre/code wrap düzeltme ===== */
@media (max-width:600px){
  .modal pre{white-space:pre-wrap!important;word-break:break-word!important;font-size:11px!important;max-width:100%}
  .modal code{word-break:break-word}
  .modal-body table{display:block;overflow-x:auto;font-size:11px}
}

/* ===== KARANLIK MOD: HARDCODED TINT ARKA PLAN ADAPTASYONLARI =====
   Inline style="background:#XXX" ile yazılmış tint kutular için dark mode override.
   !important ile inline style geçilir. Görseller eşdeğer "tint" hissini korurken karanlık temaya uyum sağlar. */
[data-theme="dark"] [style*="background:#fee2e2"],
[data-theme="dark"] [style*="background: #fee2e2"],
[data-theme="dark"] [style*="background:#fef2f2"],
[data-theme="dark"] [style*="background: #fef2f2"]{background:rgba(239,68,68,.18)!important;color:#fca5a5!important;border-color:rgba(239,68,68,.3)!important}
[data-theme="dark"] [style*="background:#fef9c3"],
[data-theme="dark"] [style*="background: #fef9c3"],
[data-theme="dark"] [style*="background:#fffbeb"],
[data-theme="dark"] [style*="background: #fffbeb"],
[data-theme="dark"] [style*="background:#fef3c7"],
[data-theme="dark"] [style*="background: #fef3c7"]{background:rgba(245,158,11,.15)!important;color:#fcd34d!important;border-color:rgba(245,158,11,.3)!important}
[data-theme="dark"] [style*="background:#dcfce7"],
[data-theme="dark"] [style*="background: #dcfce7"],
[data-theme="dark"] [style*="background:#ecfdf5"],
[data-theme="dark"] [style*="background: #ecfdf5"]{background:rgba(34,197,94,.15)!important;color:#86efac!important;border-color:rgba(34,197,94,.3)!important}
[data-theme="dark"] [style*="background:#eef2ff"],
[data-theme="dark"] [style*="background: #eef2ff"],
[data-theme="dark"] [style*="background:#eff6ff"],
[data-theme="dark"] [style*="background: #eff6ff"]{background:rgba(99,102,241,.15)!important;color:#a5b4fc!important;border-color:rgba(99,102,241,.3)!important}
[data-theme="dark"] [style*="background:#fff7ed"],
[data-theme="dark"] [style*="background: #fff7ed"],
[data-theme="dark"] [style*="background:#ffedd5"],
[data-theme="dark"] [style*="background: #ffedd5"]{background:rgba(249,115,22,.15)!important;color:#fdba74!important;border-color:rgba(249,115,22,.3)!important}
[data-theme="dark"] [style*="background:#ecfeff"],
[data-theme="dark"] [style*="background:#cffafe"]{background:rgba(6,182,212,.15)!important;color:#67e8f9!important;border-color:rgba(6,182,212,.3)!important}
[data-theme="dark"] [style*="background:#f1f5f9"],
[data-theme="dark"] [style*="background:#f3f4f6"],
[data-theme="dark"] [style*="background:#f9fafb"]{background:var(--bg3)!important}
[data-theme="dark"] [style*="background:#ecfccb"]{background:rgba(132,204,22,.15)!important;color:#bef264!important;border-color:rgba(132,204,22,.3)!important}
/* Hex shorthand içeren özel durumlar: text rengi açık olanlarda override edilen color'a karşı bazı içerik color'larını koruma */
[data-theme="dark"] [style*="background:#fee2e2"] b,
[data-theme="dark"] [style*="background:#fef2f2"] b,
[data-theme="dark"] [style*="background:#fef9c3"] b,
[data-theme="dark"] [style*="background:#dcfce7"] b{color:inherit!important}

/* WhatsApp panel — sayfa scroll'unu kapat, .main flex chain ile viewport içine sığdır.
   #pg'nin başına eklenen .breadcrumb-bar gizlenir (afterbegin insert nedeniyle wa-page direct
   child değildir). .pg flex column olur, wa-page flex:1 ile kalan tüm boşluğu doldurur. */
body:has(.wa-page) { overflow: hidden !important; }
.main:has(.wa-page) {
  height: 100vh !important;
  min-height: 100vh !important;
  max-height: 100vh !important;
  /* dvh: mobil URL bar/klavye açıkken kompozer görünür kalsın (100vh görünenden büyük olabiliyor) */
  height: 100dvh !important;
  min-height: 100dvh !important;
  max-height: 100dvh !important;
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
}
.main:has(.wa-page) .top-bar { flex-shrink: 0; position: relative; }
.main:has(.wa-page) > footer { flex-shrink: 0; }
.pg:has(.wa-page) {
  padding: 0 !important;
  flex: 1 1 0 !important;
  min-height: 0 !important;
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
}
/* Breadcrumb wa-page üstüne gereksiz — gizle, dikey alanı geri kazan */
.pg:has(.wa-page) > .breadcrumb-bar { display: none !important; }
.pg .wa-page {
  flex: 1 1 0 !important;
  height: auto !important;
  max-height: 100% !important;
  min-height: 0 !important;
}

/* Sağ detay paneli collapse — konuşma alanı genişler */
.wa-page.wa-detail-collapsed .wa-detail-pane { display: none !important; }

/* WhatsApp panel — mobile responsive: 768px altında konuşma açılınca sol liste gizlenir,
   geri butonu ile listeye dön */
.wa-page .wa-mobile-back { display: none; }
@media (max-width: 768px) {
  /* !important ŞART: pane'ler inline style="display:flex;width:340px" taşıyor — important'sız
     bu kurallar hiç uygulanmıyordu, mobilde iki pane yan yana render olup konuşma ekran dışına taşıyordu. */
  .wa-page .wa-list-pane { width: 100% !important; min-width: 0 !important; }
  .wa-page .wa-conv-pane { display: none !important; }
  .wa-page .wa-detail-pane { display: none !important; }
  .wa-page.wa-conv-active .wa-list-pane { display: none !important; }
  .wa-page.wa-conv-active .wa-conv-pane { display: flex !important; flex: 1 1 auto !important; width: 100% !important; }
  .wa-page.wa-conv-active .wa-mobile-back { display: inline-flex !important; }
}

/* === WhatsApp Conversation Modern Polish === */
/* Doodle pattern background — WhatsApp benzeri (light + dark mode) */
#waMessages {
  background-color: #efeae2;
  background-image:
    radial-gradient(circle at 25% 25%, rgba(0,0,0,.025) 1.5px, transparent 1.5px),
    radial-gradient(circle at 75% 75%, rgba(0,0,0,.025) 1.5px, transparent 1.5px),
    radial-gradient(circle at 50% 0%, rgba(0,0,0,.02) 1px, transparent 1px),
    radial-gradient(circle at 0% 50%, rgba(0,0,0,.02) 1px, transparent 1px);
  background-size: 40px 40px, 40px 40px, 20px 20px, 20px 20px;
}
[data-theme="dark"] #waMessages {
  background-color: #0b141a;
  background-image:
    radial-gradient(circle at 25% 25%, rgba(255,255,255,.025) 1.5px, transparent 1.5px),
    radial-gradient(circle at 75% 75%, rgba(255,255,255,.025) 1.5px, transparent 1.5px);
}

/* Mesaj bubble base — daha yumuşak gölge, smooth animation */
.wa-bubble {
  position: relative;
  padding: 7px 10px 5px 10px;
  border-radius: 7.5px;
  max-width: 70%;
  margin-bottom: 2px;
  box-shadow: 0 1px 0.5px rgba(0,0,0,.13);
  word-wrap: break-word;
  animation: waBubbleIn .18s ease-out;
}
@keyframes waBubbleIn {
  from { opacity: 0; transform: translateY(6px); }
  to { opacity: 1; transform: translateY(0); }
}
.wa-bubble-out { background: #d9fdd3; align-self: flex-end; border-top-right-radius: 0; }
.wa-bubble-in  { background: #ffffff; align-self: flex-start; border-top-left-radius: 0; }
[data-theme="dark"] .wa-bubble-out { background: #005c4b; color: #e9edef; }
[data-theme="dark"] .wa-bubble-in  { background: #202c33; color: #e9edef; }

/* Consecutive (grouped) bubbles — köşe yumuşatma */
.wa-bubble.wa-bubble-grouped.wa-bubble-out { border-top-right-radius: 7.5px; }
.wa-bubble.wa-bubble-grouped.wa-bubble-in  { border-top-left-radius: 7.5px; }

/* Sentiment border (sol kenar şerit) */
.wa-bubble.wa-sentiment-negative { border-left: 3px solid #f59e0b; }
.wa-bubble.wa-sentiment-angry { border-left: 3px solid #dc2626; }
.wa-bubble.wa-sentiment-positive { border-left: 3px solid #10b981; }

/* Time + status footer */
.wa-bubble-meta {
  font-size: 11px;
  color: rgba(0,0,0,.45);
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 3px;
  margin-top: 2px;
  line-height: 1;
}
[data-theme="dark"] .wa-bubble-meta { color: rgba(233,237,239,.55); }
.wa-tick-read { color: #53bdeb; }

/* Tarih ayraçları — sticky chip */
.wa-date-sep {
  align-self: center;
  background: rgba(225,245,254,.92);
  color: #6b7280;
  font-size: 12px;
  font-weight: 500;
  padding: 4px 10px;
  border-radius: 6px;
  margin: 14px 0 10px;
  box-shadow: 0 1px 1px rgba(0,0,0,.05);
  position: sticky;
  top: 6px;
  z-index: 2;
}
[data-theme="dark"] .wa-date-sep { background: #1f2c33; color: #aebac1; }

/* Reply context (yanıtlanan mesaja referans) */
.wa-reply-ctx {
  background: rgba(0,0,0,.04);
  border-left: 3px solid #25d366;
  padding: 4px 8px;
  border-radius: 4px;
  margin-bottom: 4px;
  font-size: 12px;
  cursor: pointer;
}
.wa-bubble-out .wa-reply-ctx { background: rgba(0,0,0,.06); }
[data-theme="dark"] .wa-reply-ctx { background: rgba(255,255,255,.06); border-left-color: #00a884; }
.wa-reply-ctx-sender { font-weight: 600; color: #25d366; font-size: 11px; }
.wa-reply-ctx-body { color: rgba(0,0,0,.6); font-size: 12px; max-height: 32px; overflow: hidden; }
[data-theme="dark"] .wa-reply-ctx-body { color: rgba(233,237,239,.65); }

/* Hover action menu (Reply, vs) — bubble üstünde göster */
.wa-bubble-actions {
  position: absolute;
  top: 3px;
  right: 3px;
  display: none;
  background: rgba(255,255,255,.95);
  border-radius: 4px;
  box-shadow: 0 1px 4px rgba(0,0,0,.15);
}
.wa-bubble:hover .wa-bubble-actions { display: flex; }
.wa-bubble-actions button {
  background: none; border: none; padding: 3px 6px; cursor: pointer;
  font-size: 12px; color: #54656f;
}
.wa-bubble-actions button:hover { background: rgba(0,0,0,.05); border-radius: 3px; }
[data-theme="dark"] .wa-bubble-actions { background: rgba(32,44,51,.95); }
[data-theme="dark"] .wa-bubble-actions button { color: #aebac1; }

/* Active reply preview (input üstünde) */
.wa-reply-preview {
  background: rgba(0,168,132,.1);
  border-left: 3px solid #25d366;
  padding: 6px 10px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 12px;
}
.wa-reply-preview-content { flex: 1; min-width: 0; }
.wa-reply-preview-sender { font-weight: 600; color: #25d366; font-size: 11px; }
.wa-reply-preview-body { color: #54656f; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
[data-theme="dark"] .wa-reply-preview-body { color: #aebac1; }

/* Image lightbox modal */
.wa-lightbox {
  position: fixed;
  top: 0; left: 0; right: 0; bottom: 0;
  background: rgba(0,0,0,.92);
  display: flex; align-items: center; justify-content: center;
  z-index: 9999;
  animation: waBubbleIn .15s ease-out;
}
.wa-lightbox img { max-width: 95vw; max-height: 92vh; box-shadow: 0 8px 32px rgba(0,0,0,.5); }
.wa-lightbox-close {
  position: absolute; top: 16px; right: 16px;
  background: rgba(255,255,255,.1); color: #fff;
  width: 40px; height: 40px; border-radius: 50%; border: none;
  font-size: 22px; cursor: pointer; display: flex; align-items: center; justify-content: center;
}
.wa-lightbox-close:hover { background: rgba(255,255,255,.2); }

/* Drag-drop overlay */
.wa-drop-overlay {
  position: absolute; inset: 0;
  background: rgba(37,211,102,.15);
  border: 3px dashed #25d366;
  border-radius: 8px;
  display: flex; align-items: center; justify-content: center;
  color: #25d366; font-size: 18px; font-weight: 600;
  pointer-events: none;
  z-index: 5;
}

/* Bubble body image (inline) */
.wa-bubble-img {
  display: block;
  max-width: 280px;
  max-height: 320px;
  border-radius: 6px;
  cursor: zoom-in;
  margin-bottom: 4px;
}

/* === Polished List Pane === */
.wa-list-pane-header { padding: 10px; background: #f0f2f5; border-bottom: 1px solid var(--bdr2); flex-shrink: 0; }
[data-theme="dark"] .wa-list-pane-header { background: #202c33; }

.wa-tabs { display: flex; gap: 4px; flex-wrap: wrap; }
.wa-tab {
  padding: 3px 10px;
  border: 1px solid #25d366;
  background: #fff;
  color: #25d366;
  border-radius: 14px;
  font-size: 11px;
  font-weight: 500;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  transition: all .15s;
}
.wa-tab:hover { background: #f0fdf4; }
.wa-tab.active { background: #25d366; color: #fff; }
.wa-tab.secondary { border-color: #9ca3af; color: #6b7280; }
.wa-tab.secondary:hover { background: #f3f4f6; }
.wa-tab.secondary.active { background: #6b7280; color: #fff; }
.wa-tab .wa-tab-count {
  background: rgba(0,0,0,.08);
  color: inherit;
  padding: 0 6px;
  border-radius: 8px;
  font-size: 9px;
  min-width: 14px;
  text-align: center;
}
.wa-tab.active .wa-tab-count { background: rgba(255,255,255,.28); }
[data-theme="dark"] .wa-tab { background: #2a3942; }
[data-theme="dark"] .wa-tab:hover { background: #374248; }

.wa-list-item {
  display: flex;
  gap: 10px;
  padding: 11px 12px;
  border-bottom: 1px solid #f3f4f6;
  cursor: pointer;
  position: relative;
  transition: background .12s;
}
.wa-list-item:hover { background: #f9fafb; }
.wa-list-item.active { background: #e7f3ff; }
.wa-list-item.active::before {
  content: ''; position: absolute; left: 0; top: 12%; bottom: 12%;
  width: 3px; background: #25d366; border-radius: 0 3px 3px 0;
}
/* Çoklu seçim modu — seçili konuşma görsel feedback */
.wa-list-item.selected { background: #fef3c7 !important; }
.wa-list-item.selected:hover { background: #fde68a !important; }
[data-theme="dark"] .wa-list-item.selected { background: #422d0c !important; }
[data-theme="dark"] .wa-list-item.selected:hover { background: #4a3613 !important; }
[data-theme="dark"] .wa-list-item { border-bottom-color: #2a3942; }
[data-theme="dark"] .wa-list-item:hover { background: #202c33; }
[data-theme="dark"] .wa-list-item.active { background: #2a3942; }

.wa-avatar {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 600;
  font-size: 15px;
  color: #fff;
  flex-shrink: 0;
}
.wa-avatar-sm { width: 36px; height: 36px; font-size: 13px; }
.wa-avatar-lg { width: 52px; height: 52px; font-size: 18px; }

.wa-list-body { flex: 1; min-width: 0; }
.wa-list-name-row { display: flex; justify-content: space-between; align-items: center; gap: 6px; }
.wa-list-name { font-size: 14px; font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; flex: 1; min-width: 0; display: flex; align-items: center; gap: 4px; }
.wa-list-time { font-size: 11px; color: #9ca3af; flex-shrink: 0; }
.wa-list-snippet { font-size: 13px; color: #6b7280; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-top: 2px; }
[data-theme="dark"] .wa-list-snippet { color: #aebac1; }
.wa-list-meta { display: flex; justify-content: space-between; align-items: center; margin-top: 3px; gap: 6px; }
.wa-list-company { font-size: 11px; color: #9ca3af; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; flex: 1; }
.wa-list-unread {
  background: #25d366;
  color: #fff;
  padding: 1px 7px;
  border-radius: 10px;
  font-size: 10px;
  font-weight: 600;
  min-width: 18px;
  text-align: center;
  flex-shrink: 0;
}
.wa-list-tags { display: flex; gap: 3px; margin-top: 4px; flex-wrap: wrap; }
.wa-list-tag {
  padding: 1px 6px;
  font-size: 9px;
  border-radius: 4px;
  font-weight: 500;
  border: 1px solid;
}

/* === Polished Conv Header === */
.wa-conv-header {
  background: #f0f2f5;
  padding: 10px 14px;
  border-bottom: 1px solid var(--bdr2);
  display: flex;
  align-items: center;
  gap: 10px;
  flex-shrink: 0;
}
[data-theme="dark"] .wa-conv-header { background: #202c33; border-bottom-color: #2a3942; }
.wa-conv-info { flex: 1; min-width: 0; }
.wa-conv-info b { font-size: 14px; display: block; }
.wa-conv-info small { font-size: 12px; color: #6b7280; display: flex; align-items: center; gap: 6px; margin-top: 1px; }
[data-theme="dark"] .wa-conv-info small { color: #aebac1; }
.wa-window-chip {
  font-size: 11px;
  padding: 1px 8px;
  border-radius: 10px;
  font-weight: 500;
  display: inline-flex;
  align-items: center;
  gap: 3px;
}
.wa-window-chip.ok { background: #dcfce7; color: #166534; }
.wa-window-chip.warn { background: #fef3c7; color: #92400e; }
.wa-window-chip.bad { background: #fee2e2; color: #991b1b; }

.wa-icon-btn {
  width: 34px; height: 34px;
  border-radius: 50%;
  border: none;
  background: transparent;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #54656f;
  font-size: 16px;
  transition: background .12s;
}
.wa-icon-btn:hover { background: rgba(0,0,0,.05); }
.wa-icon-btn:disabled { opacity: .4; cursor: not-allowed; }
[data-theme="dark"] .wa-icon-btn { color: #aebac1; }
[data-theme="dark"] .wa-icon-btn:hover { background: rgba(255,255,255,.08); }

/* === Polished Reply Bar === */
.wa-reply-bar { padding: 8px 12px; background: #f0f2f5; border-top: 1px solid var(--bdr2); flex-shrink: 0; }
[data-theme="dark"] .wa-reply-bar { background: #202c33; border-top-color: #2a3942; }
.wa-reply-row { display: flex; gap: 6px; align-items: center; }
.wa-reply-input {
  flex: 1;
  padding: 9px 14px;
  border: 1px solid #d1d5db;
  border-radius: 20px;
  font-size: 14px;
  background: #fff;
  outline: none;
}
.wa-reply-input:focus { border-color: #25d366; }
.wa-reply-input:disabled { background: #f3f4f6; color: #9ca3af; }
[data-theme="dark"] .wa-reply-input { background: #2a3942; color: #e9edef; border-color: #2a3942; }
[data-theme="dark"] .wa-reply-input:focus { border-color: #00a884; }
.wa-send-btn {
  width: 38px; height: 38px;
  border-radius: 50%;
  border: none;
  background: #25d366;
  color: #fff;
  cursor: pointer;
  font-size: 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.wa-send-btn:hover { background: #128c7e; }
.wa-send-btn:disabled { background: #d1d5db; cursor: not-allowed; }

/* === Polished Detail Pane === */
.wa-detail-pane { padding: 16px; }
.wa-detail-name { font-size: 16px; font-weight: 600; margin-bottom: 2px; }
.wa-detail-phone { color: #6b7280; font-size: 12px; margin-bottom: 12px; }
[data-theme="dark"] .wa-detail-phone { color: #aebac1; }
.wa-detail-card {
  background: #f9fafb;
  padding: 10px 12px;
  border-radius: 8px;
  margin-bottom: 10px;
}
[data-theme="dark"] .wa-detail-card { background: #202c33; }
.wa-detail-card b { font-size: 13px; }
.wa-detail-card small { color: #6b7280; display: block; margin-top: 2px; font-size: 11.5px; }
[data-theme="dark"] .wa-detail-card small { color: #aebac1; }
.wa-detail-card.warn { background: #fef3c7; }
[data-theme="dark"] .wa-detail-card.warn { background: #422d0c; color: #fde68a; }

.wa-detail-stats {
  display: flex;
  justify-content: space-between;
  background: #eff6ff;
  padding: 10px 8px;
  border-radius: 8px;
  margin-bottom: 10px;
}
[data-theme="dark"] .wa-detail-stats { background: #1e3a5f; }
.wa-detail-stat { text-align: center; font-size: 11px; color: #0c4a6e; flex: 1; }
.wa-detail-stat b { display: block; font-size: 18px; color: #0c4a6e; font-weight: 700; }
.wa-detail-stat.danger b { color: #dc2626; }
.wa-detail-stat.danger { color: #7f1d1d; }
[data-theme="dark"] .wa-detail-stat,
[data-theme="dark"] .wa-detail-stat b { color: #93c5fd; }
[data-theme="dark"] .wa-detail-stat.danger,
[data-theme="dark"] .wa-detail-stat.danger b { color: #fca5a5; }

.wa-linked-ticket {
  background: #ecfdf5;
  border-left: 3px solid #10b981;
  padding: 8px 10px;
  border-radius: 6px;
  margin-bottom: 10px;
  font-size: 13px;
  cursor: pointer;
}
.wa-linked-ticket:hover { background: #d1fae5; }
[data-theme="dark"] .wa-linked-ticket { background: #064e3b; border-left-color: #34d399; color: #d1fae5; }
[data-theme="dark"] .wa-linked-ticket:hover { background: #065f46; }

.wa-detail-section-title { font-size: 11px; color: #6b7280; font-weight: 600; margin: 8px 0 4px; text-transform: uppercase; letter-spacing: 0.5px; }
[data-theme="dark"] .wa-detail-section-title { color: #aebac1; }

.wa-detail-actions { display: grid; gap: 6px; margin-top: 10px; }
.wa-detail-action {
  padding: 8px 12px;
  background: #fff;
  border: 1px solid #d1d5db;
  border-radius: 6px;
  cursor: pointer;
  font-size: 13px;
  text-align: left;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  transition: all .12s;
  color: #374151;
}
.wa-detail-action:hover { background: #f9fafb; }
.wa-detail-action.success { background: #ecfdf5; border-color: #6ee7b7; color: #047857; }
.wa-detail-action.success:hover { background: #d1fae5; }
.wa-detail-action.warn { background: #fef3c7; border-color: #fde68a; color: #92400e; }
.wa-detail-action.warn:hover { background: #fde68a; }
.wa-detail-action.danger { background: #fef2f2; border-color: #fecaca; color: #991b1b; }
.wa-detail-action.danger:hover { background: #fee2e2; }
[data-theme="dark"] .wa-detail-action { background: #2a3942; border-color: #2a3942; color: #e9edef; }
[data-theme="dark"] .wa-detail-action:hover { background: #374248; }
[data-theme="dark"] .wa-detail-action.success { background: #064e3b; border-color: #047857; color: #6ee7b7; }
[data-theme="dark"] .wa-detail-action.warn { background: #422d0c; border-color: #92400e; color: #fcd34d; }
[data-theme="dark"] .wa-detail-action.danger { background: #4c0519; border-color: #7f1d1d; color: #fca5a5; }

/* Detail pane "Daha Fazla" dropdown — nadir kullanılan eylemler */
.wa-more-menu {
  position: fixed;
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  box-shadow: 0 8px 24px rgba(0, 0, 0, .14);
  z-index: 9999;
  min-width: 220px;
  padding: 4px;
  animation: waBubbleIn .12s ease-out;
}
.wa-more-menu button {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
  padding: 8px 10px;
  background: transparent;
  border: none;
  border-radius: 5px;
  cursor: pointer;
  font-size: 13px;
  color: #374151;
  text-align: left;
}
.wa-more-menu button:hover { background: #f3f4f6; }
.wa-more-menu button.warn { color: #92400e; }
.wa-more-menu button.warn:hover { background: #fef3c7; }
.wa-more-menu button.danger { color: #991b1b; }
.wa-more-menu button.danger:hover { background: #fee2e2; }
.wa-more-divider { height: 1px; background: #e5e7eb; margin: 4px 6px; }
.wa-more-section {
  font-size: 10px;
  color: #9ca3af;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  padding: 6px 10px 2px;
  display: flex;
  align-items: center;
  gap: 5px;
}
[data-theme="dark"] .wa-more-menu { background: #2a3942; border-color: #2a3942; }
[data-theme="dark"] .wa-more-menu button { color: #e9edef; }
[data-theme="dark"] .wa-more-menu button:hover { background: #374248; }
[data-theme="dark"] .wa-more-divider { background: #374248; }

/* Customer history quick-row */
.wa-hist-row {
  display: flex;
  justify-content: space-between;
  padding: 6px 4px;
  font-size: 11.5px;
  border-bottom: 1px solid #f3f4f6;
  cursor: pointer;
  border-radius: 4px;
}
.wa-hist-row:hover { background: #f9fafb; }
.wa-hist-row .wa-hist-label { color: #374151; flex: 1; min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.wa-hist-row .wa-hist-date { color: #9ca3af; flex-shrink: 0; }
[data-theme="dark"] .wa-hist-row { border-bottom-color: #2a3942; }
[data-theme="dark"] .wa-hist-row:hover { background: #202c33; }
[data-theme="dark"] .wa-hist-row .wa-hist-label { color: #e9edef; }


/* Sticky save bar — sidebar'ı örtmemek için margin-left:var(--sb) ile hizalı */
.cbd-sticky-savebar {
  position: fixed;
  bottom: 0;
  left: var(--sb);
  right: 0;
  background: #fef3c7;
  border-top: 1px solid #fbbf24;
  padding: 10px 20px;
  box-shadow: 0 -4px 12px rgba(0, 0, 0, .08);
  z-index: 1000;
}
.sb-mini .cbd-sticky-savebar { left: 68px; }
@media (max-width: 768px) {
  .cbd-sticky-savebar { left: 0 !important; }
}

/* ===== AI Settings + Reports — Mobile Responsiveness Fix'leri ===== */
@media (max-width: 768px) {
  /* AI Settings 11-tab nav-pills: küçük ekranda label gizle, sadece ikon kalsın (custom class işaretle) */
  .ai-tabs-grouped .nav-pills .nav-link {
    padding: 6px 10px !important;
    font-size: 12px !important;
  }
  /* Tablolar — yatay scroll için zorla */
  .table-responsive { overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .table-responsive table { min-width: 600px; }
  /* AI Settings sayfasında çok-kolonlu form'lar tek kolona düşsün */
  .ai-card .row > [class*="col-md-"] { margin-bottom: 8px; }
  /* Modal'lar mobilde fullscreen davransın — dvh: footer URL bar/klavye altında kalmasın */
  .modal-dialog.modal-lg, .modal-dialog.modal-xl { margin: 0; max-width: 100%; height: 100vh; height: 100dvh; }
  .modal-dialog.modal-lg .modal-content, .modal-dialog.modal-xl .modal-content {
    height: 100vh; height: 100dvh; border-radius: 0 !important;
  }
  /* Custom Şablonlar / Prompts / SQL Log tablolarında uzun açıklama wrap */
  #aiTplContent td, #aiPromptsContent td, #aiSqlLogContent td { word-break: break-word; max-width: 200px; }
  /* Sentiment Trend (r20) chart yüksekliği mobilde küçült */
  #r20Chart { max-height: 240px !important; }
  /* KB AI Önerileri body preview daha kompakt */
  #pg .card-s[style*="border-left:4px solid"] { padding: 10px !important; }
  /* Discovery Mode SQL textarea mobilde okunabilir font */
  #_rAiDiscSql, #_kbaiBody, #_aiPromptText { font-size: 12px !important; }
  /* Buton grupları tek satır olamayınca wrap */
  .btn-group-sm .btn { padding: 4px 8px !important; font-size: 11px !important; }
  /* Reports period dropdown'u şişmesin */
  #rPeriod, #rDays { max-width: 140px; }
  /* Chatbot designer panel toggle butonları mobilde daha küçük */
  #cbdTogglePalBtn, #cbdTogglePropsBtn { padding: 4px 8px !important; }
}

/* AI Tabs — grup ayraç (li.ai-tab-sep) */
.ai-tabs-grouped .ai-tab-sep { list-style: none; user-select: none; white-space: nowrap; }

/* Tablet (768-991): grup başlıklarını sadece ikon + 'sığdır' */
@media (max-width: 991px) {
  .ai-tabs-grouped .ai-tab-sep {
    font-size: 0 !important; /* metni gizle */
    padding: 5px 6px !important;
    border-left: none !important;
    border-right: none !important;
  }
  .ai-tabs-grouped .ai-tab-sep i { font-size: 14px !important; } /* ikon görünür kalsın */
}

/* AI Prompts modal body — çok geniş textarea taşmasın */
#_aiPromptText { width: 100%; max-width: 100%; box-sizing: border-box; }

/* U5: AI rapor tablosu — mobilde card layout (her satır ayrı kart, label:value pairs)
   td'lerin data-label attribute'u JS tarafında set edilir. */
@media (max-width: 640px) {
  .ai-rpt-table thead { display: none; }
  /* Card layout'ta tablo viewport'a sığmalı — .dt table{min-width:500px} kuralını ez,
     yoksa kart 500px kalıp değer (cevap) sağda ekran dışına taşar (portrait'te gizli görünür). */
  .dt .ai-rpt-table { min-width: 0; }
  .ai-rpt-table, .ai-rpt-table tbody, .ai-rpt-table tr, .ai-rpt-table td {
    display: block; width: 100%; box-sizing: border-box;
  }
  .ai-rpt-table tr {
    background: #fff;
    border: 1px solid var(--bdr);
    border-radius: 8px;
    margin-bottom: 10px;
    padding: 8px 10px;
    box-shadow: 0 1px 2px rgba(0,0,0,0.04);
  }
  .ai-rpt-table td {
    border: none;
    padding: 4px 0;
    display: flex;
    justify-content: space-between;
    gap: 10px;
    align-items: baseline;
    text-align: right;
    border-bottom: 1px dashed #f0f0f0;
    white-space: normal;       /* tablonun nowrap'ını ez — uzun değer sarsın, taşmasın */
    word-break: break-word;
    min-width: 0;
  }
  .ai-rpt-table td:last-child { border-bottom: none; }
  .ai-rpt-table td::before {
    content: attr(data-label);
    font-weight: 600;
    color: var(--tx2);
    font-size: 11px;
    text-align: left;
    flex: 0 0 40%;
    min-width: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  .ai-rpt-table td b { font-size: 13px; }
  /* Compare modunda 3'lü kolon yapısı — mobilde de aynı pattern ama header yok */
}



/* ============================================================
   DOKUNMATIK CİHAZLAR (pointer:coarse) — genişlikten bağımsız.
   iPad/tablet desktop genişliğinde de hover yok; bu blok hover-only
   aksiyonları görünür yapar, tap hedeflerini büyütür, iOS focus
   zoom'unu engeller (16px altı input fontu zoom tetikler).
   ============================================================ */
@media(pointer:coarse){
  input,select,textarea,.form-control,.form-select,.form-control-sm,.form-select-sm,.ql-editor,.wa-reply-input,.si{font-size:16px!important}
  .btn-close{min-width:40px;min-height:40px;background-size:14px}
  .eb{min-width:40px;min-height:40px}
  /* Bildirim satır aksiyonları her zaman görünür */
  .ntf-row-actions{opacity:1!important}
  .ntf-row-act{width:40px;height:40px}
  /* WhatsApp mesaj aksiyonları (Yanıtla/İlet/Sil) hover beklemeden görünür */
  .wa-bubble-actions{display:flex!important;opacity:.85}
  .wa-bubble-actions button{min-width:34px;min-height:30px}
  /* Proje akış kartı aksiyonları + bağlantı portları görünür */
  .prj-card-actions{display:flex!important}
  .prj-port{opacity:1!important}
  /* Takvim event chip'leri büyüt (yanlışlıkla 'yeni etkinlik' açılmasın) */
  .cal-ev{min-height:26px;padding:3px 6px}
  /* Quill renk paleti dokunulabilir boy */
  .cpk-c{width:34px;height:34px}
}
/* Sağ üst toast/uyarılar dar ekranda taşmasın */
@media(max-width:480px){
  .new-ticket-alert{max-width:calc(100vw - 24px)!important;right:12px!important}
}
/* AI Ayarları sekme pill'leri mobilde 3-4 satıra sarıp dikey alan yiyordu — yatay scroll */
@media(max-width:768px){
  #aiTabNav,#waSetTabNav{flex-wrap:nowrap!important;overflow-x:auto;scrollbar-width:thin;padding-bottom:4px}
  #aiTabNav .nav-link,#waSetTabNav .nav-link{white-space:nowrap}
}
