@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@300;400;500;600;700;800&display=swap');

:root {
    --fsm-navy: #0f172a;
    --fsm-primary: #4f46e5;
    --fsm-emerald: #10b981;
    --fsm-amber: #f59e0b;
    --fsm-bg: #f8fafc;
    --shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 0.05);
    --shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.1);
}

body { font-family: 'Plus Jakarta Sans', sans-serif; background: var(--fsm-bg); color: #1e293b; overflow-x: hidden; }

/* Navbar Public */
.navbar-public { padding: 1.2rem 0; border-bottom: 1px solid rgba(0,0,0,0.05); background: rgba(255,255,255,0.8); backdrop-filter: blur(10px); }
.navbar-public .navbar-brand { font-weight: 800; font-size: 1.5rem; color: var(--fsm-navy) !important; letter-spacing: -1px; }

/* Navbar Panel */
.navbar-panel { background: var(--fsm-navy); padding: 0.8rem 0; }
.navbar-panel .nav-link { color: #94a3b8 !important; font-size: 0.9rem; font-weight: 500; margin: 0 5px; border-radius: 8px; }
.navbar-panel .nav-link:hover, .navbar-panel .nav-link.active { color: white !important; background: rgba(255,255,255,0.05); }

/* Hero & Sections */
.hero-gradient { background: radial-gradient(circle at top right, #eef2ff, #f8fafc); padding: 100px 0; }
.feature-card { border: none; border-radius: 24px; padding: 40px; transition: all 0.3s; background: white; height: 100%; }
.feature-card:hover { transform: translateY(-10px); box-shadow: 0 20px 40px rgba(0,0,0,0.05); }

/* Panel Cards */
.card-fsm { border: none; border-radius: 20px; box-shadow: var(--shadow-sm); transition: 0.3s; }
.card-fsm:hover { box-shadow: var(--shadow-md); }
.stat-icon { width: 48px; height: 48px; border-radius: 12px; display: flex; align-items: center; justify-content: center; margin-bottom: 15px; }

/* Badges */
.bg-soft-success { background: #dcfce7; } .bg-soft-danger { background: #fee2e2; } .bg-soft-warning { background: #fef9c3; } .bg-soft-secondary { background: #f1f5f9; }
.animate-pulse { animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite; }
@keyframes pulse { 0%, 100% { opacity: 1; } 50% { opacity: .5; } }

/* Buttons */
.btn-fsm { padding: 10px 24px; border-radius: 12px; font-weight: 600; transition: 0.3s; }
.btn-fsm-primary { background: var(--fsm-primary); color: white; border: none; }
.btn-fsm-primary:hover { background: #4338ca; box-shadow: 0 10px 15px -3px rgba(79, 70, 229, 0.4); }

.copy-btn { cursor: pointer; color: var(--fsm-primary); transition: 0.2s; }
.copy-btn:hover { transform: scale(1.1); }