:root{--bs-body-bg:#0f1117;--sidebar-bg:#161822;--card-bg:#1a1d2e;--accent:#6366f1;--accent-hover:#818cf8;--danger:#ef4444;--success:#22c55e;--warning:#f59e0b}body{font-family:'Segoe UI',system-ui,-apple-system,sans-serif;background:var(--bs-body-bg)}#loginPage{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#0f1117 0,#1a1d2e 100%)}.login-card{background:var(--card-bg);border:1px solid rgba(99,102,241,.25);border-radius:16px;padding:2.5rem;width:100%;max-width:420px;box-shadow:0 20px 60px rgba(0,0,0,.5)}.login-card .logo{font-size:2rem;font-weight:700;color:var(--accent)}.login-card .form-control{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);color:#fff}.login-card .form-control:focus{background:rgba(255,255,255,.08);border-color:var(--accent);box-shadow:0 0 0 .2rem rgba(99,102,241,.25)}.btn-accent{background:var(--accent);border:none;color:#fff;font-weight:600}.btn-accent:hover{background:var(--accent-hover);color:#fff}.sidebar{position:fixed;top:0;left:0;width:260px;height:100vh;background:var(--sidebar-bg);border-right:1px solid rgba(255,255,255,.06);z-index:1040;transition:width .25s,transform .3s;overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column}.sidebar .brand{padding:1.5rem 1.25rem;font-size:1.15rem;font-weight:700;color:var(--accent);border-bottom:1px solid rgba(255,255,255,.06);display:flex;align-items:center;justify-content:space-between;white-space:nowrap;flex-shrink:0}.sidebar .nav-link{color:rgba(255,255,255,.55);padding:.7rem 1.25rem;font-size:.9rem;border-left:3px solid transparent;transition:.15s;display:flex;align-items:center;white-space:nowrap}.sidebar .nav-link:hover{color:#fff;background:rgba(255,255,255,.04)}.sidebar .nav-link.active{color:var(--accent);background:rgba(99,102,241,.08);border-left-color:var(--accent);font-weight:600}.sidebar .nav-link i{width:24px;text-align:center;margin-right:.5rem}.main-content{margin-left:260px;padding:1.5rem 2rem;min-height:100vh;transition:margin-left .25s}.stat-card{background:var(--card-bg);border:1px solid rgba(255,255,255,.06);border-radius:12px;padding:1.25rem 1.5rem;cursor:pointer;transition:border-color .2s,box-shadow .2s}.stat-card:hover{border-color:rgba(255,255,255,.15);box-shadow:0 2px 12px rgba(0,0,0,.25)}.stat-card .stat-icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.3rem}.stat-card .stat-value{font-size:1.75rem;font-weight:700}.stat-card .stat-label{font-size:.8rem;color:rgba(255,255,255,.5);text-transform:uppercase;letter-spacing:.5px}.dash-card{background:var(--card-bg);border:1px solid rgba(255,255,255,.06);border-radius:12px}.dash-card .card-header{background:0 0;border-bottom:1px solid rgba(255,255,255,.06);padding:1rem 1.25rem;font-weight:600}.table{--bs-table-bg:transparent;--bs-table-color:rgba(255,255,255,.8)}.table-striped>tbody>tr:nth-of-type(odd)>*{--bs-table-accent-bg:rgba(255,255,255,0.03);background-color:rgba(255,255,255,.03)}.table-striped>tbody>tr:nth-of-type(2n)>*{--bs-table-accent-bg:transparent;background-color:transparent}.table th{font-size:.75rem;text-transform:uppercase;letter-spacing:.5px;color:rgba(255,255,255,.45);border-color:rgba(255,255,255,.06);font-weight:600}.table td{border-color:rgba(255,255,255,.04);font-size:.85rem;vertical-align:middle}.table-hover tbody tr:hover{--bs-table-hover-bg:rgba(99,102,241,.06)}.badge-active{background:rgba(34,197,94,.15);color:var(--success)}.badge-killed{background:rgba(239,68,68,.15);color:var(--danger)}.badge-revoked{background:rgba(245,158,11,.15);color:var(--warning)}.text-muted-custom{color:rgba(255,255,255,.4)!important}.fp-cell{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:Consolas,monospace;font-size:.8rem}.btn-sm-action{padding:.25rem .5rem;font-size:.75rem}th.sortable{cursor:pointer;user-select:none;white-space:nowrap}th.sortable:hover{color:var(--accent)}th.sortable .sort-icon{font-size:.65rem;opacity:.5;margin-left:2px}th.sortable:hover .sort-icon{opacity:1}.search-input{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);color:#fff;border-radius:8px}.search-input:focus{border-color:var(--accent);box-shadow:0 0 0 .2rem rgba(99,102,241,.15);background:rgba(255,255,255,.08)}.toast-container{z-index:9999}#dashboardPage{display:none}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:rgba(255,255,255,.15);border-radius:3px}.sidebar-collapse-btn{background:0 0;border:none;color:rgba(255,255,255,.3);cursor:pointer;padding:3px 5px;border-radius:4px;flex-shrink:0;line-height:1;transition:color .15s,transform .25s;margin-left:auto}.sidebar-collapse-btn:hover{color:rgba(255,255,255,.75)}.sidebar-collapse-btn i{transition:transform .25s;display:block}body.sidebar-collapsed .sidebar{width:64px}body.sidebar-collapsed .main-content{margin-left:64px}body.sidebar-collapsed .sidebar-label{display:none!important}body.sidebar-collapsed .sidebar .brand{justify-content:center;padding:1.25rem .5rem}body.sidebar-collapsed .sidebar .nav-link{justify-content:center;padding:.7rem .5rem;border-left-color:transparent}body.sidebar-collapsed .sidebar .nav-link.active{border-left-color:transparent;border-bottom:none;background:rgba(99,102,241,.12);border-radius:8px;margin:0 4px}body.sidebar-collapsed .sidebar .nav-link i{margin-right:0!important;width:auto}body.sidebar-collapsed .sidebar-collapse-btn{margin-left:0}body.sidebar-collapsed .sidebar-collapse-btn i{transform:rotate(180deg)}body.sidebar-collapsed .sidebar-user-info{display:none}body.sidebar-collapsed #logoutBtn{padding:.4rem .5rem;justify-content:center}body.sidebar-collapsed .sidebar .mt-auto{padding:.5rem .25rem}@media (max-width:991.98px){.sidebar{transform:translateX(-100%)}.sidebar.show{transform:translateX(0)}.main-content{margin-left:0}body.sidebar-collapsed .sidebar{width:260px;transform:translateX(-100%)}body.sidebar-collapsed .sidebar.show{transform:translateX(0)}body.sidebar-collapsed .main-content{margin-left:0}.sidebar-collapse-btn{display:none}}.modal-content{background:var(--card-bg);border:1px solid rgba(255,255,255,.1)}.modal-header{border-bottom-color:rgba(255,255,255,.06)}.modal-footer{border-top-color:rgba(255,255,255,.06)}.heartbeat-bar{display:flex;gap:2px;align-items:flex-end;height:40px}.heartbeat-bar .bar{width:8px;border-radius:2px 2px 0 0;background:var(--accent);min-height:2px;transition:height .3s}.dropdown-menu{background:var(--card-bg);border-color:rgba(255,255,255,.1)}.dropdown-item{color:rgba(255,255,255,.8)}.dropdown-item:hover{background:rgba(99,102,241,.15);color:#fff}.text-accent{color:var(--accent)!important}.user-select-all{user-select:all;cursor:pointer}.tg-msg-wrap{position:relative}.tg-reply-btn{display:none;position:absolute;top:50%;transform:translateY(-50%);background:rgba(30,32,50,.92);border:1px solid rgba(99,102,241,.4);border-radius:6px;color:rgba(255,255,255,.85);padding:2px 8px;font-size:.7rem;cursor:pointer;white-space:nowrap;z-index:2;gap:4px;align-items:center;transition:background .15s}.tg-reply-btn:hover{background:rgba(99,102,241,.7);color:#fff}.tg-msg-wrap:hover .tg-reply-btn{display:inline-flex}.tg-msg-wrap.tg-right .tg-reply-btn{right:calc(100% + 6px);left:auto}.tg-msg-wrap.tg-left .tg-reply-btn{left:calc(100% + 6px);right:auto}.tg-quote-bar{display:none;background:rgba(99,102,241,.1);border-left:3px solid var(--accent);border-radius:0 6px 6px 0;padding:4px 10px;font-size:.75rem;color:rgba(255,255,255,.65);position:relative}.tg-quote-bar.show{display:flex;align-items:center;gap:8px}.tg-quote-bar .tg-quote-text{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tg-quote-bar .tg-quote-cancel{cursor:pointer;opacity:.55;font-size:.8rem;flex-shrink:0}.tg-quote-bar .tg-quote-cancel:hover{opacity:1}.drop-active,.ico-drop-zone.drop-active{border-color:var(--accent)!important;background:rgba(99,102,241,.08)!important}.ico-drop-zone .drop-hint{pointer-events:none}.md-content{line-height:1.6;word-break:break-word}.md-content h1,.md-content h2,.md-content h3,.md-content h4,.md-content h5{margin:.4rem 0 .2rem;font-weight:700;font-size:1em}.md-content p{margin-bottom:.4rem}.md-content p:last-child{margin-bottom:0}.md-content code{background:rgba(255,255,255,.1);padding:.1em .3em;border-radius:3px;font-family:monospace;font-size:.85em}.md-content pre{background:rgba(0,0,0,.4);padding:.65rem;border-radius:6px;overflow-x:auto;margin:.4rem 0}.md-content pre code{background:0 0;padding:0}.md-content ol,.md-content ul{padding-left:1.4rem;margin-bottom:.4rem}.md-content li{margin-bottom:.1rem}.md-content blockquote{border-left:3px solid rgba(255,255,255,.3);padding-left:.7rem;color:rgba(255,255,255,.65);margin:.4rem 0;font-style:italic}.md-content table{border-collapse:collapse;width:100%;margin-bottom:.4rem;font-size:.85em}.md-content td,.md-content th{border:1px solid rgba(255,255,255,.15);padding:.2rem .5rem}.md-content th{background:rgba(255,255,255,.06)}.md-content a{color:var(--accent);text-decoration:none}.md-content a:hover{text-decoration:underline}.md-content hr{border-color:rgba(255,255,255,.15);margin:.4rem 0}.md-content strong{font-weight:700}.md-content em{font-style:italic}.md-preview-pane{min-height:120px;padding:.75rem;border-radius:6px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.02);font-size:.85rem}.chat-reply-dropzone{border:2px dashed rgba(255,255,255,.14);border-radius:8px;transition:border-color .15s,background .15s;padding:.5rem}.chat-reply-dropzone.drag-active{border-color:var(--accent);background:rgba(99,102,241,.07)}.chat-file-preview{display:flex;align-items:flex-start;gap:10px;padding:.5rem;border-radius:6px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1)}.chat-file-preview img{max-height:120px;max-width:180px;border-radius:6px;object-fit:contain}.chat-file-preview .file-icon{font-size:2rem;color:var(--accent)}.chat-file-preview .file-info .file-name{font-size:.8rem;font-weight:600;word-break:break-all}.chat-file-preview .file-info .file-size{font-size:.72rem;color:rgba(255,255,255,.5)}