:root {
    --cf-primary: #00aff0;
    --cf-primary-dark: #0091c8;
    --cf-bg: #f4f6f9;
}
body { background: var(--cf-bg); color: #1d2733; }
.btn-primary, .bg-primary { background-color: var(--cf-primary) !important; border-color: var(--cf-primary) !important; }
.btn-primary:hover { background-color: var(--cf-primary-dark) !important; border-color: var(--cf-primary-dark) !important; }
.text-primary { color: var(--cf-primary) !important; }
a { text-decoration: none; }
a:hover { text-decoration: none; }

.cf-navbar { background: #fff; border-bottom: 1px solid #e6ebf1; box-shadow: 0 1px 3px rgba(0,0,0,.03); }
.cf-navbar .nav-link { color: #51606e; font-weight: 500; }
.cf-navbar .nav-link:hover { color: var(--cf-primary); }

.card { border: 1px solid #e6ebf1; border-radius: .9rem; box-shadow: 0 1px 2px rgba(16,24,40,.04); }
.card-header { background: #fff; border-bottom: 1px solid #eef1f5; font-weight: 600; }

.cf-avatar {
    display: inline-flex; align-items: center; justify-content: center;
    width: 48px; height: 48px; border-radius: 50%;
    background: linear-gradient(135deg, var(--cf-primary), #6f5cff);
    color: #fff; font-weight: 700; overflow: hidden; flex: 0 0 auto;
}
.cf-avatar img { width: 100%; height: 100%; object-fit: cover; }
.cf-avatar-sm { width: 32px; height: 32px; font-size: .85rem; }
.cf-avatar-lg { width: 96px; height: 96px; font-size: 2rem; border: 3px solid #fff; }

.cf-cover { height: 200px; background: linear-gradient(120deg, #00aff0, #6f5cff); border-radius: .9rem; background-size: cover; background-position: center; }

.cf-locked {
    position: relative; border-radius: .6rem; overflow: hidden;
    background: repeating-linear-gradient(45deg,#e9eef3,#e9eef3 12px,#e3e9ef 12px,#e3e9ef 24px);
    min-height: 220px; display: flex; align-items: center; justify-content: center; flex-direction: column;
}
.cf-locked .bi { font-size: 2.4rem; color: #8a98a6; }
.cf-blur img { filter: blur(18px); transform: scale(1.08); }

.cf-price-badge { background: var(--cf-primary); color:#fff; border-radius: 2rem; padding: .35rem .9rem; font-weight: 600; }
.cf-tier-card { border: 2px solid #e6ebf1; border-radius: .9rem; transition: border-color .15s; }
.cf-tier-card:hover { border-color: var(--cf-primary); }

.cf-stat { background:#fff; border:1px solid #e6ebf1; border-radius:.9rem; padding:1rem 1.25rem; }
.cf-stat .v { font-size:1.6rem; font-weight:700; }
.cf-stat .l { color:#8a98a6; font-size:.8rem; text-transform:uppercase; letter-spacing:.03em; }

.cf-msg { max-width: 75%; padding: .5rem .85rem; border-radius: 1rem; margin-bottom: .35rem; }
.cf-msg-in { background: #fff; border: 1px solid #e6ebf1; }
.cf-msg-out { background: var(--cf-primary); color: #fff; margin-left: auto; }
.cf-chat-scroll { height: 60vh; overflow-y: auto; background:#f8fafc; border-radius:.6rem; padding:1rem; }

.cf-sidebar .list-group-item { border: none; border-radius: .6rem; margin-bottom: 2px; color:#51606e; font-weight: 500; }
.cf-sidebar .list-group-item.active { background: rgba(0,175,240,.1); color: var(--cf-primary); }

.cf-feed-img { width: 100%; border-radius: .6rem; object-fit: cover; max-height: 560px; }
.badge.cf-soft { background: rgba(0,175,240,.12); color: var(--cf-primary-dark); font-weight:600; }
.cf-footer { background:#fff; }
