@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&family=JetBrains+Mono:wght@400;500&display=swap";:root{--brand: #2AABEE;--brand-dark: #229ED9;--brand-light: #e8f4fd;--brand-glow: rgba(42,171,238,.1);--bg: #f0f2f5;--bg-white: #ffffff;--bg-sidebar: #17212b;--bg-sidebar-hover: #1e2c3a;--bg-sidebar-active: #2b5278;--text: #1a1a1a;--text-secondary: #707579;--text-muted: #999;--text-sidebar: #8b9bab;--text-sidebar-active: #ffffff;--border: #e4e6ea;--border-light: #f0f0f0;--success: #2ecc71;--warning: #f39c12;--error: #e74c3c;--info: #3498db;--font: "Inter", -apple-system, sans-serif;--font-mono: "JetBrains Mono", monospace;--sidebar-w: 260px;--header-h: 56px;--shadow-sm: 0 1px 2px rgba(0,0,0,.06);--shadow-md: 0 2px 8px rgba(0,0,0,.08);--shadow-lg: 0 4px 16px rgba(0,0,0,.1)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:14px;-webkit-font-smoothing:antialiased}body{font-family:var(--font);background:var(--bg);color:var(--text);line-height:1.5;overflow-x:hidden}a{color:var(--brand);text-decoration:none}::selection{background:var(--brand);color:#fff}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#17212b,#0e1621)}.login-card{background:var(--bg-white);border-radius:16px;padding:48px 40px;width:400px;max-width:90vw;box-shadow:0 16px 48px #0003;text-align:center}.login-logo{width:64px;height:64px;border-radius:50%;background:var(--brand);display:flex;align-items:center;justify-content:center;margin:0 auto 20px;font-size:1.8rem;font-weight:800;color:#fff}.login-card h1{font-size:1.5rem;font-weight:700;margin-bottom:6px}.login-card p{color:var(--text-secondary);margin-bottom:28px;font-size:.92rem}.login-input{width:100%;padding:12px 16px;border:1px solid var(--border);border-radius:10px;font-family:var(--font-mono);font-size:.85rem;outline:none;transition:all .2s;margin-bottom:16px;text-align:center;letter-spacing:.5px}.login-input:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-glow)}.login-input.error{border-color:var(--error)}.login-btn{width:100%;padding:12px;border:none;border-radius:10px;background:var(--brand);color:#fff;font-family:var(--font);font-size:1rem;font-weight:600;cursor:pointer;transition:background .2s}.login-btn:hover{background:var(--brand-dark)}.login-error{color:var(--error);font-size:.85rem;margin-top:12px}.app-layout{display:flex;min-height:100vh}.sidebar{width:var(--sidebar-w);background:var(--bg-sidebar);display:flex;flex-direction:column;position:fixed;top:0;left:0;bottom:0;z-index:50}.sidebar-header{padding:16px 20px;display:flex;align-items:center;gap:12px;border-bottom:1px solid rgba(255,255,255,.06)}.sidebar-logo{width:36px;height:36px;border-radius:50%;background:var(--brand);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:1rem;color:#fff}.sidebar-header h2{color:#fff;font-size:1rem;font-weight:600}.sidebar-header span{color:var(--text-sidebar);font-size:.75rem}.sidebar-nav{flex:1;padding:12px 8px;overflow-y:auto}.sidebar-section{margin-bottom:8px}.sidebar-label{padding:6px 12px;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:#8b9bab80}.nav-item{display:flex;align-items:center;gap:12px;padding:10px 14px;border-radius:8px;color:var(--text-sidebar);font-size:.9rem;font-weight:500;cursor:pointer;transition:all .15s;text-decoration:none}.nav-item:hover{background:var(--bg-sidebar-hover);color:#c8d2dc}.nav-item.active{background:var(--bg-sidebar-active);color:var(--text-sidebar-active)}.nav-item svg{width:20px;height:20px;opacity:.7}.nav-item.active svg{opacity:1}.nav-badge{margin-left:auto;padding:2px 8px;border-radius:10px;font-size:.7rem;font-weight:600;background:var(--error);color:#fff}.sidebar-footer{padding:16px 20px;border-top:1px solid rgba(255,255,255,.06);display:flex;align-items:center;gap:10px;cursor:pointer}.sidebar-footer:hover{background:var(--bg-sidebar-hover)}.sidebar-avatar{width:32px;height:32px;border-radius:50%;background:var(--bg-sidebar-active);display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:600;color:#fff}.sidebar-footer .user-info{flex:1}.sidebar-footer .user-name{color:#fff;font-size:.85rem;font-weight:500}.sidebar-footer .user-role{color:var(--text-sidebar);font-size:.72rem}.main-content{margin-left:var(--sidebar-w);flex:1;min-height:100vh}.page-header{background:var(--bg-white);border-bottom:1px solid var(--border);padding:20px 32px;display:flex;align-items:center;justify-content:space-between}.page-header h1{font-size:1.4rem;font-weight:700}.page-header p{color:var(--text-secondary);font-size:.85rem;margin-top:2px}.page-body{padding:24px 32px}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}.stat-card{background:var(--bg-white);border:1px solid var(--border-light);border-radius:12px;padding:20px;box-shadow:var(--shadow-sm)}.stat-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.stat-card-label{font-size:.8rem;color:var(--text-secondary);font-weight:500}.stat-card-icon{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1rem}.stat-card-icon.blue{background:var(--brand-light)}.stat-card-icon.green{background:#2ecc711a}.stat-card-icon.orange{background:#f39c121a}.stat-card-icon.purple{background:#9b59b61a}.stat-card-icon.red{background:#e74c3c1a}.stat-card-value{font-size:1.8rem;font-weight:700;color:var(--text)}.stat-card-change{font-size:.78rem;font-weight:500;margin-top:4px}.stat-card-change.up{color:var(--success)}.stat-card-change.down{color:var(--error)}.panel{background:var(--bg-white);border:1px solid var(--border-light);border-radius:12px;box-shadow:var(--shadow-sm);margin-bottom:24px;overflow:hidden}.panel-header{padding:16px 20px;border-bottom:1px solid var(--border-light);display:flex;align-items:center;justify-content:space-between}.panel-header h3{font-size:1rem;font-weight:600}.panel-body{padding:0}.data-table{width:100%;border-collapse:collapse}.data-table th{text-align:left;padding:10px 16px;font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);background:var(--bg);border-bottom:1px solid var(--border)}.data-table td{padding:12px 16px;border-bottom:1px solid var(--border-light);font-size:.88rem}.data-table tr:hover td{background:#fafbfc}.data-table tr:last-child td{border-bottom:none}.badge{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:6px;font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.badge.green{background:#2ecc711a;color:#27ae60}.badge.blue{background:#2aabee1a;color:var(--brand)}.badge.orange{background:#f39c121a;color:#e67e22}.badge.red{background:#e74c3c1a;color:#c0392b}.badge.gray{background:#0000000d;color:var(--text-muted)}.badge.purple{background:#9b59b61a;color:#8e44ad}.user-avatar{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.85rem;font-weight:600;color:#fff;flex-shrink:0}.user-avatar.deleted{background:#ccc}.user-avatar.support{background:var(--brand);position:relative}.user-avatar.support:after{content:"✓";position:absolute;bottom:-2px;right:-2px;width:14px;height:14px;border-radius:50%;background:var(--brand);border:2px solid white;font-size:.5rem;display:flex;align-items:center;justify-content:center;color:#fff}.user-row{display:flex;align-items:center;gap:10px}.user-row .name{font-weight:500}.user-row .name.deleted{color:var(--text-muted);font-style:italic}.user-row .meta{font-size:.78rem;color:var(--text-muted)}.btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:8px;font-family:var(--font);font-size:.85rem;font-weight:500;border:none;cursor:pointer;transition:all .15s}.btn-primary{background:var(--brand);color:#fff}.btn-primary:hover{background:var(--brand-dark)}.btn-danger{background:var(--error);color:#fff}.btn-danger:hover{background:#c0392b}.btn-outline{background:#fff;color:var(--text);border:1px solid var(--border)}.btn-outline:hover{border-color:var(--border);background:var(--bg)}.btn-sm{padding:5px 10px;font-size:.78rem}.btn-success{background:var(--success);color:#fff}.btn-success:hover{background:#27ae60}.chat-container{display:flex;flex-direction:column;height:calc(100vh - 180px)}.chat-messages{flex:1;overflow-y:auto;padding:20px;display:flex;flex-direction:column;gap:12px}.chat-bubble{max-width:70%;padding:10px 14px;border-radius:12px;font-size:.9rem;line-height:1.5}.chat-bubble.user{align-self:flex-start;background:var(--bg);border:1px solid var(--border-light)}.chat-bubble.support{align-self:flex-end;background:var(--brand);color:#fff}.chat-bubble .sender{font-size:.75rem;font-weight:600;margin-bottom:4px}.chat-bubble.user .sender{color:var(--brand)}.chat-bubble.support .sender{color:#ffffffb3}.chat-bubble .time{font-size:.68rem;margin-top:4px;opacity:.6}.chat-input-row{padding:16px 20px;border-top:1px solid var(--border);display:flex;gap:10px;background:var(--bg-white)}.chat-input{flex:1;padding:10px 14px;border-radius:10px;border:1px solid var(--border);font-family:var(--font);font-size:.9rem;outline:none;transition:border-color .2s}.chat-input:focus{border-color:var(--brand)}.chart-panel{padding:20px}.chart-row{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:24px}.token-display{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--bg);border-radius:8px;font-family:var(--font-mono);font-size:.78rem;color:var(--text-secondary);word-break:break-all}.token-display .copy-btn{flex-shrink:0;padding:4px 8px;border:1px solid var(--border);border-radius:4px;background:#fff;font-size:.72rem;cursor:pointer}.form-select,.form-input{padding:8px 12px;border:1px solid var(--border);border-radius:8px;font-family:var(--font);font-size:.85rem;outline:none;background:#fff;transition:border-color .2s}.form-select:focus,.form-input:focus{border-color:var(--brand)}@media(max-width:1100px){.stats-grid{grid-template-columns:repeat(2,1fr)}.chart-row{grid-template-columns:1fr}}@media(max-width:768px){.sidebar{display:none}.main-content{margin-left:0}.stats-grid{grid-template-columns:1fr}}.fade-in{animation:fadeIn .3s ease both}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
