:root{
	--icb-bg:#0d0817;
	--icb-bg-2:#150e26;
	--icb-panel:#1a1230;
	--icb-panel-2:#1f1638;
	--icb-border:#332756;
	--icb-purple:#8b3ffb;
	--icb-purple-2:#a35bff;
	--icb-purple-glow:rgba(139,63,251,.35);
	--icb-text:#f1edfb;
	--icb-text-dim:#a89bce;
	--icb-green:#3ddc97;
	--icb-red:#ff5c7a;
	--icb-yellow:#ffb84d;
	--radius:14px;
}
*{box-sizing:border-box;}
body.icb-body{
	margin:0;
	font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
	background:radial-gradient(circle at 20% 0%, #241a42 0%, var(--icb-bg) 45%) fixed;
	color:var(--icb-text);
	min-height:100vh;
}
a{color:var(--icb-purple-2);}
.icb-scroll{scrollbar-width:thin;scrollbar-color:var(--icb-purple) var(--icb-bg-2);}

/* ---------- Login ---------- */
.icb-login-wrap{
	min-height:100vh;
	display:flex;
	align-items:center;
	justify-content:center;
	padding:24px;
}
.icb-login-card{
	width:100%;
	max-width:400px;
	background:linear-gradient(180deg,var(--icb-panel-2),var(--icb-panel));
	border:1px solid var(--icb-border);
	border-radius:20px;
	padding:40px 34px;
	box-shadow:0 20px 60px rgba(0,0,0,.5), 0 0 0 1px rgba(139,63,251,.08);
}
.icb-logo{display:flex;justify-content:center;margin-bottom:22px;}
.icb-logo img{max-height:56px;max-width:220px;}
.icb-logo-text{font-size:22px;font-weight:800;letter-spacing:.5px;color:var(--icb-text);}
.icb-login-title{text-align:center;font-size:15px;color:var(--icb-text-dim);margin:0 0 28px;}
.icb-field{margin-bottom:18px;}
.icb-field label{display:block;font-size:12px;color:var(--icb-text-dim);margin-bottom:6px;text-transform:uppercase;letter-spacing:.06em;}
.icb-field input{
	width:100%;padding:12px 14px;border-radius:10px;border:1px solid var(--icb-border);
	background:var(--icb-bg-2);color:var(--icb-text);font-size:14px;outline:none;transition:.15s;
}
.icb-field input:focus{border-color:var(--icb-purple);box-shadow:0 0 0 3px var(--icb-purple-glow);}
.icb-btn{
	width:100%;padding:13px;border:none;border-radius:10px;cursor:pointer;font-size:14px;font-weight:700;
	background:linear-gradient(135deg,var(--icb-purple),#5e22c9);color:#fff;transition:.15s;
}
.icb-btn:hover{filter:brightness(1.1);}
.icb-btn:disabled{opacity:.6;cursor:not-allowed;}
.icb-btn-secondary{background:var(--icb-panel-2);border:1px solid var(--icb-border);color:var(--icb-text);}
.icb-error{background:rgba(255,92,122,.12);border:1px solid rgba(255,92,122,.4);color:#ffb3c2;padding:10px 12px;border-radius:10px;font-size:13px;margin-bottom:16px;display:none;}
.icb-login-foot{margin-top:22px;text-align:center;font-size:12px;color:var(--icb-text-dim);}

/* ---------- Dashboard shell ---------- */
.icb-app{display:flex;min-height:100vh;}
.icb-sidebar{
	width:270px;flex:0 0 270px;background:var(--icb-bg-2);border-right:1px solid var(--icb-border);
	padding:22px 18px;position:sticky;top:0;height:100vh;overflow-y:auto;
}
.icb-brand{display:flex;align-items:center;gap:10px;margin-bottom:26px;padding:0 4px;}
.icb-brand img{max-height:34px;}
.icb-brand span{font-weight:800;font-size:15px;}
.icb-filter-group{margin-bottom:20px;}
.icb-filter-group h4{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--icb-text-dim);margin:0 0 10px;}
.icb-filter-group select,.icb-filter-group input{
	width:100%;padding:10px 12px;border-radius:9px;border:1px solid var(--icb-border);
	background:var(--icb-panel);color:var(--icb-text);font-size:13px;margin-bottom:8px;
}
.icb-chip-row{display:flex;flex-wrap:wrap;gap:6px;}
.icb-chip{
	padding:6px 12px;border-radius:20px;font-size:12px;border:1px solid var(--icb-border);
	background:var(--icb-panel);color:var(--icb-text-dim);cursor:pointer;user-select:none;
}
.icb-chip.active{background:var(--icb-purple);border-color:var(--icb-purple);color:#fff;}
.icb-logout{margin-top:20px;width:100%;background:transparent;border:1px solid var(--icb-border);color:var(--icb-text-dim);padding:10px;border-radius:9px;cursor:pointer;font-size:13px;}
.icb-logout:hover{border-color:var(--icb-red);color:var(--icb-red);}

.icb-main{flex:1;padding:26px 30px;max-width:100%;overflow-x:hidden;}
.icb-topbar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:22px;flex-wrap:wrap;}
.icb-topbar h1{font-size:22px;margin:0;}
.icb-search{flex:1;max-width:340px;}
.icb-search input{width:100%;padding:11px 14px;border-radius:10px;border:1px solid var(--icb-border);background:var(--icb-panel);color:var(--icb-text);}

.icb-tabs{display:flex;gap:8px;margin-bottom:20px;border-bottom:1px solid var(--icb-border);}
.icb-tab{padding:10px 16px;font-size:13px;color:var(--icb-text-dim);cursor:pointer;border-bottom:2px solid transparent;}
.icb-tab.active{color:#fff;border-color:var(--icb-purple);}
.icb-badge{display:inline-block;background:var(--icb-purple);color:#fff;border-radius:20px;font-size:10px;padding:1px 7px;margin-left:6px;}

.icb-add-wrap{position:relative;}
.icb-add-menu{
	display:none;position:absolute;right:0;top:44px;background:var(--icb-panel-2);border:1px solid var(--icb-border);
	border-radius:12px;overflow:hidden;min-width:230px;box-shadow:0 12px 30px rgba(0,0,0,.5);z-index:30;
}
.icb-add-menu.open{display:block;}
.icb-add-menu button{
	width:100%;text-align:left;padding:12px 16px;background:transparent;border:none;color:var(--icb-text);
	font-size:13px;cursor:pointer;display:flex;gap:10px;align-items:center;
}
.icb-add-menu button:hover{background:var(--icb-panel);}

.icb-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:16px;}
.icb-card{
	background:var(--icb-panel);border:1px solid var(--icb-border);border-radius:16px;overflow:hidden;cursor:pointer;
	transition:.15s;
}
.icb-card:hover{border-color:var(--icb-purple);transform:translateY(-2px);}
.icb-card-img{height:150px;background:var(--icb-panel-2) center/cover no-repeat;display:flex;align-items:center;justify-content:center;font-size:34px;color:var(--icb-text-dim);}
.icb-card-body{padding:14px;}
.icb-card-body h3{margin:0 0 4px;font-size:15px;}
.icb-card-body p{margin:0 0 10px;font-size:12px;color:var(--icb-text-dim);}
.icb-stat-row{display:flex;gap:8px;flex-wrap:wrap;font-size:11px;color:var(--icb-text-dim);}
.icb-stat-row span{display:inline-flex;align-items:center;gap:5px;background:var(--icb-bg-2);padding:4px 9px;border-radius:8px;}
.icb-stat-row span svg{flex-shrink:0;display:block;}
.icb-stat-row span b{font-weight:700;color:var(--icb-text);}
.icb-status-pill{position:absolute;margin:10px;font-size:10px;padding:3px 9px;border-radius:20px;font-weight:700;text-transform:uppercase;}
.icb-status-pending{background:rgba(255,184,77,.15);color:var(--icb-yellow);border:1px solid rgba(255,184,77,.4);}
.icb-status-approved{background:rgba(61,220,151,.15);color:var(--icb-green);border:1px solid rgba(61,220,151,.4);}
.icb-status-rejected{background:rgba(255,92,122,.15);color:var(--icb-red);border:1px solid rgba(255,92,122,.4);}
.icb-status-invited{background:rgba(163,91,255,.15);color:var(--icb-purple-2);border:1px solid rgba(163,91,255,.4);}
.icb-card-top{position:relative;}

.icb-empty{color:var(--icb-text-dim);padding:60px 0;text-align:center;font-size:14px;}

/* ---------- Modal ---------- */
.icb-modal-bg{display:none;position:fixed;inset:0;background:rgba(6,4,14,.72);z-index:100;align-items:flex-start;justify-content:center;padding:40px 16px;overflow-y:auto;}
.icb-modal-bg.open{display:flex;}
.icb-modal{background:var(--icb-panel);border:1px solid var(--icb-border);border-radius:18px;max-width:640px;width:100%;padding:26px;position:relative;}
.icb-modal h2{margin:0 0 18px;font-size:18px;}
.icb-modal-close{position:absolute;top:16px;right:18px;background:none;border:none;color:var(--icb-text-dim);font-size:20px;cursor:pointer;}
.icb-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.icb-form-grid .icb-full{grid-column:1/-1;}
.icb-form-grid label{display:block;font-size:11px;color:var(--icb-text-dim);margin-bottom:5px;text-transform:uppercase;letter-spacing:.05em;}
.icb-form-grid input,.icb-form-grid select,.icb-form-grid textarea{
	width:100%;padding:10px 12px;border-radius:9px;border:1px solid var(--icb-border);background:var(--icb-bg-2);color:var(--icb-text);font-size:13px;
}
.icb-platform-block{border:1px solid var(--icb-border);border-radius:12px;padding:12px;margin-top:8px;grid-column:1/-1;}
.icb-platform-block h5{margin:0 0 10px;font-size:12px;color:var(--icb-purple-2);text-transform:uppercase;}
.icb-modal-actions{display:flex;gap:10px;margin-top:20px;justify-content:flex-end;}
.icb-modal-actions .icb-btn{width:auto;padding:10px 20px;}

/* ---------- Profile view ---------- */
.icb-profile-head{display:flex;gap:20px;align-items:center;flex-wrap:wrap;padding-bottom:18px;border-bottom:1px solid var(--icb-border);}
.icb-profile-img{width:110px;height:110px;border-radius:16px;object-fit:cover;background:var(--icb-bg-2);border:2px solid var(--icb-border);transition:.15s;}
.icb-profile-img:hover{border-color:var(--icb-purple);transform:scale(1.03);}
.icb-profile-name{font-size:21px;font-weight:800;margin:0 0 4px;}
.icb-profile-cat{color:var(--icb-text-dim);font-size:13px;}
.icb-profile-budget{margin-top:8px;display:inline-block;background:rgba(139,63,251,.15);color:var(--icb-purple-2);border:1px solid rgba(139,63,251,.35);font-size:12px;font-weight:700;padding:4px 10px;border-radius:8px;}
.icb-profile-section{margin-top:18px;}
.icb-profile-section h4{margin:0 0 10px;font-size:11px;text-transform:uppercase;letter-spacing:.07em;color:var(--icb-text-dim);}
.icb-copy-row{display:flex;align-items:center;gap:8px;background:var(--icb-bg-2);border:1px solid var(--icb-border);border-radius:9px;padding:9px 10px;margin-top:8px;}
.icb-copy-row span{flex:1;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.icb-copy-btn{background:var(--icb-purple);border:none;color:#fff;font-size:11px;padding:6px 10px;border-radius:7px;cursor:pointer;flex-shrink:0;transition:.15s;}
.icb-copy-btn:hover{filter:brightness(1.15);}
.icb-open-btn{background:var(--icb-panel-2);border:1px solid var(--icb-border);}
.icb-platform-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin-top:0;}
.icb-pstat{background:var(--icb-bg-2);border:1px solid var(--icb-border);border-radius:12px;padding:12px;}
.icb-pstat h5{margin:0 0 6px;font-size:11px;color:var(--icb-text-dim);text-transform:uppercase;display:flex;align-items:center;gap:6px;}
.icb-pstat h5 svg{flex-shrink:0;}
.icb-pstat .num{font-size:18px;font-weight:800;}
.icb-pstat .lbl{font-size:11px;color:var(--icb-text-dim);}

.icb-toast{position:fixed;bottom:20px;right:20px;background:var(--icb-panel-2);border:1px solid var(--icb-purple);padding:12px 18px;border-radius:10px;font-size:13px;z-index:200;display:none;}

/* ---------- Public submit form ---------- */
.icb-submit-wrap{max-width:640px;margin:0 auto;padding:50px 20px;}
.icb-submit-card{background:var(--icb-panel);border:1px solid var(--icb-border);border-radius:18px;padding:32px;}
.icb-submit-card h1{font-size:20px;margin:14px 0 4px;}
.icb-submit-card p.icb-sub{color:var(--icb-text-dim);font-size:13px;margin:0 0 24px;}
.icb-success{display:none;text-align:center;padding:40px 10px;}
.icb-success h2{color:var(--icb-green);}

/* ---------- Lightbox ---------- */
.icb-lightbox-bg{align-items:center;}
.icb-lightbox-bg img{max-width:min(90vw,720px);max-height:85vh;border-radius:14px;box-shadow:0 20px 60px rgba(0,0,0,.6);}

@media(max-width:820px){
	.icb-app{flex-direction:column;}
	.icb-sidebar{width:100%;flex:none;height:auto;position:relative;}
	.icb-form-grid{grid-template-columns:1fr;}
}
