/* ============================================================
   CREDIT REPAIR PORTAL — v3 Bulletproof CSS
   High-specificity to defeat Elementor / theme overrides
   ============================================================ */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&display=swap');

/* ── RESET inside portal only ───────────────────────────── */
#crcp-portal, #crcp-portal *, #crcp-portal *::before, #crcp-portal *::after,
.crcp-login-wrap, .crcp-login-wrap *, .crcp-login-wrap *::before, .crcp-login-wrap *::after {
    box-sizing: border-box !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* ── BASE ───────────────────────────────────────────────── */
#crcp-portal {
    display: flex !important;
    width: 100% !important;
    min-height: 85vh !important;
    background: #f5f6f4 !important;
    border-radius: 20px !important;
    overflow: hidden !important;
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif !important;
    font-size: 14px !important;
    color: #2d3a2b !important;
    line-height: 1.5 !important;
    -webkit-font-smoothing: antialiased !important;
    position: relative !important;
}

/* ── SIDEBAR ────────────────────────────────────────────── */
#crcp-portal .crcp-sidebar {
    width: 220px !important;
    min-width: 220px !important;
    flex-shrink: 0 !important;
    background: #1C4B42 !important;
    display: flex !important;
    flex-direction: column !important;
    padding: 28px 14px !important;
    height: auto !important;
    min-height: 85vh !important;
    position: relative !important;
    z-index: 10 !important;
    overflow: hidden !important;
}

#crcp-portal .crcp-sidebar-brand {
    display: flex !important;
    align-items: center !important;
    gap: 11px !important;
    padding: 0 10px 28px !important;
    border-bottom: 1px solid rgba(255,255,255,0.1) !important;
    margin-bottom: 20px !important;
}

#crcp-portal .crcp-sidebar-logo {
    width: 32px !important;
    height: 32px !important;
    background: #B4E717 !important;
    border-radius: 8px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-shrink: 0 !important;
}

#crcp-portal .crcp-sidebar-logo svg {
    width: 17px !important;
    height: 17px !important;
    display: block !important;
}

#crcp-portal .crcp-sidebar-name {
    font-size: 13px !important;
    font-weight: 600 !important;
    color: rgba(255,255,255,0.92) !important;
    letter-spacing: -0.2px !important;
    line-height: 1.3 !important;
}

#crcp-portal .crcp-nav {
    flex: 1 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 3px !important;
}

#crcp-portal .crcp-nav-item {
    display: flex !important;
    align-items: center !important;
    gap: 11px !important;
    padding: 11px 13px !important;
    border-radius: 10px !important;
    text-decoration: none !important;
    color: rgba(255,255,255,0.5) !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    border: 1px solid transparent !important;
    transition: all 0.18s !important;
    line-height: 1 !important;
}

#crcp-portal .crcp-nav-item:hover {
    background: rgba(255,255,255,0.08) !important;
    color: rgba(255,255,255,0.85) !important;
}

#crcp-portal .crcp-nav-item.crcp-nav-active {
    background: rgba(180,231,23,0.13) !important;
    border-color: rgba(180,231,23,0.25) !important;
    color: #B4E717 !important;
    font-weight: 500 !important;
    box-shadow: inset 0 1px 0 rgba(180,231,23,0.15) !important;
}

#crcp-portal .crcp-nav-icon {
    width: 17px !important;
    height: 17px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-shrink: 0 !important;
}

#crcp-portal .crcp-nav-icon svg {
    width: 15px !important;
    height: 15px !important;
    stroke-width: 1.75 !important;
    display: block !important;
}

#crcp-portal .crcp-nav-label {
    flex: 1 !important;
    font-size: 13px !important;
}

#crcp-portal .crcp-nav-badge {
    background: rgba(231,76,60,0.9) !important;
    color: #fff !important;
    font-size: 10px !important;
    font-weight: 600 !important;
    padding: 2px 7px !important;
    border-radius: 20px !important;
    line-height: 1.4 !important;
}

#crcp-portal .crcp-sidebar-footer {
    padding-top: 20px !important;
    border-top: 1px solid rgba(255,255,255,0.08) !important;
    margin-top: 12px !important;
}

#crcp-portal .crcp-sidebar-user {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 9px 11px !important;
    border-radius: 10px !important;
    background: rgba(255,255,255,0.06) !important;
}

#crcp-portal .crcp-sidebar-user-info {
    flex: 1 !important;
    min-width: 0 !important;
}

#crcp-portal .crcp-sidebar-user-name {
    font-size: 12px !important;
    font-weight: 500 !important;
    color: rgba(255,255,255,0.85) !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    display: block !important;
}

#crcp-portal .crcp-sidebar-user-role {
    font-size: 10px !important;
    color: rgba(255,255,255,0.3) !important;
    margin-top: 2px !important;
    display: block !important;
}

#crcp-portal .crcp-logout-btn {
    color: rgba(255,255,255,0.3) !important;
    background: none !important;
    border: none !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    padding: 4px !important;
    border-radius: 6px !important;
    transition: all 0.18s !important;
    text-decoration: none !important;
    flex-shrink: 0 !important;
}

#crcp-portal .crcp-logout-btn svg {
    width: 14px !important;
    height: 14px !important;
    stroke-width: 1.8 !important;
    display: block !important;
}

#crcp-portal .crcp-logout-btn:hover {
    color: rgba(255,255,255,0.75) !important;
    background: rgba(255,255,255,0.09) !important;
}

/* ── AVATARS ────────────────────────────────────────────── */
#crcp-portal .crcp-avatar-lg {
    width: 46px !important;
    height: 46px !important;
    border-radius: 50% !important;
    background: rgba(180,231,23,0.2) !important;
    border: 2px solid rgba(180,231,23,0.4) !important;
    color: #B4E717 !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-shrink: 0 !important;
}

#crcp-portal .crcp-avatar-sm {
    width: 32px !important;
    height: 32px !important;
    border-radius: 50% !important;
    background: linear-gradient(135deg, #B4E717, #7db000) !important;
    color: #1C4B42 !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-shrink: 0 !important;
}

/* ── MAIN COLUMN ────────────────────────────────────────── */
#crcp-portal .crcp-main {
    flex: 1 !important;
    background: #f5f6f4 !important;
    display: flex !important;
    flex-direction: column !important;
    min-width: 0 !important;
    overflow: hidden !important;
}

/* ── TOPBAR ─────────────────────────────────────────────── */
#crcp-portal .crcp-topbar {
    background: #ffffff !important;
    border-bottom: 1px solid #eaecea !important;
    padding: 0 28px !important;
    height: 58px !important;
    display: flex !important;
    align-items: center !important;
    gap: 14px !important;
    flex-shrink: 0 !important;
    position: sticky !important;
    top: 0 !important;
    z-index: 50 !important;
}

#crcp-portal .crcp-menu-toggle {
    display: none !important;
    background: none !important;
    border: none !important;
    cursor: pointer !important;
    color: #2d3a2b !important;
    padding: 4px !important;
    flex-shrink: 0 !important;
}

#crcp-portal .crcp-menu-toggle svg {
    width: 20px !important;
    height: 20px !important;
    stroke-width: 1.75 !important;
    display: block !important;
}

#crcp-portal .crcp-topbar-title {
    font-size: 14px !important;
    font-weight: 500 !important;
    color: #1C4B42 !important;
    flex: 1 !important;
    letter-spacing: -0.2px !important;
    text-transform: capitalize !important;
}

#crcp-portal .crcp-topbar-right {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    position: relative !important;
}

#crcp-portal .crcp-notif-bell {
    width: 34px !important;
    height: 34px !important;
    border-radius: 50% !important;
    background: #f0f2ef !important;
    border: none !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    position: relative !important;
    color: #5a6658 !important;
}

#crcp-portal .crcp-notif-bell svg {
    width: 15px !important;
    height: 15px !important;
    stroke-width: 1.75 !important;
    display: block !important;
}

#crcp-portal .crcp-notif-count {
    position: absolute !important;
    top: 6px !important;
    right: 6px !important;
    width: 7px !important;
    height: 7px !important;
    border-radius: 50% !important;
    background: #e74c3c !important;
    border: 1.5px solid #fff !important;
}

#crcp-portal .crcp-notif-panel {
    position: absolute !important;
    top: calc(100% + 10px) !important;
    right: 0 !important;
    width: 300px !important;
    background: #fff !important;
    border: 1px solid #eaecea !important;
    border-radius: 14px !important;
    box-shadow: 0 12px 40px rgba(0,0,0,0.13) !important;
    display: none !important;
    z-index: 200 !important;
    overflow: hidden !important;
}

#crcp-portal .crcp-notif-panel.crcp-open { display: block !important; }

#crcp-portal .crcp-notif-header {
    padding: 14px 18px !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    color: #1C4B42 !important;
    border-bottom: 1px solid #eaecea !important;
}

#crcp-portal .crcp-notif-item {
    padding: 12px 18px !important;
    border-bottom: 1px solid #f0f2ef !important;
}

#crcp-portal .crcp-notif-item:last-child { border-bottom: none !important; }
#crcp-portal .crcp-notif-unread { background: rgba(180,231,23,0.06) !important; }
#crcp-portal .crcp-notif-msg  { font-size: 12px !important; color: #2d3a2b !important; line-height: 1.5 !important; }
#crcp-portal .crcp-notif-time { font-size: 11px !important; color: #a8b0a6 !important; margin-top: 4px !important; }
#crcp-portal .crcp-notif-empty { padding: 20px 18px !important; text-align: center !important; font-size: 12px !important; color: #a8b0a6 !important; }

/* ── CONTENT AREA ───────────────────────────────────────── */
#crcp-portal .crcp-content {
    flex: 1 !important;
    overflow-y: auto !important;
    padding: 28px !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 20px !important;
}

#crcp-portal .crcp-content::-webkit-scrollbar { width: 4px !important; }
#crcp-portal .crcp-content::-webkit-scrollbar-thumb { background: #d4d8d3 !important; border-radius: 2px !important; }

/* ── PAGE HEADER ────────────────────────────────────────── */
#crcp-portal .crcp-page-header { padding-bottom: 4px !important; }
#crcp-portal .crcp-page-header h2 { font-size: 20px !important; font-weight: 500 !important; color: #1C4B42 !important; letter-spacing: -0.4px !important; margin: 0 !important; padding: 0 !important; border: none !important; background: none !important; }
#crcp-portal .crcp-page-header p  { color: #7a8a78 !important; font-size: 13px !important; margin-top: 5px !important; }

/* ── WELCOME BANNER ─────────────────────────────────────── */
#crcp-portal .crcp-welcome {
    background: linear-gradient(135deg, #1C4B42 0%, #2a6558 100%) !important;
    border-radius: 14px !important;
    padding: 26px 30px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    position: relative !important;
    overflow: hidden !important;
    gap: 16px !important;
}

#crcp-portal .crcp-welcome::before {
    content: '' !important;
    position: absolute !important;
    width: 220px !important;
    height: 220px !important;
    border-radius: 50% !important;
    border: 44px solid rgba(180,231,23,0.07) !important;
    top: -70px !important;
    right: -40px !important;
    pointer-events: none !important;
}

#crcp-portal .crcp-welcome-left {
    display: flex !important;
    align-items: center !important;
    gap: 16px !important;
    z-index: 1 !important;
}

#crcp-portal .crcp-welcome h2 {
    font-size: 17px !important;
    font-weight: 500 !important;
    color: #ffffff !important;
    letter-spacing: -0.3px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    background: none !important;
}

#crcp-portal .crcp-welcome-sub {
    font-size: 12px !important;
    color: rgba(255,255,255,0.55) !important;
    margin-top: 4px !important;
}

#crcp-portal .crcp-status-badge {
    background: rgba(180,231,23,0.16) !important;
    border: 1px solid rgba(180,231,23,0.3) !important;
    color: #B4E717 !important;
    font-size: 11px !important;
    font-weight: 500 !important;
    padding: 7px 16px !important;
    border-radius: 20px !important;
    z-index: 1 !important;
    flex-shrink: 0 !important;
    letter-spacing: 0.2px !important;
    white-space: nowrap !important;
}

/* ── SCORE CARDS GRID ───────────────────────────────────── */
#crcp-portal .crcp-score-grid {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 14px !important;
}

#crcp-portal .crcp-score-card {
    background: #ffffff !important;
    border: 1px solid rgba(0,0,0,0.06) !important;
    border-radius: 14px !important;
    padding: 22px 18px !important;
    text-align: center !important;
    box-shadow: 0 1px 12px rgba(0,0,0,0.05) !important;
    transition: transform 0.18s, box-shadow 0.18s !important;
    display: block !important;
}

#crcp-portal .crcp-score-card:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 24px rgba(0,0,0,0.09) !important;
}

#crcp-portal .crcp-score-card-highlight {
    background: #1C4B42 !important;
    border-color: rgba(255,255,255,0.08) !important;
    box-shadow: 0 4px 20px rgba(28,75,66,0.25) !important;
}

#crcp-portal .crcp-score-card-icon {
    width: 38px !important;
    height: 38px !important;
    border-radius: 10px !important;
    background: #eef2ec !important;
    color: #1C4B42 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 auto 14px !important;
}

#crcp-portal .crcp-score-card-highlight .crcp-score-card-icon {
    background: rgba(180,231,23,0.15) !important;
    color: #B4E717 !important;
}

#crcp-portal .crcp-score-card-icon svg {
    width: 17px !important;
    height: 17px !important;
    stroke-width: 1.75 !important;
    display: block !important;
}

#crcp-portal .crcp-score-card-label {
    font-size: 10px !important;
    color: #a8b0a6 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.6px !important;
    font-weight: 500 !important;
    display: block !important;
}

#crcp-portal .crcp-score-card-highlight .crcp-score-card-label { color: rgba(255,255,255,0.45) !important; }

#crcp-portal .crcp-score-card-value {
    font-size: 30px !important;
    font-weight: 600 !important;
    color: #1C4B42 !important;
    letter-spacing: -1px !important;
    margin: 7px 0 5px !important;
    line-height: 1 !important;
    display: block !important;
}

#crcp-portal .crcp-score-card-highlight .crcp-score-card-value { color: #B4E717 !important; }

#crcp-portal .crcp-score-card-sub {
    font-size: 11px !important;
    color: #a8b0a6 !important;
    display: block !important;
}

#crcp-portal .crcp-score-card-highlight .crcp-score-card-sub { color: rgba(255,255,255,0.35) !important; }
#crcp-portal .crcp-positive { color: #27ae60 !important; }

/* ── GLASS CARD ─────────────────────────────────────────── */
#crcp-portal .crcp-card {
    background: #ffffff !important;
    border: 1px solid rgba(0,0,0,0.06) !important;
    border-radius: 14px !important;
    box-shadow: 0 1px 12px rgba(0,0,0,0.05) !important;
    overflow: hidden !important;
}

#crcp-portal .crcp-card-header {
    padding: 18px 22px 14px !important;
    border-bottom: 1px solid rgba(0,0,0,0.05) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
}

#crcp-portal .crcp-card-header h3 {
    font-size: 13px !important;
    font-weight: 500 !important;
    color: #1C4B42 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    background: none !important;
}

#crcp-portal .crcp-card-header a {
    font-size: 12px !important;
    color: #7db000 !important;
    text-decoration: none !important;
    font-weight: 500 !important;
}

/* ── SECTION GRID ───────────────────────────────────────── */
#crcp-portal .crcp-section-grid {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 14px !important;
}

#crcp-portal .crcp-settings-grid {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 14px !important;
}

/* ── CARD BODY PADDING ──────────────────────────────────── */
#crcp-portal .crcp-card-body {
    padding: 20px 22px !important;
}

/* ── PROGRESS BAR ───────────────────────────────────────── */
#crcp-portal .crcp-progress-labels {
    display: flex !important;
    justify-content: space-between !important;
    font-size: 12px !important;
    color: #a8b0a6 !important;
    margin-bottom: 9px !important;
    padding: 0 !important;
}

#crcp-portal .crcp-progress-labels strong { color: #1C4B42 !important; font-weight: 500 !important; }

#crcp-portal .crcp-progress-track {
    height: 8px !important;
    background: #eaece8 !important;
    border-radius: 4px !important;
    overflow: hidden !important;
    margin-bottom: 14px !important;
}

#crcp-portal .crcp-progress-bar-animated {
    height: 100% !important;
    background: linear-gradient(90deg, #B4E717, #7db000) !important;
    border-radius: 4px !important;
    width: 0 !important;
    transition: width 1.2s ease !important;
    display: block !important;
}

#crcp-portal .crcp-progress-pct {
    font-size: 12px !important;
    font-weight: 500 !important;
    color: #7db000 !important;
}

#crcp-portal .crcp-progress-eta {
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    font-size: 12px !important;
    color: #7a8a78 !important;
    margin-top: 2px !important;
}

#crcp-portal .crcp-progress-eta svg {
    width: 13px !important;
    height: 13px !important;
    stroke-width: 1.75 !important;
    color: #a8b0a6 !important;
    flex-shrink: 0 !important;
    display: block !important;
}

#crcp-portal .crcp-progress-eta strong { color: #1C4B42 !important; font-weight: 500 !important; }

/* ── MONTHLY SUMMARY ────────────────────────────────────── */
#crcp-portal .crcp-summary-grid {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 10px !important;
}

#crcp-portal .crcp-summary-item {
    background: rgba(235,240,233,0.6) !important;
    border-radius: 10px !important;
    padding: 16px 12px !important;
    text-align: center !important;
}

#crcp-portal .crcp-summary-val {
    font-size: 22px !important;
    font-weight: 600 !important;
    color: #1C4B42 !important;
    letter-spacing: -0.5px !important;
    display: block !important;
}

#crcp-portal .crcp-summary-lbl {
    font-size: 10px !important;
    color: #a8b0a6 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    margin-top: 4px !important;
    display: block !important;
}

/* ── MOTIVATION BANNER ──────────────────────────────────── */
#crcp-portal .crcp-motivation {
    background: rgba(180,231,23,0.08) !important;
    border: 1px solid rgba(180,231,23,0.25) !important;
    border-radius: 14px !important;
    padding: 18px 24px !important;
    display: flex !important;
    align-items: center !important;
    gap: 16px !important;
}

#crcp-portal .crcp-motivation-icon {
    width: 40px !important;
    height: 40px !important;
    border-radius: 50% !important;
    background: rgba(180,231,23,0.15) !important;
    border: 1px solid rgba(180,231,23,0.3) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-shrink: 0 !important;
    color: #7db000 !important;
}

#crcp-portal .crcp-motivation-icon svg {
    width: 17px !important;
    height: 17px !important;
    stroke-width: 1.75 !important;
    display: block !important;
}

#crcp-portal .crcp-motivation-text strong {
    font-size: 13px !important;
    font-weight: 500 !important;
    color: #1C4B42 !important;
    display: block !important;
}

#crcp-portal .crcp-motivation-text span {
    display: block !important;
    font-size: 12px !important;
    color: #7a8a78 !important;
    margin-top: 4px !important;
    line-height: 1.5 !important;
}

/* ── TASK ROWS (dashboard preview) ─────────────────────── */
#crcp-portal .crcp-task-list { display: flex !important; flex-direction: column !important; }

#crcp-portal .crcp-task-item {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    padding: 12px 0 !important;
    border-bottom: 1px solid rgba(0,0,0,0.05) !important;
}

#crcp-portal .crcp-task-item:first-child { padding-top: 0 !important; }
#crcp-portal .crcp-task-item:last-child  { border-bottom: none !important; padding-bottom: 0 !important; }

#crcp-portal .crcp-task-check {
    width: 18px !important;
    height: 18px !important;
    border-radius: 50% !important;
    border: 1.5px solid #d4d8d2 !important;
    flex-shrink: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

#crcp-portal .crcp-task-check.done { background: #B4E717 !important; border-color: #B4E717 !important; }

#crcp-portal .crcp-task-check svg {
    width: 9px !important;
    height: 9px !important;
    stroke-width: 2.5 !important;
    color: #1C4B42 !important;
    display: block !important;
}

#crcp-portal .crcp-task-circle {
    width: 7px !important;
    height: 7px !important;
    border-radius: 50% !important;
    background: #d4d8d2 !important;
}

#crcp-portal .crcp-task-info { flex: 1 !important; }

#crcp-portal .crcp-task-name {
    font-size: 13px !important;
    color: #2d3a2b !important;
    font-weight: 400 !important;
    display: block !important;
}

#crcp-portal .crcp-task-desc {
    font-size: 11px !important;
    color: #7a8a78 !important;
    margin-top: 2px !important;
    display: block !important;
    line-height: 1.4 !important;
}

#crcp-portal .crcp-task-due {
    font-size: 11px !important;
    color: #a8b0a6 !important;
    margin-top: 3px !important;
    display: block !important;
}

#crcp-portal .crcp-task-badge {
    font-size: 10px !important;
    padding: 3px 9px !important;
    border-radius: 20px !important;
    font-weight: 500 !important;
    flex-shrink: 0 !important;
}

#crcp-portal .crcp-task-badge-urgent   { background: rgba(231,76,60,0.1) !important; color: #c0392b !important; }
#crcp-portal .crcp-task-badge-pending  { background: rgba(180,231,23,0.12) !important; color: #5a7800 !important; }
#crcp-portal .crcp-task-badge-completed{ background: rgba(39,174,96,0.1) !important; color: #1e8449 !important; }

/* ── MESSAGE ROWS ───────────────────────────────────────── */
#crcp-portal .crcp-msg-row {
    display: flex !important;
    align-items: flex-start !important;
    gap: 11px !important;
    padding: 12px 0 !important;
    border-bottom: 1px solid rgba(0,0,0,0.05) !important;
}

#crcp-portal .crcp-msg-row:first-child { padding-top: 0 !important; }
#crcp-portal .crcp-msg-row:last-child  { border-bottom: none !important; padding-bottom: 0 !important; }

#crcp-portal .crcp-msg-avatar {
    width: 28px !important;
    height: 28px !important;
    border-radius: 50% !important;
    background: rgba(28,75,66,0.1) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-shrink: 0 !important;
    color: #1C4B42 !important;
}

#crcp-portal .crcp-msg-avatar svg {
    width: 12px !important;
    height: 12px !important;
    stroke-width: 1.75 !important;
    display: block !important;
}

#crcp-portal .crcp-msg-text { font-size: 12px !important; color: #2d3a2b !important; flex: 1 !important; line-height: 1.5 !important; }
#crcp-portal .crcp-msg-time { font-size: 11px !important; color: #a8b0a6 !important; white-space: nowrap !important; padding-top: 1px !important; }

/* ── TASK FULL PAGE ─────────────────────────────────────── */
#crcp-portal .crcp-task-section { margin-bottom: 8px !important; }

#crcp-portal .crcp-task-section-title {
    font-size: 11px !important;
    font-weight: 600 !important;
    color: #1C4B42 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.6px !important;
    padding: 0 0 10px !important;
    display: block !important;
}

#crcp-portal .crcp-urgent-title { color: #e74c3c !important; }
#crcp-portal .crcp-done-title   { color: #27ae60 !important; }

#crcp-portal .crcp-task-row {
    background: #ffffff !important;
    border: 1px solid rgba(0,0,0,0.06) !important;
    border-radius: 11px !important;
    padding: 14px 18px !important;
    display: flex !important;
    align-items: center !important;
    gap: 13px !important;
    margin-bottom: 8px !important;
    box-shadow: 0 1px 8px rgba(0,0,0,0.04) !important;
}

#crcp-portal .crcp-task-row.crcp-task-urgent { border-left: 3px solid #e74c3c !important; }
#crcp-portal .crcp-task-row.crcp-task-completed { opacity: .65 !important; }
#crcp-portal .crcp-task-check-icon { flex-shrink: 0 !important; display: flex !important; align-items: center !important; }
#crcp-portal .crcp-task-check-icon svg { display: block !important; }
#crcp-portal .crcp-task-circle-empty { width: 17px !important; height: 17px !important; border-radius: 50% !important; border: 1.5px solid #d4d8d2 !important; }
#crcp-portal .crcp-task-row-title { font-size: 13px !important; font-weight: 400 !important; color: #2d3a2b !important; display: block !important; }
#crcp-portal .crcp-task-row-desc  { font-size: 11px !important; color: #7a8a78 !important; margin-top: 3px !important; display: block !important; line-height: 1.5 !important; }
#crcp-portal .crcp-strikethrough  { text-decoration: line-through !important; color: #a8b0a6 !important; }
#crcp-portal .crcp-task-row-actions { flex-shrink: 0 !important; }

#crcp-portal .crcp-task-complete-btn {
    background: #1C4B42 !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 7px !important;
    padding: 7px 13px !important;
    font-size: 11px !important;
    font-weight: 500 !important;
    cursor: pointer !important;
    font-family: 'Inter', sans-serif !important;
    transition: background 0.18s !important;
    white-space: nowrap !important;
}

#crcp-portal .crcp-task-complete-btn:hover { background: #245e52 !important; }
#crcp-portal .crcp-done-label { font-size: 11px !important; color: #27ae60 !important; font-weight: 500 !important; }

/* ── TIMELINE ───────────────────────────────────────────── */
#crcp-portal .crcp-timeline {
    display: flex !important;
    flex-direction: column !important;
    padding-left: 22px !important;
    position: relative !important;
}

#crcp-portal .crcp-tl-entry {
    display: flex !important;
    gap: 20px !important;
    padding-bottom: 24px !important;
    position: relative !important;
}

#crcp-portal .crcp-tl-entry:last-child { padding-bottom: 0 !important; }

#crcp-portal .crcp-tl-line {
    position: absolute !important;
    left: -13px !important;
    top: 22px !important;
    bottom: 0 !important;
    width: 1.5px !important;
    background: linear-gradient(180deg, rgba(28,75,66,0.2), rgba(28,75,66,0.04)) !important;
}

#crcp-portal .crcp-tl-entry:last-child .crcp-tl-line { display: none !important; }

#crcp-portal .crcp-tl-marker {
    position: absolute !important;
    left: -21px !important;
    top: 2px !important;
    width: 17px !important;
    height: 17px !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-shrink: 0 !important;
}

#crcp-portal .crcp-tl-completed .crcp-tl-marker { background: #1C4B42 !important; }
#crcp-portal .crcp-tl-in_progress .crcp-tl-marker { background: #f39c12 !important; }
#crcp-portal .crcp-tl-pending .crcp-tl-marker { background: #e0e4de !important; border: 2px solid #c8cdc6 !important; }
#crcp-portal .crcp-tl-pulse { width: 7px !important; height: 7px !important; border-radius: 50% !important; background: #fff !important; animation: crcp-pulse .9s infinite !important; }
#crcp-portal .crcp-tl-dot-inner { width: 7px !important; height: 7px !important; border-radius: 50% !important; background: #c8cdc6 !important; }

@keyframes crcp-pulse { 0%,100%{opacity:1} 50%{opacity:.2} }

#crcp-portal .crcp-tl-card {
    background: #ffffff !important;
    border: 1px solid rgba(0,0,0,0.06) !important;
    border-radius: 13px !important;
    padding: 18px 20px !important;
    flex: 1 !important;
    box-shadow: 0 1px 10px rgba(0,0,0,0.04) !important;
}

#crcp-portal .crcp-tl-date  { font-size: 10px !important; color: #a8b0a6 !important; text-transform: uppercase !important; letter-spacing: 0.5px !important; margin-bottom: 6px !important; display: block !important; }
#crcp-portal .crcp-tl-title { font-size: 13px !important; font-weight: 500 !important; color: #1C4B42 !important; margin-bottom: 5px !important; display: block !important; }
#crcp-portal .crcp-tl-desc  { font-size: 12px !important; color: #7a8a78 !important; line-height: 1.6 !important; margin-bottom: 10px !important; display: block !important; }

#crcp-portal .crcp-tl-status { font-size: 10px !important; padding: 3px 10px !important; border-radius: 20px !important; font-weight: 500 !important; }
#crcp-portal .crcp-tl-status-completed   { background: rgba(28,75,66,0.1) !important; color: #1C4B42 !important; }
#crcp-portal .crcp-tl-status-in_progress { background: rgba(243,156,18,0.12) !important; color: #b7770d !important; }
#crcp-portal .crcp-tl-status-pending     { background: #f0f2ef !important; color: #a8b0a6 !important; }

/* ── DOCUMENTS ──────────────────────────────────────────── */
#crcp-portal .crcp-doc-grid {
    display: grid !important;
    grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)) !important;
    gap: 14px !important;
}

#crcp-portal .crcp-doc-card {
    background: #ffffff !important;
    border: 1px solid rgba(0,0,0,0.06) !important;
    border-radius: 14px !important;
    padding: 22px 18px !important;
    text-align: center !important;
    box-shadow: 0 1px 10px rgba(0,0,0,0.04) !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
    transition: transform 0.18s, box-shadow 0.18s !important;
}

#crcp-portal .crcp-doc-card:hover { transform: translateY(-2px) !important; box-shadow: 0 6px 24px rgba(0,0,0,0.09) !important; }

#crcp-portal .crcp-doc-card-icon {
    width: 46px !important;
    height: 46px !important;
    border-radius: 12px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 auto !important;
}

#crcp-portal .crcp-doc-card-icon svg { width: 20px !important; height: 20px !important; stroke-width: 1.75 !important; display: block !important; }
#crcp-portal .crcp-doc-card-icon.pdf  { background: rgba(231,76,60,0.1) !important; color: #c0392b !important; }
#crcp-portal .crcp-doc-card-icon.docx { background: rgba(52,152,219,0.1) !important; color: #185fa5 !important; }
#crcp-portal .crcp-doc-card-icon.default { background: rgba(28,75,66,0.1) !important; color: #1C4B42 !important; }
#crcp-portal .crcp-doc-card-type  { font-size: 10px !important; color: #7db000 !important; font-weight: 600 !important; text-transform: uppercase !important; letter-spacing: 0.7px !important; display: block !important; }
#crcp-portal .crcp-doc-card-title { font-size: 12px !important; font-weight: 500 !important; color: #1C4B42 !important; line-height: 1.4 !important; display: block !important; }
#crcp-portal .crcp-doc-card-meta  { display: flex !important; justify-content: center !important; gap: 7px !important; font-size: 10px !important; color: #a8b0a6 !important; }
#crcp-portal .crcp-doc-card-date  { font-size: 10px !important; color: #a8b0a6 !important; display: block !important; }

#crcp-portal .crcp-doc-download {
    background: #1C4B42 !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 9px !important;
    padding: 9px 0 !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    cursor: pointer !important;
    width: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    font-family: 'Inter', sans-serif !important;
    transition: background 0.18s !important;
    text-decoration: none !important;
    margin-top: 4px !important;
}

#crcp-portal .crcp-doc-download svg { width: 13px !important; height: 13px !important; stroke-width: 2 !important; display: block !important; }
#crcp-portal .crcp-doc-download:hover { background: #245e52 !important; color: #fff !important; }

/* ── MESSAGES ───────────────────────────────────────────── */
#crcp-portal .crcp-chat-wrap { display: flex !important; flex-direction: column !important; gap: 14px !important; }

#crcp-portal .crcp-chat-messages {
    background: #fff !important;
    border: 1px solid rgba(0,0,0,0.06) !important;
    border-radius: 14px !important;
    padding: 20px !important;
    min-height: 300px !important;
    max-height: 440px !important;
    overflow-y: auto !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 18px !important;
    box-shadow: 0 1px 10px rgba(0,0,0,0.04) !important;
}

#crcp-portal .crcp-chat-msg { display: flex !important; gap: 11px !important; }
#crcp-portal .crcp-chat-admin  { flex-direction: row !important; }
#crcp-portal .crcp-chat-client { flex-direction: row-reverse !important; }

#crcp-portal .crcp-chat-avatar {
    width: 32px !important;
    height: 32px !important;
    border-radius: 50% !important;
    background: rgba(28,75,66,0.1) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    color: #1C4B42 !important;
    flex-shrink: 0 !important;
}

#crcp-portal .crcp-chat-avatar-client { background: linear-gradient(135deg, #B4E717, #7db000) !important; color: #1C4B42 !important; }
#crcp-portal .crcp-chat-avatar svg { width: 13px !important; height: 13px !important; stroke-width: 1.75 !important; display: block !important; }
#crcp-portal .crcp-chat-bubble-wrap { max-width: 72% !important; display: flex !important; flex-direction: column !important; gap: 4px !important; }
#crcp-portal .crcp-chat-client .crcp-chat-bubble-wrap { align-items: flex-end !important; }

#crcp-portal .crcp-chat-bubble-msg {
    background: #f5f6f4 !important;
    border: 1px solid rgba(0,0,0,0.05) !important;
    border-radius: 13px 13px 13px 4px !important;
    padding: 11px 14px !important;
    font-size: 13px !important;
    color: #2d3a2b !important;
    line-height: 1.55 !important;
}

#crcp-portal .crcp-chat-client .crcp-chat-bubble-msg {
    background: #1C4B42 !important;
    color: #ffffff !important;
    border-color: transparent !important;
    border-radius: 13px 13px 4px 13px !important;
}

#crcp-portal .crcp-chat-time { font-size: 10px !important; color: #a8b0a6 !important; padding: 0 3px !important; }

#crcp-portal .crcp-chat-compose {
    background: #fff !important;
    border: 1px solid rgba(0,0,0,0.06) !important;
    border-radius: 14px !important;
    padding: 16px 18px !important;
    box-shadow: 0 1px 10px rgba(0,0,0,0.04) !important;
}

#crcp-portal .crcp-chat-compose form { display: flex !important; gap: 11px !important; align-items: flex-end !important; }

#crcp-portal .crcp-chat-input {
    flex: 1 !important;
    border: 1.5px solid #e4e7e2 !important;
    border-radius: 9px !important;
    padding: 10px 13px !important;
    font-size: 13px !important;
    font-family: 'Inter', sans-serif !important;
    resize: none !important;
    color: #2d3a2b !important;
    background: #fafbf9 !important;
    outline: none !important;
    transition: border-color 0.18s !important;
}

#crcp-portal .crcp-chat-input:focus { border-color: #1C4B42 !important; }

#crcp-portal .crcp-chat-send {
    background: #1C4B42 !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 9px !important;
    padding: 10px 18px !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    cursor: pointer !important;
    font-family: 'Inter', sans-serif !important;
    display: flex !important;
    align-items: center !important;
    gap: 7px !important;
    white-space: nowrap !important;
    transition: background 0.18s !important;
}

#crcp-portal .crcp-chat-send svg { width: 13px !important; height: 13px !important; stroke-width: 2 !important; display: block !important; }
#crcp-portal .crcp-chat-send:hover { background: #245e52 !important; }

/* ── SETTINGS FORMS ─────────────────────────────────────── */
#crcp-portal .crcp-form-group { margin-bottom: 18px !important; }

#crcp-portal .crcp-form-group label {
    display: block !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    color: #1C4B42 !important;
    margin-bottom: 7px !important;
}

#crcp-portal .crcp-portal-input {
    width: 100% !important;
    padding: 10px 13px !important;
    border: 1.5px solid #e4e7e2 !important;
    border-radius: 9px !important;
    font-size: 13px !important;
    font-family: 'Inter', sans-serif !important;
    color: #2d3a2b !important;
    background: #fafbf9 !important;
    outline: none !important;
    transition: border-color 0.18s !important;
}

#crcp-portal .crcp-portal-input:focus { border-color: #1C4B42 !important; }
#crcp-portal .crcp-portal-input:disabled { color: #a8b0a6 !important; background: #f5f6f4 !important; }

#crcp-portal .crcp-portal-btn {
    background: #1C4B42 !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 9px !important;
    padding: 11px 22px !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    cursor: pointer !important;
    font-family: 'Inter', sans-serif !important;
    transition: background 0.18s !important;
}

#crcp-portal .crcp-portal-btn:hover { background: #245e52 !important; }

#crcp-portal .crcp-toggle-row {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 14px 0 !important;
    border-bottom: 1px solid rgba(0,0,0,0.05) !important;
}

#crcp-portal .crcp-toggle-row:last-child { border-bottom: none !important; }
#crcp-portal .crcp-toggle-label { font-size: 13px !important; color: #2d3a2b !important; }
#crcp-portal .crcp-toggle-sub   { font-size: 11px !important; color: #a8b0a6 !important; margin-top: 2px !important; }

#crcp-portal .crcp-toggle {
    width: 38px !important;
    height: 21px !important;
    border-radius: 11px !important;
    background: #B4E717 !important;
    position: relative !important;
    flex-shrink: 0 !important;
    cursor: pointer !important;
}

#crcp-portal .crcp-toggle::after {
    content: '' !important;
    position: absolute !important;
    right: 3px !important;
    top: 3px !important;
    width: 15px !important;
    height: 15px !important;
    border-radius: 50% !important;
    background: #fff !important;
}

#crcp-portal .crcp-toggle.off { background: #d4d8d2 !important; }
#crcp-portal .crcp-toggle.off::after { right: auto !important; left: 3px !important; }

/* ── ALERT ──────────────────────────────────────────────── */
#crcp-portal .crcp-alert {
    padding: 13px 16px !important;
    border-radius: 9px !important;
    font-size: 13px !important;
    display: flex !important;
    align-items: center !important;
    gap: 9px !important;
}

#crcp-portal .crcp-alert svg { width: 14px !important; height: 14px !important; flex-shrink: 0 !important; display: block !important; }
#crcp-portal .crcp-alert-success { background: #f0fff4 !important; color: #276749 !important; border: 1px solid #9ae6b4 !important; }
#crcp-portal .crcp-alert-error   { background: #fff5f5 !important; color: #c53030 !important; border: 1px solid #fed7d7 !important; }

/* ── PROGRESS HERO PAGE ─────────────────────────────────── */
#crcp-portal .crcp-progress-hero {
    background: #ffffff !important;
    border: 1px solid rgba(0,0,0,0.06) !important;
    border-radius: 14px !important;
    padding: 30px 36px !important;
    display: flex !important;
    align-items: center !important;
    gap: 36px !important;
    box-shadow: 0 1px 12px rgba(0,0,0,0.05) !important;
}

#crcp-portal .crcp-progress-hero-info h3 {
    font-size: 18px !important;
    font-weight: 500 !important;
    color: #1C4B42 !important;
    letter-spacing: -0.3px !important;
    margin: 0 0 10px !important;
    padding: 0 !important;
    border: none !important;
    background: none !important;
}

#crcp-portal .crcp-progress-hero-info p { color: #7a8a78 !important; font-size: 13px !important; line-height: 1.7 !important; }

#crcp-portal .crcp-eta-block {
    display: flex !important;
    align-items: center !important;
    gap: 7px !important;
    font-size: 12px !important;
    color: #7a8a78 !important;
    margin-top: 14px !important;
}

#crcp-portal .crcp-eta-block svg { width: 13px !important; height: 13px !important; stroke-width: 1.8 !important; display: block !important; }
#crcp-portal .crcp-eta-block strong { color: #1C4B42 !important; font-weight: 500 !important; }

/* ── EMPTY STATE ────────────────────────────────────────── */
#crcp-portal .crcp-empty-state {
    background: #fff !important;
    border: 1px solid rgba(0,0,0,0.06) !important;
    border-radius: 14px !important;
    padding: 48px 24px !important;
    text-align: center !important;
    box-shadow: 0 1px 10px rgba(0,0,0,0.04) !important;
}

#crcp-portal .crcp-empty-icon { margin-bottom: 16px !important; display: flex !important; justify-content: center !important; color: #a8b0a6 !important; }
#crcp-portal .crcp-empty-icon svg { width: 36px !important; height: 36px !important; stroke-width: 1.5 !important; display: block !important; }

#crcp-portal .crcp-empty-state h3 {
    font-size: 16px !important;
    font-weight: 500 !important;
    color: #1C4B42 !important;
    margin: 0 0 6px !important;
    padding: 0 !important;
    border: none !important;
    background: none !important;
}

#crcp-portal .crcp-empty-state p { color: #7a8a78 !important; font-size: 13px !important; }

/* ── MOBILE ─────────────────────────────────────────────── */
@media (max-width: 900px) {
    #crcp-portal .crcp-sidebar {
        position: fixed !important;
        left: -240px !important;
        top: 0 !important;
        height: 100vh !important;
        min-height: 100vh !important;
        transition: left .28s ease !important;
        z-index: 200 !important;
        box-shadow: none !important;
    }

    #crcp-portal .crcp-sidebar.crcp-sidebar-open {
        left: 0 !important;
        box-shadow: 4px 0 30px rgba(0,0,0,0.25) !important;
    }

    #crcp-portal .crcp-menu-toggle { display: flex !important; }
    #crcp-portal .crcp-score-grid  { grid-template-columns: 1fr 1fr !important; }
    #crcp-portal .crcp-section-grid, #crcp-portal .crcp-settings-grid { grid-template-columns: 1fr !important; }
    #crcp-portal .crcp-progress-hero { flex-direction: column !important; text-align: center !important; gap: 24px !important; }
    #crcp-portal .crcp-welcome { flex-direction: column !important; align-items: flex-start !important; gap: 14px !important; }
    #crcp-portal .crcp-content { padding: 18px !important; gap: 16px !important; }
}

@media (max-width: 580px) {
    #crcp-portal .crcp-score-grid { grid-template-columns: 1fr 1fr !important; }
    #crcp-portal .crcp-doc-grid   { grid-template-columns: 1fr 1fr !important; }
    #crcp-portal .crcp-content    { padding: 14px !important; }
    #crcp-portal .crcp-chat-compose form { flex-direction: column !important; }
}

/* ── LOGIN PAGE ─────────────────────────────────────────── */
.crcp-login-wrap {
    display: flex !important;
    min-height: 100vh !important;
    background: linear-gradient(135deg, #0f2922 0%, #1a3d32 50%, #0d2318 100%) !important;
    font-family: 'Inter', -apple-system, sans-serif !important;
}

.crcp-login-wrap * { box-sizing: border-box !important; }

.crcp-login-card {
    background: #fff !important;
    width: 100% !important;
    max-width: 440px !important;
    padding: 52px 44px !important;
    display: flex !important;
    flex-direction: column !important;
    box-shadow: 8px 0 40px rgba(0,0,0,0.2) !important;
    position: relative !important;
    z-index: 1 !important;
}

.crcp-login-logo { display: flex !important; align-items: center !important; gap: 13px !important; margin-bottom: 40px !important; }

.crcp-login-logo-icon {
    width: 34px !important;
    height: 34px !important;
    background: #B4E717 !important;
    border-radius: 8px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-shrink: 0 !important;
}

.crcp-login-logo-icon svg { width: 19px !important; height: 19px !important; display: block !important; }
.crcp-login-brand h1 { font-size: 16px !important; font-weight: 600 !important; color: #1C4B42 !important; letter-spacing: -0.3px !important; margin: 0 !important; padding: 0 !important; }
.crcp-login-brand p  { font-size: 10px !important; color: #a8b0a6 !important; text-transform: uppercase !important; letter-spacing: 0.8px !important; margin: 2px 0 0 !important; padding: 0 !important; }

.crcp-login-heading { margin-bottom: 32px !important; }
.crcp-login-heading h2 { font-size: 26px !important; font-weight: 600 !important; color: #1C4B42 !important; letter-spacing: -0.5px !important; margin: 0 !important; padding: 0 !important; }
.crcp-login-heading p  { color: #7a8a78 !important; margin: 7px 0 0 !important; padding: 0 !important; font-size: 13px !important; }

.crcp-alert { padding: 12px 16px !important; border-radius: 9px !important; font-size: 13px !important; display: flex !important; align-items: center !important; gap: 8px !important; margin-bottom: 20px !important; }
.crcp-alert svg { width: 14px !important; height: 14px !important; flex-shrink: 0 !important; display: block !important; }
.crcp-alert-error   { background: #fff5f5 !important; color: #c53030 !important; border: 1px solid #fed7d7 !important; }
.crcp-alert-success { background: #f0fff4 !important; color: #276749 !important; border: 1px solid #9ae6b4 !important; }

.crcp-login-form { display: flex !important; flex-direction: column !important; gap: 20px !important; }

.crcp-field label { display: block !important; font-size: 12px !important; font-weight: 500 !important; color: #1C4B42 !important; margin-bottom: 7px !important; }
.crcp-field-wrap { position: relative !important; }
.crcp-field-icon { position: absolute !important; left: 13px !important; top: 50% !important; transform: translateY(-50%) !important; color: #a8b0a6 !important; pointer-events: none !important; width: 15px !important; height: 15px !important; }
.crcp-field-icon svg { width: 15px !important; height: 15px !important; display: block !important; }

.crcp-field-wrap input {
    width: 100% !important;
    padding: 12px 42px !important;
    border: 1.5px solid #e4e7e2 !important;
    border-radius: 9px !important;
    font-size: 14px !important;
    color: #2d3a2b !important;
    font-family: 'Inter', sans-serif !important;
    background: #fafbf9 !important;
    outline: none !important;
    transition: border-color .2s, box-shadow .2s !important;
}

.crcp-field-wrap input:focus { border-color: #1C4B42 !important; box-shadow: 0 0 0 3px rgba(28,75,66,0.08) !important; background: #fff !important; }

.crcp-pw-toggle { position: absolute !important; right: 12px !important; top: 50% !important; transform: translateY(-50%) !important; background: none !important; border: none !important; cursor: pointer !important; color: #a8b0a6 !important; padding: 0 !important; display: flex !important; align-items: center !important; }
.crcp-pw-toggle svg { width: 15px !important; height: 15px !important; stroke-width: 1.75 !important; display: block !important; }

.crcp-field-row { display: flex !important; justify-content: space-between !important; align-items: center !important; }
.crcp-checkbox-label { display: flex !important; align-items: center !important; gap: 7px !important; font-size: 13px !important; color: #7a8a78 !important; cursor: pointer !important; }
.crcp-checkbox-label input[type="checkbox"] { accent-color: #1C4B42 !important; }
.crcp-forgot-link { font-size: 13px !important; color: #1C4B42 !important; text-decoration: none !important; }
.crcp-forgot-link:hover { text-decoration: underline !important; }

.crcp-login-btn {
    background: #1C4B42 !important;
    color: #fff !important;
    border: none !important;
    border-radius: 9px !important;
    padding: 14px 22px !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    cursor: pointer !important;
    font-family: 'Inter', sans-serif !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 9px !important;
    transition: background .2s !important;
    margin-top: 4px !important;
}

.crcp-login-btn svg { width: 15px !important; height: 15px !important; stroke-width: 2 !important; display: block !important; }
.crcp-login-btn:hover { background: #245e52 !important; }

.crcp-login-footer { margin-top: 24px !important; text-align: center !important; font-size: 12px !important; color: #a8b0a6 !important; }
.crcp-login-trust { display: flex !important; justify-content: center !important; gap: 18px !important; margin-top: 22px !important; }
.crcp-trust-item { font-size: 11px !important; color: #a8b0a6 !important; display: flex !important; align-items: center !important; gap: 5px !important; }
.crcp-trust-item svg { width: 11px !important; height: 11px !important; display: block !important; }

.crcp-login-bg {
    flex: 1 !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 20px !important;
    padding: 48px !important;
    position: relative !important;
    overflow: hidden !important;
}

.crcp-login-bg::before {
    content: '' !important;
    position: absolute !important;
    width: 600px !important;
    height: 600px !important;
    border-radius: 50% !important;
    border: 65px solid rgba(180,231,23,0.06) !important;
    top: -110px !important;
    right: -110px !important;
}

.crcp-login-bg-card { background: rgba(255,255,255,0.09) !important; border: 1px solid rgba(255,255,255,0.15) !important; border-radius: 14px !important; padding: 26px 32px !important; text-align: center !important; color: #fff !important; width: 200px !important; animation: crcp-float 3s ease-in-out infinite !important; }
.crcp-bg-card-1 { animation-delay: 0s !important; } .crcp-bg-card-2 { animation-delay: 1s !important; } .crcp-bg-card-3 { animation-delay: 2s !important; }
.crcp-bg-score { font-size: 36px !important; font-weight: 600 !important; color: #B4E717 !important; letter-spacing: -1px !important; display: block !important; }
.crcp-bg-label { font-size: 12px !important; opacity: .65 !important; margin-top: 5px !important; display: block !important; }
@keyframes crcp-float { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-10px)} }

@media (max-width: 640px) {
    .crcp-login-wrap { flex-direction: column !important; }
    .crcp-login-bg   { display: none !important; }
    .crcp-login-card { max-width: 100% !important; padding: 32px 22px !important; }
}

/* ── CARD BODY explicit padding ─────────────────────────── */
#crcp-portal .crcp-card-body {
    padding: 20px 22px !important;
}

/* Score chart canvas */
#crcp-portal canvas {
    max-width: 100% !important;
    display: block !important;
}

/* Ensure ring fill animates */
#crcp-portal .crcp-ring-fill {
    transition: stroke-dashoffset 1.5s ease 0.3s !important;
}

/* ── NUCLEAR SVG SIZE FIX — defeats all theme inheritance ── */
#crcp-portal svg,
#crcp-portal .crcp-nav-icon svg,
#crcp-portal .crcp-score-card-icon svg,
#crcp-portal .crcp-motivation-icon svg,
#crcp-portal .crcp-logout-btn svg,
#crcp-portal .crcp-menu-toggle svg,
#crcp-portal .crcp-notif-bell svg,
#crcp-portal .crcp-msg-avatar svg,
#crcp-portal .crcp-chat-avatar svg,
#crcp-portal .crcp-task-check svg,
#crcp-portal .crcp-doc-download svg,
#crcp-portal .crcp-chat-send svg,
#crcp-portal .crcp-progress-eta svg,
#crcp-portal .crcp-eta-block svg,
#crcp-portal .crcp-tl-marker svg,
#crcp-portal .crcp-empty-icon svg,
#crcp-portal .crcp-welcome-left svg {
    width: auto !important;
    height: auto !important;
    max-width: 100% !important;
    font-size: inherit !important;
    vertical-align: middle !important;
}

/* Specific icon containers — constrain SVG via parent */
#crcp-portal .crcp-nav-icon { width: 17px !important; height: 17px !important; }
#crcp-portal .crcp-nav-icon svg { width: 15px !important; height: 15px !important; max-width: 15px !important; max-height: 15px !important; }

#crcp-portal .crcp-score-card-icon svg { width: 18px !important; height: 18px !important; max-width: 18px !important; max-height: 18px !important; }

#crcp-portal .crcp-motivation-icon svg { width: 17px !important; height: 17px !important; max-width: 17px !important; max-height: 17px !important; }

#crcp-portal .crcp-logout-btn svg,
#crcp-portal .crcp-notif-bell svg { width: 15px !important; height: 15px !important; max-width: 15px !important; max-height: 15px !important; }

#crcp-portal .crcp-msg-avatar svg,
#crcp-portal .crcp-chat-avatar svg { width: 13px !important; height: 13px !important; max-width: 13px !important; max-height: 13px !important; }

#crcp-portal .crcp-task-check svg { width: 9px !important; height: 9px !important; max-width: 9px !important; max-height: 9px !important; }

#crcp-portal .crcp-menu-toggle svg { width: 20px !important; height: 20px !important; max-width: 20px !important; max-height: 20px !important; }

#crcp-portal .crcp-doc-download svg,
#crcp-portal .crcp-chat-send svg { width: 13px !important; height: 13px !important; max-width: 13px !important; max-height: 13px !important; }

#crcp-portal .crcp-empty-icon svg { width: 36px !important; height: 36px !important; max-width: 36px !important; max-height: 36px !important; }

/* Sidebar brand logo */
#crcp-portal .crcp-sidebar-logo svg { width: 17px !important; height: 17px !important; max-width: 17px !important; max-height: 17px !important; }

/* Prevent theme from making SVG display:block and stretching */
#crcp-portal .crcp-score-card-icon svg,
#crcp-portal .crcp-nav-icon svg,
#crcp-portal .crcp-motivation-icon svg {
    display: inline-block !important;
    flex-shrink: 0 !important;
}

/* Contain SVG inside icon boxes */
#crcp-portal .crcp-score-card-icon {
    overflow: hidden !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

/* Theme h2/h3 resets — many themes add huge margins/padding/borders */
#crcp-portal h2,
#crcp-portal h3,
#crcp-portal h4 {
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    background: none !important;
    box-shadow: none !important;
    font-family: 'Inter', -apple-system, sans-serif !important;
    line-height: 1.3 !important;
}

#crcp-portal p {
    margin: 0 !important;
    padding: 0 !important;
}

#crcp-portal a {
    text-decoration: none !important;
}

#crcp-portal ul, #crcp-portal ol, #crcp-portal li {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

#crcp-portal button {
    font-family: 'Inter', -apple-system, sans-serif !important;
    cursor: pointer !important;
}

#crcp-portal input, #crcp-portal textarea, #crcp-portal select {
    font-family: 'Inter', -apple-system, sans-serif !important;
}

/* Elementor container interference fix */
#crcp-portal.e-con,
#crcp-portal .e-con,
#crcp-portal .elementor-widget-wrap,
#crcp-portal .elementor-section {
    display: flex !important;
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* ── CALENDAR / ETA ICON — hard size lock ───────────────── */
#crcp-portal .crcp-progress-eta svg,
#crcp-portal .crcp-eta-block svg {
    width: 13px !important;
    height: 13px !important;
    min-width: 13px !important;
    min-height: 13px !important;
    max-width: 13px !important;
    max-height: 13px !important;
    display: inline-block !important;
    flex-shrink: 0 !important;
    vertical-align: middle !important;
    overflow: visible !important;
}

/* Final fallback — no SVG inside portal should ever exceed 36px unless it's the ring */
#crcp-portal svg:not(.crcp-ring):not(.crcp-ring-fill) {
    max-width: 36px !important;
    max-height: 36px !important;
}

/* Progress ring SVG must stay large */
#crcp-portal .crcp-progress-hero svg {
    max-width: 170px !important;
    max-height: 170px !important;
    width: 170px !important;
    height: 170px !important;
}

/* ── TOAST NOTIFICATIONS ────────────────────────────────── */
.crcp-toast {
    position: fixed !important;
    bottom: 28px !important;
    right: 28px !important;
    padding: 13px 20px !important;
    border-radius: 10px !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    box-shadow: 0 8px 30px rgba(0,0,0,0.15) !important;
    z-index: 9999 !important;
    opacity: 0 !important;
    transform: translateY(10px) !important;
    transition: opacity 0.25s ease, transform 0.25s ease !important;
    pointer-events: none !important;
    max-width: 320px !important;
}

.crcp-toast.crcp-toast-show {
    opacity: 1 !important;
    transform: translateY(0) !important;
}

.crcp-toast-success {
    background: #1C4B42 !important;
    color: #B4E717 !important;
}

.crcp-toast-error {
    background: #fff !important;
    color: #c0392b !important;
    border: 1px solid #fed7d7 !important;
}
