:root{--primary: #0D47A1;--primary-dark: #0A2E6E;--primary-light: #1565C0;--accent: #00BFA5;--accent-dark: #00897B;--accent-light: #1DE9B6;--surface: #F8FAFF;--surface-2: #EEF2FF;--border: #DDE3F0;--text-primary: #0D1B3E;--text-secondary: #4A5878;--text-muted: #8892A4;--danger: #D32F2F;--warning: #F9A825;--success: #2E7D32;--info: #0277BD;--sidebar-width: 260px;--header-height: 64px;--radius: 10px;--radius-lg: 16px;--shadow: 0 2px 12px rgba(13,71,161,.08);--shadow-md: 0 4px 24px rgba(13,71,161,.12);--shadow-lg: 0 8px 40px rgba(13,71,161,.16)}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0;font-family:Plus Jakarta Sans,sans-serif;font-size:14px;color:var(--text-primary);background:var(--surface);-webkit-font-smoothing:antialiased}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:99px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.app-layout{display:flex;min-height:100vh}.sidebar{width:var(--sidebar-width);background:var(--primary-dark);color:#fff;display:flex;flex-direction:column;position:fixed;top:0;left:0;bottom:0;z-index:100;transition:transform .3s ease;overflow:hidden}.sidebar-logo{padding:20px 20px 16px;border-bottom:1px solid rgba(255,255,255,.08);flex-shrink:0}.sidebar-logo .logo-text{font-family:Syne,sans-serif;font-size:18px;font-weight:800;color:#fff;letter-spacing:-.5px}.sidebar-logo .logo-badge{font-size:10px;font-weight:600;background:var(--accent);color:var(--primary-dark);padding:2px 8px;border-radius:99px;margin-top:2px;display:inline-block}.sidebar-nav{flex:1;overflow-y:auto;padding:12px 0}.nav-section-label{font-size:10px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;color:#ffffff59;padding:16px 20px 6px}.sidebar-item{display:flex;align-items:center;gap:10px;padding:10px 20px;color:#ffffffa6;cursor:pointer;border-radius:0;transition:all .18s ease;font-size:13.5px;font-weight:500;border-left:3px solid transparent;text-decoration:none}.sidebar-item:hover{background:#ffffff12;color:#fff}.sidebar-item.active{background:#00bfa51f;color:var(--accent-light);border-left-color:var(--accent)}.sidebar-item .nav-icon{font-size:16px;flex-shrink:0;width:20px;text-align:center}.sidebar-item .nav-badge{margin-left:auto;font-size:10px;font-weight:700;background:var(--accent);color:var(--primary-dark);padding:2px 7px;border-radius:99px}.sidebar-footer{padding:16px 20px;border-top:1px solid rgba(255,255,255,.08);flex-shrink:0}.sidebar-user{display:flex;align-items:center;gap:10px}.sidebar-user .avatar{width:36px;height:36px;border-radius:10px;background:var(--accent);color:var(--primary-dark);display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;flex-shrink:0}.sidebar-user .user-info{flex:1;min-width:0}.sidebar-user .user-name{font-size:13px;font-weight:600;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-user .user-role{font-size:11px;color:#ffffff73}.main-content{margin-left:var(--sidebar-width);flex:1;display:flex;flex-direction:column;min-height:100vh}.top-header{height:var(--header-height);background:#fff;border-bottom:1px solid var(--border);display:flex;align-items:center;padding:0 24px;gap:16px;position:sticky;top:0;z-index:50;box-shadow:var(--shadow)}.page-content{flex:1;padding:24px}.card{background:#fff;border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow)}.card-header-custom{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--border)}.card-title{font-size:15px;font-weight:700;color:var(--text-primary);margin:0}.stat-card{background:#fff;border:1px solid var(--border);border-radius:var(--radius-lg);padding:20px 22px;display:flex;align-items:center;gap:16px;box-shadow:var(--shadow);transition:box-shadow .2s,transform .2s}.stat-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.stat-icon{width:52px;height:52px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:22px;flex-shrink:0}.stat-icon.blue{background:#e3f0ff;color:var(--primary)}.stat-icon.teal{background:#e0f7f4;color:var(--accent-dark)}.stat-icon.amber{background:#fff8e1;color:#f9a825}.stat-icon.green{background:#e8f5e9;color:var(--success)}.stat-icon.red{background:#ffebee;color:var(--danger)}.stat-icon.purple{background:#f3e5f5;color:#7b1fa2}.stat-value{font-size:26px;font-weight:800;color:var(--text-primary);line-height:1}.stat-label{font-size:12.5px;color:var(--text-secondary);margin-top:3px}.stat-change{font-size:12px;font-weight:600;margin-top:4px}.stat-change.up{color:var(--success)}.stat-change.down{color:var(--danger)}.btn-primary-custom{background:var(--primary);color:#fff;border:none;border-radius:var(--radius);padding:9px 18px;font-size:13.5px;font-weight:600;cursor:pointer;transition:background .18s,transform .1s;display:inline-flex;align-items:center;gap:6px}.btn-primary-custom:hover{background:var(--primary-light);transform:translateY(-1px)}.btn-primary-custom:active{transform:none}.btn-accent-custom{background:var(--accent);color:var(--primary-dark);border:none;border-radius:var(--radius);padding:9px 18px;font-size:13.5px;font-weight:700;cursor:pointer;transition:background .18s;display:inline-flex;align-items:center;gap:6px}.btn-accent-custom:hover{background:var(--accent-dark);color:#fff}.btn-outline-custom{background:transparent;color:var(--primary);border:1.5px solid var(--primary);border-radius:var(--radius);padding:8px 16px;font-size:13.5px;font-weight:600;cursor:pointer;transition:all .18s;display:inline-flex;align-items:center;gap:6px}.btn-outline-custom:hover{background:var(--primary);color:#fff}.badge-status{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-weight:600;padding:3px 10px;border-radius:99px}.badge-status.active{background:#e8f5e9;color:#2e7d32}.badge-status.inactive{background:#ffebee;color:#c62828}.badge-status.pending{background:#fff8e1;color:#f57f17}.badge-status.trial{background:#e3f0ff;color:#1565c0}.table-custom{width:100%;border-collapse:collapse}.table-custom thead tr{background:var(--surface-2)}.table-custom thead th{padding:12px 16px;font-size:11.5px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:var(--text-secondary);border-bottom:1px solid var(--border);white-space:nowrap}.table-custom tbody td{padding:13px 16px;font-size:13.5px;color:var(--text-primary);border-bottom:1px solid var(--border);vertical-align:middle}.table-custom tbody tr:hover{background:var(--surface-2)}.table-custom tbody tr:last-child td{border-bottom:none}.feature-toggle{display:flex;align-items:flex-start;gap:14px;padding:14px 16px;border:1px solid var(--border);border-radius:var(--radius);background:#fff;transition:border-color .18s,box-shadow .18s;margin-bottom:8px}.feature-toggle:hover{border-color:var(--primary);box-shadow:0 0 0 3px #0d47a10f}.feature-toggle.enabled{border-color:var(--accent);background:#f0fdfb}.toggle-switch{position:relative;width:42px;height:24px;flex-shrink:0;margin-top:1px}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background:#cbd5e0;border-radius:99px;transition:.2s}.toggle-slider:before{content:"";position:absolute;height:18px;width:18px;left:3px;bottom:3px;background:#fff;border-radius:50%;transition:.2s;box-shadow:0 1px 4px #0003}.toggle-switch input:checked+.toggle-slider{background:var(--accent)}.toggle-switch input:checked+.toggle-slider:before{transform:translate(18px)}.feature-info{flex:1}.feature-name{font-size:13.5px;font-weight:600;color:var(--text-primary)}.feature-desc{font-size:12px;color:var(--text-secondary);margin-top:2px}.form-group{margin-bottom:18px}.form-label{font-size:13px;font-weight:600;color:var(--text-primary);margin-bottom:6px;display:block}.form-control-custom{width:100%;padding:9px 14px;border:1.5px solid var(--border);border-radius:var(--radius);font-size:13.5px;color:var(--text-primary);background:#fff;outline:none;transition:border-color .18s,box-shadow .18s;font-family:inherit}.form-control-custom:focus{border-color:var(--primary);box-shadow:0 0 0 3px #0d47a11a}.form-control-custom::placeholder{color:var(--text-muted)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0d1b3e8c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:999;display:flex;align-items:center;justify-content:center;padding:20px;animation:fadeIn .15s ease}.modal-box{background:#fff;border-radius:var(--radius-lg);width:100%;max-width:560px;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-lg);animation:slideUp .2s ease}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--border)}.modal-header h5{font-size:16px;font-weight:700;margin:0}.modal-close{background:none;border:none;cursor:pointer;color:var(--text-muted);font-size:20px;padding:0;line-height:1}.modal-close:hover{color:var(--text-primary)}.modal-body{padding:24px}.modal-footer{padding:16px 24px;border-top:1px solid var(--border);display:flex;justify-content:flex-end;gap:10px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.page-header{margin-bottom:24px}.page-header h1{font-family:Syne,sans-serif;font-size:22px;font-weight:800;color:var(--text-primary);margin:0}.page-header p{font-size:13.5px;color:var(--text-secondary);margin:4px 0 0}.custom-tabs{display:flex;gap:4px;border-bottom:2px solid var(--border);margin-bottom:20px}.custom-tab{padding:10px 18px;font-size:13.5px;font-weight:600;color:var(--text-secondary);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-2px;transition:color .18s,border-color .18s;white-space:nowrap}.custom-tab:hover{color:var(--primary)}.custom-tab.active{color:var(--primary);border-bottom-color:var(--primary)}.progress-bar-custom{background:var(--surface-2);border-radius:99px;height:8px;overflow:hidden}.progress-fill{height:100%;border-radius:99px;background:var(--primary);transition:width .5s ease}.progress-fill.accent{background:var(--accent)}.progress-fill.warning{background:var(--warning)}.login-wrap{min-height:100vh;background:var(--primary-dark);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.login-bg-circle{position:absolute;border-radius:50%;background:#00bfa512}.login-card{background:#fff;border-radius:20px;padding:40px;width:100%;max-width:420px;box-shadow:var(--shadow-lg);position:relative;z-index:1}.pipeline-board{display:flex;gap:16px;overflow-x:auto;padding-bottom:12px}.pipeline-col{flex:0 0 220px;background:var(--surface-2);border-radius:var(--radius-lg);padding:16px}.pipeline-col-header{font-size:12px;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:12px;display:flex;align-items:center;justify-content:space-between}.pipeline-card{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:12px;margin-bottom:8px;cursor:grab;box-shadow:var(--shadow);transition:box-shadow .18s}.pipeline-card:hover{box-shadow:var(--shadow-md)}.alert-custom{border-radius:var(--radius);padding:12px 16px;font-size:13px;display:flex;align-items:flex-start;gap:10px;margin-bottom:12px}.alert-custom.info{background:#e3f2fd;color:#0d47a1;border:1px solid #BBDEFB}.alert-custom.success{background:#e8f5e9;color:#1b5e20;border:1px solid #C8E6C9}.alert-custom.warning{background:#fff3e0;color:#e65100;border:1px solid #FFE0B2}.avatar-sm{width:30px;height:30px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:#fff}.search-bar{display:flex;align-items:center;background:var(--surface-2);border:1.5px solid var(--border);border-radius:var(--radius);padding:7px 14px;gap:8px;flex:1;max-width:320px}.search-bar input{background:none;border:none;outline:none;font-size:13.5px;color:var(--text-primary);width:100%;font-family:inherit}.search-bar input::placeholder{color:var(--text-muted)}.search-icon{color:var(--text-muted);font-size:15px}@media (max-width: 768px){.sidebar{transform:translate(-100%)}.main-content{margin-left:0}}
