:root{--cct-blue:#22a7f0;--cct-side-text:#76838f;--cct-side-hover:#2a363b}
.fi-body{background:#f9f9f9!important;color:#333;font-size:14px}
.fi-main-ctn,.fi-main,.fi-layout{background:transparent}
/* ---- Sidebar (Voyager sidebar-inverse) ---- */
.fi-sidebar{background:linear-gradient(45deg,#353d47,#21292e)!important;border:0!important;box-shadow:1px 0 2px rgba(0,0,0,.08)!important}
.fi-sidebar-header{background:transparent!important;box-shadow:none!important;border:0!important;min-height:60px;height:60px}
.fi-sidebar-header .cct-brand-name{color:#fff!important;text-transform:uppercase;font-weight:400;font-size:17px;letter-spacing:.02em}
.fi-sidebar-header .cct-brand-logo{height:30px}
.fi-sidebar-header .fi-icon-btn{color:var(--cct-side-text)!important}
.fi-sidebar-nav{padding:0!important;row-gap:0!important;gap:0!important}
.fi-sidebar-nav-groups,.fi-sidebar-group,.fi-sidebar-group-items{row-gap:0!important;gap:0!important;margin:0!important}
.fi-sidebar-item-btn{min-height:50px;height:50px;border-radius:0!important;padding:0 10px!important;gap:6px!important;background:transparent!important;transition:background .15s}
.fi-sidebar-item-icon{width:38px!important;height:18px!important;color:var(--cct-side-text)!important;flex-shrink:0}
.fi-sidebar-item-label{color:var(--cct-side-text)!important;font-size:15px!important;font-weight:400!important;white-space:nowrap!important;overflow:hidden;text-overflow:ellipsis}
.fi-sidebar-item-btn:hover{background:var(--cct-side-hover)!important}
.fi-sidebar-item-btn:hover .fi-sidebar-item-label,.fi-sidebar-item-btn:hover .fi-sidebar-item-icon,
.fi-sidebar-item.fi-active .fi-sidebar-item-label,.fi-sidebar-item.fi-active .fi-sidebar-item-icon{color:#fff!important}
.fi-sidebar-item-grouped-border{display:none!important}
.fi-sidebar-group-btn{min-height:50px;padding:0 10px 0 16px!important}
.fi-sidebar-group-label{color:var(--cct-side-text)!important;font-size:15px!important;font-weight:400!important;text-transform:none!important;letter-spacing:0!important}
.fi-sidebar-group-btn .fi-icon,.fi-sidebar-group-btn svg,.fi-sidebar-group-btn .fi-icon-btn{color:var(--cct-side-text)!important}
.fi-sidebar-group-items{background:rgba(0,0,0,.1)}
.fi-sidebar-group-items .fi-sidebar-item-btn{height:44px;min-height:44px}
.fi-sidebar .fi-sidebar-group{border:0!important}
/* user card (Voyager .panel.widget.bgimage) */
.cct-user-card{position:relative;margin:0 0 4px;background-size:cover;background-position:center;text-align:center;overflow:hidden}
.cct-user-dimmer{position:absolute;inset:0;background:rgba(33,41,46,.55)}
.cct-user-content{position:relative;padding:22px 15px 18px;color:#fff}
.cct-user-avatar{width:64px;height:64px;border-radius:50%;border:3px solid rgba(255,255,255,.85);margin:0 auto 8px;object-fit:cover;display:block}
.cct-user-content h4{font-size:16px;font-weight:600;margin:0;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cct-user-content p{font-size:12px;margin:2px 0 10px;color:rgba(255,255,255,.85);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cct-user-btn{display:inline-block;background:var(--cct-blue);color:#fff!important;border-radius:3px;padding:5px 14px;font-size:13px;opacity:.9;text-decoration:none}
.cct-user-btn:hover{opacity:1}
/* ---- Top bar ---- */
.fi-topbar{background:rgba(250,250,250,.9)!important;box-shadow:none!important;border-bottom:1px solid #eee!important;min-height:60px}
.fi-topbar .fi-icon-btn{color:var(--cct-side-text)}
/* ---- Page header: icon + bold title, actions beside it ---- */
.fi-header{flex-direction:row!important;align-items:center!important;justify-content:flex-start!important;column-gap:20px!important;flex-wrap:wrap}
.fi-header-heading{font-size:18px!important;line-height:43px!important;font-weight:700!important;color:#555!important;letter-spacing:0!important;display:inline-flex!important;align-items:center}
.fi-header-heading::before{font-family:"Voyager";font-size:36px;font-weight:400;margin-right:14px;line-height:1;color:#555}
.fi-header-actions-ctn{margin:0!important;align-self:flex-end}
.fi-breadcrumbs{font-size:13px}
/* ---- Panels & tables ---- */
.fi-section,.fi-ta-ctn,.fi-in-tabs,.fi-sc-tabs,.fi-fo-tabs{border-radius:0!important;box-shadow:0 2px 10px rgba(0,0,0,.05)!important}
.fi-section,.fi-ta-ctn{background:#fff}
.fi-ta-header-cell{background:#f8fafc!important;color:#526069!important}
.fi-ta-header-cell *{color:#526069}
.fi-ta-row:hover{background:#f6f6f6}
/* ---- Buttons (Voyager flat, 3px) ---- */
.fi-btn{border-radius:3px!important;font-weight:400!important;opacity:.92;box-shadow:none!important}
.fi-btn:hover{opacity:1}
.fi-input-wrp,.fi-select-input{border-radius:3px!important}
/* dashboard progress bar */
.cct-progress{background:#e9ecef;border-radius:3px;height:20px;min-width:120px;overflow:hidden}
.cct-progress-bar{background:#2ecc71;color:#fff;height:100%;font-size:12px;line-height:20px;text-align:center;white-space:nowrap;min-width:2.8em}

/* page icons */
.cct-page-dashboard .fi-header-heading::before{content:"\27"}.fi-resource-projects .fi-header-heading::before{content:"\3f"}.fi-resource-cohorts .fi-header-heading::before{content:"\74"}.fi-resource-participants .fi-header-heading::before{content:"\73"}.fi-resource-experiments .fi-header-heading::before{content:"\e00c"}.fi-resource-links .fi-header-heading::before{content:"\e063"}.fi-resource-data .fi-header-heading::before{content:"\4b"}.fi-resource-ccts .fi-header-heading::before{content:"\e03b"}.fi-resource-users .fi-header-heading::before{content:"\6b"}.fi-resource-roles .fi-header-heading::before{content:"\52"}.cct-page-media .fi-header-heading::before{content:"\69"}.cct-page-compass .fi-header-heading::before{content:"\e068"}.cct-page-settings .fi-header-heading::before{content:"\4e"}

/* exact Voyager button colours */
.fi-btn.fi-color-success:not(.fi-outlined){background-color:#2ecc71!important;color:#fff!important}
.fi-btn.fi-color-warning:not(.fi-outlined){background-color:#f39c12!important;color:#fff!important}
.fi-btn.fi-color-primary:not(.fi-outlined),.fi-btn.fi-color-info:not(.fi-outlined){background-color:#22a7f0!important;color:#fff!important}
.fi-btn.fi-color-danger:not(.fi-outlined){background-color:#fa2a00!important;color:#fff!important}
.fi-btn.fi-color-success:not(.fi-outlined) .fi-icon,.fi-btn.fi-color-warning:not(.fi-outlined) .fi-icon,.fi-btn.fi-color-primary:not(.fi-outlined) .fi-icon,.fi-btn.fi-color-info:not(.fi-outlined) .fi-icon,.fi-btn.fi-color-danger:not(.fi-outlined) .fi-icon{color:#fff!important}
/* top-level items 50px; only the labelled Admin Tools group is shaded with 44px rows */
.fi-sidebar-group-items{background:transparent}
.fi-sidebar-group-items .fi-sidebar-item-btn{height:50px;min-height:50px}
.fi-sidebar-group:has(> .fi-sidebar-group-btn) .fi-sidebar-group-items{background:rgba(0,0,0,.1)}
.fi-sidebar-group:has(> .fi-sidebar-group-btn) .fi-sidebar-item-btn{height:44px;min-height:44px}
