:root { --jc-ink: #172033; --jc-muted: #667085; --jc-primary: #635bff; --jc-primary-dark: #5148e5; --jc-surface: #ffffff; --jc-bg: #f6f7fb; --jc-border: #e8eaf2; --jc-shadow: 0 14px 38px rgba(20, 28, 55, .08); } .brand-logo{width:48px;height:48px;object-fit:contain;border-radius:8px;background:#fff;padding:4px}.brand-preview{max-width:220px;max-height:90px;object-fit:contain;border:1px solid var(--jc-border);border-radius:10px;padding:8px;background:#fff} * { box-sizing: border-box; } body { background: var(--jc-bg); color: var(--jc-ink); font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; letter-spacing: -.01em; } a { color: var(--jc-primary); } .navbar { background: linear-gradient(135deg, #1d2540 0%, #302c68 58%, #5148e5 100%) !important; min-height: 68px; box-shadow: 0 4px 18px rgba(31, 36, 76, .18); } .navbar-brand { letter-spacing: -.035em; font-size: 1.2rem; } .sidebar-link { color: #667085; border-radius: 10px; padding: .7rem .85rem; font-weight: 500; transition: .18s ease; } .sidebar-link:hover { background: #f0efff; color: var(--jc-primary); transform: translateX(2px); } .sidebar-link.active { background: #eeecff; color: var(--jc-primary); font-weight: 700; } main { min-width: 0; } .card { border: 1px solid var(--jc-border); border-radius: 16px; box-shadow: var(--jc-shadow); } .card-header, .card-body { border-radius: inherit; } .card h1, .card h2, .card h3 { letter-spacing: -.03em; } .metric-card { border: 0; overflow: hidden; position: relative; box-shadow: var(--jc-shadow); } .metric-card::after { content: ""; position: absolute; width: 92px; height: 92px; border-radius: 50%; right: -28px; top: -28px; background: rgba(99, 91, 255, .1); } .metric-card .display-6 { color: var(--jc-ink); letter-spacing: -.06em; } .btn-primary { background: var(--jc-primary); border-color: var(--jc-primary); box-shadow: 0 8px 18px rgba(99, 91, 255, .22); } .btn-primary:hover, .btn-primary:focus { background: var(--jc-primary-dark); border-color: var(--jc-primary-dark); } .btn-outline-primary { color: var(--jc-primary); border-color: #bdb8ff; } .btn-outline-primary:hover { background: var(--jc-primary); border-color: var(--jc-primary); } .form-control, .form-select { border-color: #dfe2ec; border-radius: 10px; padding: .68rem .8rem; } .form-control:focus, .form-select:focus { border-color: #9b95ff; box-shadow: 0 0 0 .22rem rgba(99, 91, 255, .12); } .table { --bs-table-bg: transparent; } .table thead th { color: var(--jc-muted); font-size: .74rem; text-transform: uppercase; letter-spacing: .08em; font-weight: 700; border-bottom-color: var(--jc-border); } .table tbody td { border-bottom-color: #f0f1f5; vertical-align: middle; } .badge { border-radius: 999px; padding: .45em .72em; font-weight: 650; } .login-card { max-width: 440px; margin: 10vh auto; border: 0; box-shadow: 0 24px 70px rgba(31, 36, 76, .16); } .login-card::before { content: ""; display: block; height: 7px; border-radius: 16px 16px 0 0; background: linear-gradient(90deg, #635bff, #9b95ff); } .client-tabs { display: flex; gap: .4rem; flex-wrap: wrap; padding: .45rem; margin-bottom: 1.35rem; background: #fff; border: 1px solid var(--jc-border); border-radius: 14px; box-shadow: 0 8px 24px rgba(20, 28, 55, .05); } .client-tab { border: 0; background: transparent; border-radius: 10px; color: var(--jc-muted); padding: .68rem 1rem; font-weight: 650; transition: .18s ease; } .client-tab:hover { background: #f2f1ff; color: var(--jc-primary); } .client-tab.active { background: var(--jc-primary); color: #fff; box-shadow: 0 6px 14px rgba(99, 91, 255, .2); } .client-section-hidden { display: none !important; } .section-kicker { color: var(--jc-primary); font-size: .75rem; text-transform: uppercase; letter-spacing: .1em; font-weight: 800; } @media (max-width: 767.98px) { .desktop-table { display: none; } .mobile-card { display: block; } .sidebar-link { padding: .55rem .7rem; } .client-tabs { overflow-x: auto; flex-wrap: nowrap; scrollbar-width: thin; } .client-tab { white-space: nowrap; padding: .62rem .8rem; } } @media (min-width: 768px) { .mobile-card { display: none; } }