:root{--bg-primary: #0f1117;--bg-secondary: #161822;--bg-card: #1c1f2e;--bg-card-hover: #232738;--bg-sidebar: #0b0d14;--bg-input: #1c1f2e;--bg-input-focus: #232738;--border: #2a2d3e;--border-focus: #4f46e5;--text-primary: #e8eaed;--text-secondary: #9094a6;--text-muted: #5c6078;--text-inverse: #0f1117;--accent: #6366f1;--accent-hover: #818cf8;--accent-muted: rgba(99, 102, 241, .15);--accent-text: #c7d2fe;--green: #34d399;--green-muted: rgba(52, 211, 153, .15);--red: #f87171;--red-muted: rgba(248, 113, 113, .15);--yellow: #fbbf24;--yellow-muted: rgba(251, 191, 36, .15);--blue: #60a5fa;--blue-muted: rgba(96, 165, 250, .15);--sidebar-w: 240px;--header-h: 64px;--radius: 10px;--radius-sm: 6px;--font-body: "Manrope", system-ui, -apple-system, sans-serif;--font-mono: "JetBrains Mono", "Fira Code", monospace}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:15px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-body);background:var(--bg-primary);color:var(--text-primary);line-height:1.5;min-height:100vh}.app-layout{display:flex;min-height:100vh}.sidebar{width:var(--sidebar-w);background:var(--bg-sidebar);border-right:1px solid var(--border);display:flex;flex-direction:column;position:fixed;top:0;left:0;bottom:0;z-index:100;transition:transform .25s ease}.sidebar-logo{padding:24px 20px 20px;border-bottom:1px solid var(--border)}.sidebar-logo h1{font-size:1.05rem;font-weight:800;letter-spacing:-.02em;background:linear-gradient(135deg,var(--accent) 0%,#a78bfa 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.sidebar-logo span{font-size:.72rem;color:var(--text-muted);font-weight:500;display:block;margin-top:2px}.sidebar-nav{flex:1;padding:16px 12px;display:flex;flex-direction:column;gap:4px}.sidebar-nav a{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:var(--radius-sm);color:var(--text-secondary);text-decoration:none;font-size:.88rem;font-weight:500;transition:all .15s ease}.sidebar-nav a:hover{color:var(--text-primary);background:var(--bg-card)}.sidebar-nav a.active{color:var(--accent-text);background:var(--accent-muted)}.sidebar-nav a .nav-icon{width:20px;height:20px;opacity:.7;flex-shrink:0}.sidebar-nav a.active .nav-icon{opacity:1}.sidebar-footer{padding:16px;border-top:1px solid var(--border)}.sidebar-footer .user-info{font-size:.78rem;color:var(--text-muted);margin-bottom:8px}.sidebar-footer .user-info strong{color:var(--text-secondary);font-weight:600}.btn-logout{width:100%;padding:8px;border:1px solid var(--border);border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary);font-family:var(--font-body);font-size:.8rem;cursor:pointer;transition:all .15s}.btn-logout:hover{border-color:var(--red);color:var(--red)}.main-content{margin-left:var(--sidebar-w);flex:1;min-height:100vh}.page-header{padding:28px 32px 0}.page-header h2{font-size:1.35rem;font-weight:700;letter-spacing:-.02em}.page-header p{color:var(--text-secondary);font-size:.85rem;margin-top:4px}.page-body{padding:24px 32px 40px}.stats-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px;margin-bottom:32px}.stat-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:20px;transition:border-color .2s}.stat-card:hover{border-color:var(--accent)}.stat-card .stat-label{font-size:.75rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:8px}.stat-card .stat-value{font-size:1.6rem;font-weight:800;font-family:var(--font-mono);letter-spacing:-.03em}.stat-card .stat-sub{font-size:.75rem;color:var(--text-secondary);margin-top:4px}.stat-card.accent .stat-value{color:var(--accent)}.stat-card.green .stat-value{color:var(--green)}.stat-card.blue .stat-value{color:var(--blue)}.stat-card.yellow .stat-value{color:var(--yellow)}.funnel-section{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:24px;margin-bottom:32px}.funnel-section h3{font-size:.95rem;font-weight:700;margin-bottom:20px}.funnel-bars{display:flex;flex-direction:column;gap:12px}.funnel-row{display:flex;align-items:center;gap:16px}.funnel-label{width:140px;font-size:.8rem;color:var(--text-secondary);flex-shrink:0;font-weight:500}.funnel-bar-track{flex:1;height:28px;background:var(--bg-primary);border-radius:6px;overflow:hidden;position:relative}.funnel-bar-fill{height:100%;border-radius:6px;transition:width .6s cubic-bezier(.16,1,.3,1);display:flex;align-items:center;padding-left:10px;font-size:.75rem;font-weight:700;font-family:var(--font-mono);color:var(--text-primary);min-width:40px}.funnel-bar-fill.f1{background:linear-gradient(90deg,#6366f1,#818cf8)}.funnel-bar-fill.f2{background:linear-gradient(90deg,#8b5cf6,#a78bfa)}.funnel-bar-fill.f3{background:linear-gradient(90deg,#a855f7,#c084fc)}.funnel-bar-fill.f4{background:linear-gradient(90deg,#34d399,#6ee7b7);color:var(--text-inverse)}.funnel-count{width:50px;text-align:right;font-family:var(--font-mono);font-size:.82rem;font-weight:600;color:var(--text-secondary)}.table-section{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.table-toolbar{padding:16px 20px;display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--border);flex-wrap:wrap}.table-toolbar h3{font-size:.95rem;font-weight:700;margin-right:auto}.search-input{padding:8px 14px;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);font-family:var(--font-body);font-size:.82rem;width:220px;transition:border-color .15s}.search-input:focus{outline:none;border-color:var(--accent);background:var(--bg-input-focus)}.search-input::placeholder{color:var(--text-muted)}table{width:100%;border-collapse:collapse}thead th{text-align:left;padding:12px 20px;font-size:.72rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid var(--border);background:var(--bg-secondary)}tbody tr{transition:background .1s}tbody tr:hover{background:var(--bg-card-hover)}tbody td{padding:12px 20px;font-size:.85rem;border-bottom:1px solid var(--border);color:var(--text-secondary)}tbody td:first-child{font-family:var(--font-mono);font-size:.8rem;color:var(--text-muted)}.table-pagination{padding:12px 20px;display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--border)}.table-pagination span{font-size:.78rem;color:var(--text-muted)}.table-pagination .page-btns{display:flex;gap:6px}.btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:var(--radius-sm);font-family:var(--font-body);font-size:.82rem;font-weight:600;cursor:pointer;border:none;transition:all .15s}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-hover)}.btn-sm{padding:5px 10px;font-size:.75rem}.btn-ghost{background:transparent;color:var(--text-secondary);border:1px solid var(--border)}.btn-ghost:hover{border-color:var(--text-secondary);color:var(--text-primary)}.btn-danger{background:var(--red-muted);color:var(--red);border:1px solid transparent}.btn-danger:hover{background:var(--red);color:#fff}.btn-success{background:var(--green-muted);color:var(--green)}.btn-success:hover{background:var(--green);color:var(--text-inverse)}.badge{display:inline-block;padding:2px 8px;border-radius:20px;font-size:.7rem;font-weight:600}.badge-green{background:var(--green-muted);color:var(--green)}.badge-red{background:var(--red-muted);color:var(--red)}.badge-yellow{background:var(--yellow-muted);color:var(--yellow)}.badge-blue{background:var(--blue-muted);color:var(--blue)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .15s ease}.modal{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:28px;width:90%;max-width:440px;animation:slideUp .2s ease}.modal h3{font-size:1.05rem;font-weight:700;margin-bottom:20px}.form-group{margin-bottom:16px}.form-group label{display:block;font-size:.78rem;font-weight:600;color:var(--text-secondary);margin-bottom:6px}.form-group input,.form-group select{width:100%;padding:9px 14px;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);font-family:var(--font-body);font-size:.85rem}.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--accent)}.form-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:24px}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg-primary)}.login-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:40px;width:90%;max-width:380px}.login-card h1{font-size:1.3rem;font-weight:800;text-align:center;margin-bottom:6px;background:linear-gradient(135deg,var(--accent) 0%,#a78bfa 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.login-card .subtitle{text-align:center;font-size:.82rem;color:var(--text-muted);margin-bottom:28px}.login-card .form-group{margin-bottom:18px}.login-card .btn-primary{width:100%;padding:11px;font-size:.9rem}.login-error{background:var(--red-muted);color:var(--red);padding:10px 14px;border-radius:var(--radius-sm);font-size:.82rem;margin-bottom:16px;text-align:center}.empty-state{text-align:center;padding:60px 20px;color:var(--text-muted)}.empty-state .empty-icon{font-size:2.5rem;margin-bottom:12px;opacity:.4}.empty-state p{font-size:.9rem}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 768px){.sidebar{transform:translate(-100%)}.sidebar.open{transform:translate(0)}.main-content{margin-left:0}.page-header,.page-body{padding-left:20px;padding-right:20px}.stats-grid{grid-template-columns:repeat(2,1fr)}}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}
