/* =========================================================================
   Influencer-Brand Connector — design system
   A deal-desk aesthetic for a creator/brand marketplace: deep ink base,
   one warm gold accent used consistently, an editorial serif for names
   and headings paired with a clean sans for UI, and a "ledger" motif
   (hairline rules, dividers, timelines) instead of a generic stacked-card
   dashboard kit.
   ========================================================================= */

:root {
	--ibc-serif: "Fraunces", Georgia, "Times New Roman", serif;
	--ibc-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;

	--ibc-ink: #0b0f1a;           /* page / dashboard background */
	--ibc-surface: #121a2b;       /* cards */
	--ibc-surface-raised: #1a2338; /* tab track, ledger strip, inputs */
	--ibc-rule: #26304a;          /* hairline borders/dividers */
	--ibc-rule-soft: rgba(255,255,255,0.06);

	--ibc-gold: #e2a53d;          /* the one accent — headline numbers, active states, primary CTAs */
	--ibc-gold-strong: #f0b94f;
	--ibc-gold-ink: #1c1305;      /* text on gold */

	--ibc-text: #eef1f8;
	--ibc-muted: #97a1b8;
	--ibc-faint: #626d87;

	--ibc-paper: #fdfcfa;         /* light-context card background (standalone pages) */
	--ibc-paper-border: #e7e2d6;
	--ibc-paper-ink: #1b2230;
	--ibc-paper-muted: #6b7280;

	--ibc-radius-lg: 20px;
	--ibc-radius-md: 12px;
	--ibc-radius-sm: 8px;
}

/* ===================== Shared primitives ===================== */

.ibc-btn-primary-solid {
	font-family: var(--ibc-sans) !important;
	background: var(--ibc-gold) !important;
	color: var(--ibc-gold-ink) !important;
	border: none !important;
	border-radius: 999px !important;
	padding: 13px 28px !important;
	font-weight: 700 !important;
	font-size: 14.5px !important;
	cursor: pointer;
	transition: background-color .15s ease, transform .05s ease;
	letter-spacing: 0.1px;
}
.ibc-btn-primary-solid:hover { background: var(--ibc-gold-strong) !important; }
.ibc-btn-primary-solid:active { transform: translateY(1px); }

.ibc-btn-secondary-solid {
	font-family: var(--ibc-sans) !important;
	background: var(--ibc-surface-raised) !important;
	color: var(--ibc-text) !important;
	border: 1px solid var(--ibc-rule) !important;
	border-radius: 999px !important;
	padding: 11px 22px !important;
	font-weight: 600 !important;
	font-size: 13.5px !important;
	cursor: pointer;
	transition: border-color .15s ease, color .15s ease;
}
.ibc-btn-secondary-solid:hover { border-color: var(--ibc-gold) !important; }

.ibc-text-link {
	font-family: var(--ibc-sans) !important;
	background: none !important;
	border: none !important;
	color: var(--ibc-muted) !important;
	font-size: 13.5px !important;
	font-weight: 600 !important;
	cursor: pointer;
	padding: 0 !important;
	text-decoration: none !important;
	border-bottom: 1px solid transparent !important;
}
.ibc-text-link:hover { color: var(--ibc-gold) !important; border-bottom-color: var(--ibc-gold) !important; }
.ibc-logout-link { color: #d98484 !important; }
.ibc-logout-link:hover { color: #ef7676 !important; border-bottom-color: #ef7676 !important; }

/* ===================== Light-context form (standalone pages) ===================== */

.ibc-form-wrap { max-width: 560px; margin: 0 auto; font-family: var(--ibc-sans); }
.ibc-form-wrap label { font-weight: 600; font-size: 13.5px; color: #374151; display: inline-block; margin-bottom: 4px; }
.ibc-form-wrap input[type=text],
.ibc-form-wrap input[type=email],
.ibc-form-wrap input[type=password],
.ibc-form-wrap input[type=number],
.ibc-form-wrap input[type=file],
.ibc-form-wrap textarea,
.ibc-form-wrap select {
	width: 100% !important;
	padding: 12px 14px !important;
	margin-top: 2px !important;
	box-sizing: border-box !important;
	border: 1px solid #d8dbe3 !important;
	border-radius: 9px !important;
	font-size: 14.5px !important;
	font-family: var(--ibc-sans) !important;
	background: #fff !important;
	color: #1b2230 !important;
	transition: border-color .15s ease, box-shadow .15s ease;
}
.ibc-form-wrap input:focus, .ibc-form-wrap textarea:focus, .ibc-form-wrap select:focus {
	outline: none !important; border-color: var(--ibc-gold) !important;
	box-shadow: 0 0 0 3px rgba(226,165,61,0.18) !important;
}
.ibc-form-wrap button { font-family: var(--ibc-sans) !important; }
.ibc-success { color: #1a7f37; font-weight: 600; }
.ibc-error { color: #c0392b; font-weight: 600; }

/* ===================== Auth card (Login / Register) ===================== */

.ibc-auth-card {
	max-width: 460px !important;
	margin: 24px auto !important;
	background: var(--ibc-surface) !important;
	border-radius: var(--ibc-radius-lg) !important;
	padding: 40px 36px !important;
	box-shadow: 0 20px 50px rgba(0,0,0,0.35) !important;
	font-family: var(--ibc-sans) !important;
}
.ibc-auth-kicker { font-family: var(--ibc-sans) !important; color: var(--ibc-gold) !important; font-size: 13px !important; font-weight: 600 !important; margin: 0 0 8px !important; }
.ibc-auth-heading { font-family: var(--ibc-serif) !important; color: var(--ibc-text) !important; font-size: 30px !important; font-weight: 600 !important; line-height: 1.2 !important; margin: 0 0 26px !important; }
.ibc-auth-card .ibc-form-wrap { max-width: 100% !important; }
.ibc-auth-card .ibc-form-wrap label { color: #c3cadb !important; }
.ibc-auth-card .ibc-form-wrap input {
	background: var(--ibc-ink) !important; color: var(--ibc-text) !important; border: 1px solid var(--ibc-rule) !important;
}
.ibc-auth-card .ibc-form-wrap input:focus { box-shadow: 0 0 0 3px rgba(226,165,61,0.22) !important; }
.ibc-auth-footer { margin-top: 22px !important; font-size: 13.5px !important; color: var(--ibc-muted) !important; }
.ibc-auth-footer a { color: var(--ibc-gold) !important; font-weight: 600 !important; text-decoration: none !important; }
.ibc-auth-footer a:hover { text-decoration: underline !important; }
.ibc-error { color: #f0a3a3; }
.ibc-auth-card .ibc-success { color: #86e0a6 !important; }
.ibc-auth-card .ibc-error { color: #f0a3a3 !important; }

/* Role selector cards, register page */
.ibc-role-select-label { font-size: 13.5px !important; font-weight: 600 !important; color: #c3cadb !important; margin: 0 0 10px !important; }
.ibc-role-select { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 12px !important; margin-bottom: 22px !important; }
.ibc-role-option input { position: absolute !important; opacity: 0 !important; width: 0 !important; height: 0 !important; }
.ibc-role-card {
	display: flex !important; flex-direction: column !important; gap: 4px !important; padding: 18px 16px !important;
	border: 1.5px solid var(--ibc-rule) !important; border-radius: var(--ibc-radius-md) !important;
	cursor: pointer !important; transition: border-color .15s ease, background-color .15s ease !important;
}
.ibc-role-option input:checked + .ibc-role-card { border-color: var(--ibc-gold) !important; background: rgba(226,165,61,0.08) !important; }
.ibc-role-icon { font-size: 22px !important; }
.ibc-role-title { font-family: var(--ibc-serif) !important; font-weight: 600 !important; font-size: 17px !important; color: var(--ibc-text) !important; }
.ibc-role-desc { font-size: 12.5px !important; color: var(--ibc-muted) !important; line-height: 1.4 !important; }

/* ===================== Directory cards (light context, standalone pages) ===================== */

.ibc-directory { display: grid !important; grid-template-columns: repeat(auto-fill, minmax(270px, 1fr)) !important; gap: 18px !important; font-family: var(--ibc-sans) !important; }
.ibc-card {
	background: var(--ibc-paper) !important; border: 1px solid var(--ibc-paper-border) !important; border-radius: var(--ibc-radius-md) !important;
	padding: 22px !important; box-shadow: 0 1px 2px rgba(20,20,10,0.04) !important;
}
.ibc-card h3 { font-family: var(--ibc-serif) !important; font-size: 19px !important; font-weight: 600 !important; color: var(--ibc-paper-ink) !important; margin: 0 0 10px !important; }
.ibc-photo img { display: block !important; margin-bottom: 12px !important; border-radius: 10px !important; }
.ibc-photo-placeholder { width: 100% !important; max-width: 120px !important; height: 90px !important; display: flex !important; align-items: center !important; justify-content: center !important; background: #f1efe9 !important; color: #a9a294 !important; font-size: 12px !important; border-radius: 10px !important; margin-bottom: 12px !important; }
.ibc-card p { margin: 5px 0 !important; font-size: 13.5px !important; color: #4b5160 !important; }
.ibc-card p strong { color: var(--ibc-paper-muted) !important; font-weight: 600 !important; margin-right: 4px !important; }
.ibc-note { font-style: italic !important; color: #8a8578 !important; font-size: 13px !important; }

.ibc-offer-form { margin-top: 12px !important; padding: 14px !important; background: #f5f2ea !important; border-radius: 10px !important; }
.ibc-offer-status { display: block !important; margin-top: 8px !important; font-size: 13px !important; font-weight: 600 !important; }
.ibc-my-selections ul { list-style: none !important; padding: 0 !important; margin: 0 !important; }
.ibc-my-selections li { padding: 12px 0 !important; border-bottom: 1px solid #eee !important; font-family: var(--ibc-sans) !important; }

/* ===================== Influencer directory — hero + cards ===================== */

/* Colorful animated hero banner */
.ibc-directory-hero {
	position: relative !important; overflow: hidden !important; border-radius: var(--ibc-radius-lg) !important;
	background: linear-gradient(120deg, #241f3d 0%, #402a5c 45%, #6b3f5e 100%) !important;
	padding: 56px 40px !important; margin-bottom: 30px !important; text-align: center !important;
	font-family: var(--ibc-sans) !important;
}
.ibc-hero-blob {
	position: absolute !important; border-radius: 50% !important; filter: blur(40px) !important;
	opacity: 0.55 !important; z-index: 0 !important; animation: ibcFloat 9s ease-in-out infinite !important;
}
.ibc-hero-blob-1 { width: 220px; height: 220px; background: var(--ibc-gold); top: -60px; left: -40px; animation-delay: 0s !important; }
.ibc-hero-blob-2 { width: 180px; height: 180px; background: #ff6f91; bottom: -70px; right: 8%; animation-delay: 1.5s !important; }
.ibc-hero-blob-3 { width: 140px; height: 140px; background: #5eead4; top: 20%; right: 20%; animation-delay: 3s !important; }
@keyframes ibcFloat { 0%, 100% { transform: translateY(0) scale(1); } 50% { transform: translateY(-16px) scale(1.06); } }

.ibc-directory-hero-inner { position: relative !important; z-index: 1 !important; }
.ibc-directory-hero-kicker {
	color: var(--ibc-gold-strong) !important; font-size: 13px !important; font-weight: 700 !important;
	letter-spacing: 1px !important; text-transform: uppercase !important; margin: 0 0 12px !important;
	animation: ibcRise .6s ease both !important;
}
.ibc-directory-hero-title {
	font-family: var(--ibc-serif) !important; font-weight: 600 !important; font-size: 42px !important;
	color: #fff !important; margin: 0 0 14px !important; line-height: 1.15 !important;
	animation: ibcRise .6s ease .1s both !important;
}
.ibc-directory-hero-sub {
	color: rgba(255,255,255,0.82) !important; font-size: 16px !important; max-width: 520px !important;
	margin: 0 auto !important; line-height: 1.5 !important; animation: ibcRise .6s ease .2s both !important;
}
@keyframes ibcRise { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: translateY(0); } }

/* Category filter dropdown */
.ibc-filter-bar { display: flex !important; align-items: center !important; gap: 12px !important; margin-bottom: 26px !important; font-family: var(--ibc-sans) !important; flex-wrap: wrap !important; }
.ibc-filter-label { font-size: 13.5px !important; font-weight: 600 !important; color: #4b5160 !important; margin: 0 !important; }
.ibc-filter-select {
	background: #fff !important; border: 1.5px solid var(--ibc-paper-border) !important; color: var(--ibc-paper-ink) !important;
	border-radius: 10px !important; padding: 10px 36px 10px 16px !important; font-size: 14px !important; font-weight: 600 !important;
	font-family: var(--ibc-sans) !important; cursor: pointer !important; appearance: none !important;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9'%3E%3Cpath d='M1 1l6 6 6-6' stroke='%234b5160' stroke-width='2' fill='none' fill-rule='evenodd'/%3E%3C/svg%3E") !important;
	background-repeat: no-repeat !important; background-position: right 14px center !important;
	transition: border-color .15s ease, box-shadow .15s ease !important;
}
.ibc-filter-select:hover, .ibc-filter-select:focus { outline: none !important; border-color: var(--ibc-gold) !important; box-shadow: 0 0 0 3px rgba(226,165,61,0.18) !important; }
.ibc-filter-empty { font-family: var(--ibc-sans) !important; color: #8a8578 !important; font-size: 14px !important; padding: 20px 0 !important; }

.ibc-influencer-grid { display: grid !important; grid-template-columns: repeat(auto-fill, minmax(270px, 1fr)) !important; gap: 22px !important; font-family: var(--ibc-sans) !important; }
.ibc-influencer-card {
	background: var(--ibc-paper) !important; border: 1px solid var(--ibc-paper-border) !important; border-radius: var(--ibc-radius-md) !important;
	padding: 28px 24px !important; box-shadow: 0 1px 3px rgba(20,20,10,0.05) !important;
	transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease !important;
	animation: ibcCardIn .4s ease both !important;
}
.ibc-influencer-card:hover { transform: translateY(-4px) !important; box-shadow: 0 16px 32px rgba(98,64,20,0.14) !important; border-color: var(--ibc-gold) !important; }
@keyframes ibcCardIn { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }

.ibc-inf-photo-row { display: flex !important; justify-content: center !important; margin-bottom: 16px !important; }
.ibc-card-photo { width: 96px !important; height: 96px !important; border-radius: 20px !important; object-fit: cover !important; display: block !important; box-shadow: 0 4px 14px rgba(0,0,0,0.12) !important; transition: transform .18s ease !important; }
.ibc-influencer-card:hover .ibc-card-photo, .ibc-influencer-card:hover .ibc-card-photo-initial { transform: scale(1.05) rotate(-1deg) !important; }
.ibc-card-photo-initial {
	display: flex !important; align-items: center !important; justify-content: center !important; border-radius: 20px !important;
	background: linear-gradient(135deg, var(--ibc-gold), #e0577a) !important; color: #fff !important;
	font-family: var(--ibc-serif) !important; font-weight: 600 !important; box-shadow: 0 4px 14px rgba(0,0,0,0.12) !important;
	transition: transform .18s ease !important;
}

.ibc-inf-name { font-family: var(--ibc-serif) !important; font-weight: 600 !important; font-size: 19px !important; color: var(--ibc-paper-ink) !important; margin: 0 0 10px !important; text-align: center !important; }

.ibc-inf-categories { display: flex !important; flex-wrap: wrap !important; justify-content: center !important; gap: 6px !important; margin-bottom: 16px !important; }
.ibc-category-tag { display: inline-block !important; background: #f5f2ea !important; color: #7a6f56 !important; border-radius: 999px !important; padding: 4px 12px !important; font-size: 11.5px !important; font-weight: 700 !important; }
.ibc-category-tag-more { background: transparent !important; color: #a9a294 !important; }

/* Distinct color per category — makes the grid feel vivid, not monochrome */
.ibc-cat-fitness    { background: #fde4d0 !important; color: #b5540c !important; }
.ibc-cat-comedy     { background: #fde0ef !important; color: #b8226e !important; }
.ibc-cat-finance    { background: #dcf5e3 !important; color: #157347 !important; }
.ibc-cat-vlogs      { background: #dde8fd !important; color: #2450c4 !important; }
.ibc-cat-travel     { background: #d8f3f0 !important; color: #0d7d72 !important; }
.ibc-cat-fashion    { background: #fbe0e8 !important; color: #c22458 !important; }
.ibc-cat-food       { background: #fdedd0 !important; color: #a8710a !important; }
.ibc-cat-gaming     { background: #ebe0fb !important; color: #6b28c4 !important; }
.ibc-cat-tech       { background: #dde9fb !important; color: #1d4ed8 !important; }
.ibc-cat-music      { background: #fbe0f9 !important; color: #a5158c !important; }
.ibc-cat-education  { background: #d8f3fb !important; color: #0a7fa0 !important; }
.ibc-cat-lifestyle  { background: #e7f5d0 !important; color: #57790c !important; }
.ibc-cat-parenting  { background: #fde8d8 !important; color: #b45a17 !important; }
.ibc-cat-other      { background: #ececec !important; color: #52525b !important; }

.ibc-inf-stats { display: flex !important; justify-content: center !important; margin-bottom: 16px !important; border-top: 1px solid #efeae0 !important; border-bottom: 1px solid #efeae0 !important; }
.ibc-inf-stat { flex: 1 !important; padding: 12px 6px !important; text-align: center !important; border-right: 1px solid #efeae0 !important; }
.ibc-inf-stat:last-child { border-right: none !important; }
.ibc-inf-stat strong { display: block !important; font-family: var(--ibc-serif) !important; font-size: 17px !important; color: var(--ibc-paper-ink) !important; font-weight: 600 !important; }
.ibc-inf-stat span { display: block !important; font-size: 10px !important; color: var(--ibc-paper-muted) !important; margin-top: 3px !important; text-transform: uppercase !important; letter-spacing: 0.4px !important; }

.ibc-inf-bio { font-size: 13px !important; color: #6b7280 !important; line-height: 1.55 !important; margin: 0 0 10px !important; text-align: center !important; }
.ibc-inf-platforms { font-size: 12px !important; color: #9b968a !important; margin: 0 0 16px !important; text-align: center !important; }
.ibc-influencer-card .ibc-btn-primary-solid { width: 100% !important; }
.ibc-influencer-card .ibc-offer-form { text-align: left !important; margin-top: 14px !important; }

/* Category picker on the edit-profile form */
.ibc-category-picker-label { font-weight: 600 !important; font-size: 13.5px !important; margin: 0 0 8px !important; }
.ibc-category-picker { display: flex !important; flex-wrap: wrap !important; gap: 8px !important; margin-bottom: 16px !important; }
.ibc-category-chip { position: relative !important; cursor: pointer !important; }
.ibc-category-chip input { position: absolute !important; opacity: 0 !important; width: 0 !important; height: 0 !important; }
.ibc-category-chip span {
	display: inline-block !important; padding: 8px 14px !important; border-radius: 999px !important; border: 1px solid #d8dbe3 !important;
	font-size: 13px !important; font-weight: 600 !important; color: #4b5160 !important; transition: all .15s ease !important;
}
.ibc-category-chip input:checked + span { background: var(--ibc-gold) !important; border-color: var(--ibc-gold) !important; color: var(--ibc-gold-ink) !important; }

@media (max-width: 640px) {
	.ibc-directory-hero { padding: 40px 22px !important; }
	.ibc-directory-hero-title { font-size: 30px !important; }
}

/* ===================== Dashboard ===================== */

.ibc-dashboard-wrap, .ibc-dashboard-wrap * { box-sizing: border-box !important; }
.ibc-dashboard-wrap {
	background: var(--ibc-ink) !important;
	color: var(--ibc-text) !important;
	padding: 36px !important;
	border-radius: var(--ibc-radius-lg) !important;
	font-family: var(--ibc-sans) !important;
	font-size: 15px !important;
	line-height: 1.6 !important;
	max-width: 1160px !important;
	margin: 0 auto !important;
	-webkit-font-smoothing: antialiased !important;
}
.ibc-dashboard-wrap h1, .ibc-dashboard-wrap h2, .ibc-dashboard-wrap h3,
.ibc-dashboard-wrap p, .ibc-dashboard-wrap ul, .ibc-dashboard-wrap li,
.ibc-dashboard-wrap table, .ibc-dashboard-wrap th, .ibc-dashboard-wrap td {
	font-family: var(--ibc-sans) !important; margin: 0; padding: 0;
}
.ibc-dashboard-wrap a { color: var(--ibc-gold) !important; }
.ibc-dashboard-wrap button { font-family: var(--ibc-sans) !important; }

/* Top bar */
.ibc-top-bar { display: flex !important; justify-content: space-between !important; align-items: center !important; margin-bottom: 26px !important; flex-wrap: wrap !important; gap: 10px !important; }
.ibc-top-bar-user { display: flex !important; align-items: center !important; gap: 10px !important; }
.ibc-top-bar-greeting { font-size: 13.5px !important; color: var(--ibc-muted) !important; }
.ibc-top-bar-greeting strong { color: var(--ibc-text) !important; }

/* Avatars */
.ibc-avatar-circle { color: #fff !important; border-radius: 50% !important; display: inline-flex !important; align-items: center !important; justify-content: center !important; font-weight: 700 !important; font-family: var(--ibc-serif) !important; flex-shrink: 0 !important; user-select: none !important; }
.ibc-avatar-solid { background: linear-gradient(135deg, var(--ibc-gold), #c9860f) !important; color: var(--ibc-gold-ink) !important; }
.ibc-avatar-outline { background: var(--ibc-surface) !important; border: 1.5px solid var(--ibc-rule) !important; color: var(--ibc-text) !important; }

/* Hero / profile */
.ibc-hero { display: flex !important; align-items: center !important; gap: 24px !important; padding: 34px 0 30px !important; border-bottom: 1px solid var(--ibc-rule-soft) !important; margin-bottom: 30px !important; }
.ibc-hero-info h1 { font-family: var(--ibc-serif) !important; font-weight: 600 !important; font-size: 30px !important; color: var(--ibc-text) !important; margin: 0 0 6px !important; letter-spacing: 0.2px !important; }
.ibc-hero-email { font-size: 14px !important; color: var(--ibc-muted) !important; margin: 0 0 2px !important; }
.ibc-hero-since { font-size: 13px !important; color: var(--ibc-faint) !important; margin: 0 !important; }

/* Ledger stat strip — one continuous row, thin dividers, not four boxed cards */
.ibc-ledger {
	display: flex !important; flex-wrap: wrap !important; background: var(--ibc-surface-raised) !important;
	border-radius: var(--ibc-radius-md) !important; margin-bottom: 30px !important; overflow: hidden !important;
}
.ibc-ledger-item {
	flex: 1 1 150px !important; padding: 22px 20px !important; text-align: left !important;
	border-right: 1px solid var(--ibc-rule-soft) !important;
}
.ibc-ledger-item:last-child { border-right: none !important; }
.ibc-ledger-value { display: block !important; font-family: var(--ibc-serif) !important; font-size: 30px !important; font-weight: 600 !important; color: var(--ibc-gold) !important; line-height: 1.1 !important; }
.ibc-ledger-caption { display: block !important; margin-top: 6px !important; font-size: 12.5px !important; color: var(--ibc-muted) !important; }

/* Tabs — underline style, not filled pill segments */
.ibc-tabs-nav { display: flex !important; flex-wrap: wrap !important; gap: 4px !important; border-bottom: 1px solid var(--ibc-rule) !important; margin-bottom: 26px !important; }
.ibc-tab-btn {
	background: transparent !important; color: var(--ibc-muted) !important; border: none !important;
	padding: 12px 18px !important; cursor: pointer; font-weight: 600 !important; font-size: 14px !important;
	border-bottom: 2px solid transparent !important; margin-bottom: -1px;
	transition: color .15s ease, border-color .15s ease;
}
.ibc-tab-btn:hover { color: #cbd2e1 !important; }
.ibc-tab-btn.ibc-tab-active { color: var(--ibc-text) !important; border-bottom-color: var(--ibc-gold) !important; }
.ibc-tab-icon { margin-right: 6px; }
.ibc-badge { background: #d9534f; color: #fff; border-radius: 999px; padding: 1px 7px; font-size: 11px; margin-left: 4px; font-weight: 700; }

.ibc-tab-panel { display: none !important; }
.ibc-tab-panel-active { display: block !important; animation: ibcFadeIn .18s ease !important; }
@keyframes ibcFadeIn { from { opacity: 0; transform: translateY(3px); } to { opacity: 1; transform: translateY(0); } }

/* Panel card — quiet container, header is a serif subheading + hairline, not a heavy chrome bar */
.ibc-panel-card { background: var(--ibc-surface) !important; border-radius: var(--ibc-radius-lg) !important; padding: 28px 30px !important; }
.ibc-panel-header { display: flex !important; justify-content: space-between !important; align-items: center !important; padding-bottom: 16px !important; margin-bottom: 20px !important; border-bottom: 1px solid var(--ibc-rule-soft) !important; }
.ibc-panel-header h2 { font-family: var(--ibc-serif) !important; font-weight: 600 !important; font-size: 20px !important; color: var(--ibc-text) !important; }
.ibc-panel-inner { font-family: var(--ibc-sans) !important; }
.ibc-empty-state { color: var(--ibc-muted) !important; font-size: 14px !important; padding: 10px 0 !important; }

/* Notifications — a real timeline, since it's genuinely chronological */
.ibc-timeline { list-style: none !important; margin: 0 !important; padding: 0 !important; position: relative !important; }
.ibc-timeline li { display: flex !important; gap: 14px !important; padding-bottom: 22px !important; position: relative !important; }
.ibc-timeline li:last-child { padding-bottom: 0 !important; }
.ibc-timeline li::before {
	content: "" !important; position: absolute !important; left: 4px !important; top: 16px !important; bottom: -4px !important; width: 1px !important; background: var(--ibc-rule) !important;
}
.ibc-timeline li:last-child::before { display: none !important; }
.ibc-timeline-dot { flex-shrink: 0 !important; width: 9px !important; height: 9px !important; border-radius: 50% !important; background: var(--ibc-rule) !important; margin-top: 6px !important; z-index: 1 !important; }
.ibc-timeline-unread .ibc-timeline-dot { background: var(--ibc-gold) !important; box-shadow: 0 0 0 3px rgba(226,165,61,0.2) !important; }
.ibc-timeline-body { flex: 1 !important; }
.ibc-timeline-date { display: block !important; font-size: 12px !important; color: var(--ibc-faint) !important; margin-bottom: 3px !important; }
.ibc-timeline-message { font-size: 14.5px !important; color: var(--ibc-text) !important; line-height: 1.5 !important; }
.ibc-timeline-unread .ibc-timeline-message { font-weight: 600 !important; }

/* Ledger-style table for My Offers */
.ibc-ledger-table { width: 100% !important; border-collapse: collapse !important; font-family: var(--ibc-sans) !important; }
.ibc-ledger-table th, .ibc-ledger-table td { border-bottom: 1px solid var(--ibc-rule-soft) !important; padding: 14px 10px !important; text-align: left !important; color: var(--ibc-text) !important; }
.ibc-ledger-table th { color: var(--ibc-faint) !important; font-size: 11.5px !important; font-weight: 600 !important; text-transform: none !important; }
.ibc-ledger-table tbody tr:hover { background: rgba(255,255,255,0.02) !important; }
.ibc-ledger-amount { font-family: var(--ibc-serif) !important; font-weight: 600 !important; color: var(--ibc-gold) !important; font-size: 15px !important; }
.ibc-muted { color: var(--ibc-muted) !important; }

/* Status pills */
.ibc-status-pill { display: inline-block !important; padding: 5px 13px !important; border-radius: 999px !important; font-size: 11.5px !important; font-weight: 700 !important; background: #334155 !important; color: #e2e8f0 !important; }
.ibc-status-pill.ibc-status-pending { background: #3a2e17 !important; color: #f0c479 !important; }
.ibc-status-pill.ibc-status-contacted { background: #1c2c4a !important; color: #a9c5f2 !important; }
.ibc-status-pill.ibc-status-negotiating { background: #2e2145 !important; color: #cbb2f2 !important; }
.ibc-status-pill.ibc-status-closed_paid { background: #163220 !important; color: #9fe0b4 !important; }
.ibc-status-pill.ibc-status-cancelled { background: #3a1c1c !important; color: #f0a3a3 !important; }

/* Dashboard-embedded forms + directory cards inherit dark theme */
.ibc-dashboard-wrap .ibc-form-wrap { max-width: 100%; }
.ibc-dashboard-wrap .ibc-form-wrap label { color: #c3cadb !important; }
.ibc-dashboard-wrap .ibc-form-wrap input,
.ibc-dashboard-wrap .ibc-form-wrap textarea,
.ibc-dashboard-wrap .ibc-form-wrap select {
	background: var(--ibc-ink) !important; color: var(--ibc-text) !important; border: 1px solid var(--ibc-rule) !important;
}
.ibc-dashboard-wrap .ibc-form-wrap button {
	background: var(--ibc-gold) !important; color: var(--ibc-gold-ink) !important; border-radius: 999px !important;
	padding: 12px 26px !important; font-weight: 700 !important; border: none !important; cursor: pointer;
}
.ibc-dashboard-wrap .ibc-form-wrap button:hover { background: var(--ibc-gold-strong) !important; }
.ibc-dashboard-wrap .ibc-success { color: #86e0a6 !important; }
.ibc-dashboard-wrap .ibc-error { color: #f0a3a3 !important; }

.ibc-dashboard-wrap .ibc-directory { grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); }
.ibc-dashboard-wrap .ibc-card { background: var(--ibc-surface-raised) !important; border: 1px solid var(--ibc-rule) !important; box-shadow: none; }
.ibc-dashboard-wrap .ibc-card h3 { color: var(--ibc-text) !important; }
.ibc-dashboard-wrap .ibc-card p { color: #b7c0d4 !important; }
.ibc-dashboard-wrap .ibc-card p strong { color: var(--ibc-muted) !important; }
.ibc-dashboard-wrap .ibc-note { color: var(--ibc-faint) !important; }
.ibc-dashboard-wrap .ibc-photo-placeholder { background: var(--ibc-surface); color: var(--ibc-faint); }
.ibc-dashboard-wrap .ibc-offer-form { background: var(--ibc-ink) !important; border-radius: 10px !important; }
.ibc-dashboard-wrap .ibc-my-selections li { border-bottom-color: var(--ibc-rule-soft); color: var(--ibc-text); }

.ibc-dashboard-wrap .ibc-influencer-grid { grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)) !important; }
.ibc-dashboard-wrap .ibc-influencer-card { background: var(--ibc-surface-raised) !important; border: 1px solid var(--ibc-rule) !important; box-shadow: none !important; }
.ibc-dashboard-wrap .ibc-inf-name { color: var(--ibc-text) !important; }
.ibc-dashboard-wrap .ibc-inf-bio { color: #b7c0d4 !important; }
.ibc-dashboard-wrap .ibc-inf-platforms { color: var(--ibc-faint) !important; }
.ibc-dashboard-wrap .ibc-inf-stats { border-color: var(--ibc-rule-soft) !important; }
.ibc-dashboard-wrap .ibc-inf-stat { border-color: var(--ibc-rule-soft) !important; }
.ibc-dashboard-wrap .ibc-inf-stat strong { color: var(--ibc-gold) !important; }
.ibc-dashboard-wrap .ibc-inf-stat span { color: var(--ibc-faint) !important; }
.ibc-dashboard-wrap .ibc-filter-label { color: var(--ibc-muted) !important; }
.ibc-dashboard-wrap .ibc-filter-select { background-color: var(--ibc-surface-raised) !important; border-color: var(--ibc-rule) !important; color: var(--ibc-text) !important; }
.ibc-dashboard-wrap .ibc-filter-empty { color: var(--ibc-muted) !important; }
.ibc-dashboard-wrap .ibc-category-picker-label { color: #c3cadb !important; }
.ibc-dashboard-wrap .ibc-category-chip span { border-color: var(--ibc-rule) !important; color: #c3cadb !important; }

/* Responsive */
@media (max-width: 640px) {
	.ibc-dashboard-wrap { padding: 20px !important; border-radius: 12px !important; }
	.ibc-hero { flex-direction: column; align-items: flex-start; gap: 16px; text-align: left; }
	.ibc-ledger { flex-direction: column; }
	.ibc-ledger-item { border-right: none; border-bottom: 1px solid var(--ibc-rule-soft); }
	.ibc-ledger-item:last-child { border-bottom: none; }
	.ibc-tabs-nav { overflow-x: auto; flex-wrap: nowrap; }
	.ibc-tab-btn { flex-shrink: 0; }
	.ibc-panel-card { padding: 20px; }
	.ibc-role-select { grid-template-columns: 1fr; }
	.ibc-auth-card { padding: 28px 22px; margin: 12px; }
}

/* =========================================================================
   Polaroid-style influencer cards (matches team/staff polaroid design)
   ========================================================================= */

.ibc-polaroid-grid {
	display: grid !important;
	grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)) !important;
	gap: 28px 24px !important;
	font-family: var(--ibc-sans) !important;
	padding: 8px 0 24px !important;
}

.ibc-polaroid-card {
	background: transparent !important;
	border: none !important;
	padding: 0 !important;
	margin: 0 !important;
	cursor: pointer !important;
	text-align: left !important;
	appearance: none !important;
	-webkit-appearance: none !important;
	animation: ibcCardIn .4s ease both !important;
	transition: transform .2s ease !important;
}

.ibc-polaroid-card:hover {
	transform: translateY(-6px) rotate(-0.5deg) !important;
}

.ibc-polaroid-card:focus {
	outline: none !important;
}

.ibc-polaroid-card:focus-visible .ibc-polaroid-inner {
	box-shadow: 0 0 0 3px rgba(226,165,61,0.45), 0 12px 28px rgba(0,0,0,0.12) !important;
}

.ibc-polaroid-inner {
	background: #fff !important;
	border-radius: 4px !important;
	padding: 12px 12px 18px !important;
	box-shadow:
		0 1px 2px rgba(0,0,0,0.06),
		0 8px 24px rgba(0,0,0,0.08) !important;
	transition: box-shadow .2s ease, transform .2s ease !important;
	display: flex !important;
	flex-direction: column !important;
	align-items: stretch !important;
}

.ibc-polaroid-card:hover .ibc-polaroid-inner {
	box-shadow:
		0 4px 8px rgba(0,0,0,0.08),
		0 16px 36px rgba(0,0,0,0.12) !important;
}

.ibc-polaroid-photo {
	position: relative !important;
	width: 100% !important;
	aspect-ratio: 1 / 1.05 !important;
	overflow: hidden !important;
	background: #e8e4dc !important;
	border-radius: 2px !important;
}

.ibc-polaroid-img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
	display: block !important;
	border-radius: 2px !important;
}

.ibc-polaroid-initial {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	background: linear-gradient(135deg, #c9a66b, #8b7355) !important;
	color: #fff !important;
	font-family: var(--ibc-serif) !important;
	font-weight: 600 !important;
	font-size: 48px !important;
}

.ibc-polaroid-caption {
	margin-top: 14px !important;
	text-align: center !important;
	padding: 0 4px !important;
}

.ibc-polaroid-name {
	display: block !important;
	font-family: "Great Vibes", "Segoe Script", "Brush Script MT", cursive !important;
	font-size: 26px !important;
	font-weight: 400 !important;
	color: #1a1a1a !important;
	line-height: 1.15 !important;
	margin: 0 0 4px !important;
	letter-spacing: 0.3px !important;
}

.ibc-polaroid-title {
	display: block !important;
	font-family: var(--ibc-sans) !important;
	font-size: 10.5px !important;
	font-weight: 600 !important;
	letter-spacing: 1.2px !important;
	text-transform: uppercase !important;
	color: #6b7280 !important;
	line-height: 1.3 !important;
}

/* Dark theme (dashboard) polaroid adjustments */
.ibc-dashboard-wrap .ibc-polaroid-inner {
	background: #f8f6f1 !important;
}
.ibc-dashboard-wrap .ibc-polaroid-name { color: #1a1a1a !important; }
.ibc-dashboard-wrap .ibc-polaroid-title { color: #6b7280 !important; }

/* =========================================================================
   Profile modal
   ========================================================================= */

.ibc-profile-modal {
	position: fixed !important;
	inset: 0 !important;
	z-index: 100000 !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	padding: 20px !important;
	font-family: var(--ibc-sans) !important;
}

.ibc-profile-modal[hidden] {
	display: none !important;
}

.ibc-profile-modal-backdrop {
	position: absolute !important;
	inset: 0 !important;
	background: rgba(11, 15, 26, 0.72) !important;
	backdrop-filter: blur(4px) !important;
}

.ibc-profile-modal-dialog {
	position: relative !important;
	z-index: 1 !important;
	background: #fff !important;
	border-radius: 16px !important;
	width: 100% !important;
	max-width: 560px !important;
	max-height: min(90vh, 720px) !important;
	overflow: hidden !important;
	display: flex !important;
	flex-direction: column !important;
	box-shadow: 0 24px 64px rgba(0,0,0,0.28) !important;
	animation: ibcModalIn .25s ease !important;
}

@keyframes ibcModalIn {
	from { opacity: 0; transform: translateY(12px) scale(0.98); }
	to { opacity: 1; transform: translateY(0) scale(1); }
}

.ibc-profile-modal-close {
	position: absolute !important;
	top: 12px !important;
	right: 14px !important;
	z-index: 2 !important;
	width: 36px !important;
	height: 36px !important;
	border: none !important;
	background: rgba(0,0,0,0.06) !important;
	border-radius: 50% !important;
	font-size: 22px !important;
	line-height: 1 !important;
	cursor: pointer !important;
	color: #374151 !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	transition: background .15s ease !important;
}

.ibc-profile-modal-close:hover {
	background: rgba(0,0,0,0.12) !important;
}

.ibc-profile-modal-body {
	padding: 28px 28px 16px !important;
	overflow-y: auto !important;
	flex: 1 !important;
}

.ibc-profile-modal-loading {
	text-align: center !important;
	padding: 40px 20px !important;
	color: #6b7280 !important;
	font-size: 15px !important;
}

.ibc-profile-modal-footer {
	padding: 16px 28px 24px !important;
	border-top: 1px solid #eee !important;
	background: #faf9f7 !important;
}

.ibc-modal-profile-header {
	display: flex !important;
	gap: 20px !important;
	align-items: flex-start !important;
	margin-bottom: 20px !important;
}

.ibc-modal-profile-photo {
	width: 110px !important;
	height: 110px !important;
	flex-shrink: 0 !important;
	border-radius: 10px !important;
	overflow: hidden !important;
	background: #e8e4dc !important;
	box-shadow: 0 4px 14px rgba(0,0,0,0.1) !important;
}

.ibc-modal-profile-photo .ibc-polaroid-img,
.ibc-modal-profile-photo .ibc-polaroid-initial {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
	font-size: 40px !important;
}

.ibc-modal-name {
	font-family: var(--ibc-serif) !important;
	font-size: 26px !important;
	font-weight: 600 !important;
	color: #1b2230 !important;
	margin: 0 0 4px !important;
	line-height: 1.2 !important;
}

.ibc-modal-title {
	font-size: 12px !important;
	font-weight: 700 !important;
	letter-spacing: 1px !important;
	text-transform: uppercase !important;
	color: #6b7280 !important;
	margin: 0 0 10px !important;
}

.ibc-modal-categories {
	justify-content: flex-start !important;
	margin-bottom: 0 !important;
}

.ibc-modal-stats {
	margin-bottom: 20px !important;
	border-radius: 10px !important;
	background: #f5f2ea !important;
	border: none !important;
}

.ibc-modal-stats .ibc-inf-stat {
	border-color: #e8e2d6 !important;
}

.ibc-modal-section {
	margin-bottom: 16px !important;
}

.ibc-modal-section h3 {
	font-family: var(--ibc-serif) !important;
	font-size: 15px !important;
	font-weight: 600 !important;
	color: #1b2230 !important;
	margin: 0 0 6px !important;
}

.ibc-modal-section p {
	margin: 0 !important;
	font-size: 14px !important;
	color: #4b5160 !important;
	line-height: 1.55 !important;
}

.ibc-modal-bio,
.ibc-modal-portfolio {
	white-space: pre-wrap !important;
}

.ibc-modal-deal-area .ibc-modal-select-btn {
	width: 100% !important;
}

.ibc-modal-offer-form {
	margin-top: 14px !important;
	text-align: left !important;
}

.ibc-modal-offer-form label {
	font-size: 13px !important;
	font-weight: 600 !important;
	color: #374151 !important;
}

.ibc-modal-offer-form input,
.ibc-modal-offer-form textarea {
	width: 100% !important;
	padding: 10px 12px !important;
	border: 1px solid #d8dbe3 !important;
	border-radius: 8px !important;
	font-size: 14px !important;
	font-family: var(--ibc-sans) !important;
	box-sizing: border-box !important;
	margin-top: 4px !important;
}

.ibc-modal-signin-prompt p {
	margin: 0 0 12px !important;
	font-size: 14px !important;
	color: #4b5160 !important;
	line-height: 1.5 !important;
}

.ibc-modal-signin-actions {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 10px !important;
	margin: 0 !important;
}

.ibc-modal-signin-actions a {
	text-decoration: none !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
}

@media (max-width: 520px) {
	.ibc-polaroid-grid {
		grid-template-columns: repeat(2, 1fr) !important;
		gap: 16px 12px !important;
	}
	.ibc-polaroid-name { font-size: 20px !important; }
	.ibc-polaroid-title { font-size: 9px !important; letter-spacing: 0.8px !important; }
	.ibc-modal-profile-header { flex-direction: column !important; align-items: center !important; text-align: center !important; }
	.ibc-modal-categories { justify-content: center !important; }
	.ibc-profile-modal-dialog { max-height: 95vh !important; }
	.ibc-profile-modal-body { padding: 22px 18px 12px !important; }
	.ibc-profile-modal-footer { padding: 14px 18px 20px !important; }
}

/* =========================================================================
   Hero search bar
   ========================================================================= */

.ibc-hero-search-wrap {
	position: relative !important;
	max-width: 480px !important;
	margin: 28px auto 0 !important;
	animation: ibcRise .6s ease .28s both !important;
}

.ibc-hero-search-icon {
	position: absolute !important;
	left: 16px !important;
	top: 50% !important;
	transform: translateY(-50%) !important;
	color: rgba(255,255,255,0.55) !important;
	pointer-events: none !important;
	display: flex !important;
	align-items: center !important;
}

.ibc-hero-search {
	width: 100% !important;
	box-sizing: border-box !important;
	padding: 14px 18px 14px 46px !important;
	border: 1.5px solid rgba(255,255,255,0.22) !important;
	border-radius: 999px !important;
	background: rgba(255,255,255,0.12) !important;
	color: #fff !important;
	font-family: var(--ibc-sans) !important;
	font-size: 15px !important;
	font-weight: 500 !important;
	outline: none !important;
	backdrop-filter: blur(8px) !important;
	transition: border-color .15s ease, background .15s ease, box-shadow .15s ease !important;
}

.ibc-hero-search::placeholder {
	color: rgba(255,255,255,0.55) !important;
}

.ibc-hero-search:focus {
	border-color: var(--ibc-gold) !important;
	background: rgba(255,255,255,0.18) !important;
	box-shadow: 0 0 0 3px rgba(226,165,61,0.28) !important;
}

.screen-reader-text {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0,0,0,0) !important;
	border: 0 !important;
}

/* =========================================================================
   Star ratings
   ========================================================================= */

.ibc-stars {
	display: inline-flex !important;
	align-items: center !important;
	gap: 1px !important;
	line-height: 1 !important;
	vertical-align: middle !important;
}

.ibc-star {
	color: #d1d5db !important;
	font-size: 14px !important;
}

.ibc-star-full { color: #e2a53d !important; }
.ibc-star-half { color: #e2a53d !important; opacity: 0.55 !important; }
.ibc-star-empty { color: #d1d5db !important; }

.ibc-stars-sm .ibc-star { font-size: 13px !important; }
.ibc-stars-md .ibc-star { font-size: 18px !important; }

.ibc-polaroid-rating {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 6px !important;
	margin-top: 8px !important;
}

.ibc-polaroid-rating-count {
	font-family: var(--ibc-sans) !important;
	font-size: 11px !important;
	color: #9ca3af !important;
	font-weight: 600 !important;
}

.ibc-modal-rating-row {
	display: flex !important;
	align-items: center !important;
	flex-wrap: wrap !important;
	gap: 8px !important;
	margin: 0 0 12px !important;
}

.ibc-modal-rating-text {
	font-size: 13.5px !important;
	color: #4b5160 !important;
}

.ibc-modal-rating-text strong {
	color: #1b2230 !important;
}

/* Review form + list */
.ibc-modal-reviews-section {
	border-top: 1px solid #efeae0 !important;
	padding-top: 18px !important;
	margin-top: 8px !important;
}

.ibc-review-form {
	background: #f5f2ea !important;
	border-radius: 12px !important;
	padding: 16px !important;
	margin-bottom: 18px !important;
}

.ibc-review-form-label {
	font-size: 13.5px !important;
	font-weight: 600 !important;
	color: #374151 !important;
	margin: 0 0 10px !important;
}

.ibc-star-input {
	display: flex !important;
	gap: 4px !important;
	margin-bottom: 12px !important;
}

.ibc-star-btn {
	background: none !important;
	border: none !important;
	padding: 0 2px !important;
	font-size: 28px !important;
	line-height: 1 !important;
	color: #d1d5db !important;
	cursor: pointer !important;
	transition: color .1s ease, transform .1s ease !important;
}

.ibc-star-btn:hover,
.ibc-star-btn.is-active {
	color: #e2a53d !important;
}

.ibc-star-btn:hover {
	transform: scale(1.12) !important;
}

.ibc-review-text {
	width: 100% !important;
	box-sizing: border-box !important;
	padding: 10px 12px !important;
	border: 1px solid #d8dbe3 !important;
	border-radius: 8px !important;
	font-size: 14px !important;
	font-family: var(--ibc-sans) !important;
	margin-bottom: 12px !important;
	resize: vertical !important;
	min-height: 72px !important;
}

.ibc-review-text:focus {
	outline: none !important;
	border-color: var(--ibc-gold) !important;
	box-shadow: 0 0 0 3px rgba(226,165,61,0.18) !important;
}

.ibc-review-status {
	display: block !important;
	margin-top: 10px !important;
	font-size: 13px !important;
	font-weight: 600 !important;
}

.ibc-reviews-list {
	display: flex !important;
	flex-direction: column !important;
	gap: 14px !important;
}

.ibc-review-item {
	padding-bottom: 14px !important;
	border-bottom: 1px solid #efeae0 !important;
}

.ibc-review-item:last-child {
	border-bottom: none !important;
	padding-bottom: 0 !important;
}

.ibc-review-item-header {
	display: flex !important;
	align-items: center !important;
	flex-wrap: wrap !important;
	gap: 8px !important;
	margin-bottom: 4px !important;
}

.ibc-review-brand {
	font-size: 14px !important;
	color: #1b2230 !important;
}

.ibc-review-date {
	font-size: 12px !important;
	color: #9ca3af !important;
	margin-left: auto !important;
}

.ibc-review-body {
	margin: 4px 0 0 !important;
	font-size: 13.5px !important;
	color: #4b5160 !important;
	line-height: 1.5 !important;
}

.ibc-no-reviews {
	margin: 0 !important;
	font-size: 13.5px !important;
}
