    /* Dashboard 4.0 */
    .d4-shell{
        max-width: 1440px;
        margin: 0 auto;
        padding: 0 0 28px;
    }

    .d4-header{
        margin-top: 4px;
        border-radius: 22px;
        border: 1px solid rgba(255,255,255,0.12);
        background:
            radial-gradient(1200px 500px at 0% 0%, rgba(124,140,255,0.18), transparent 55%),
            radial-gradient(900px 420px at 100% 0%, rgba(50,216,255,0.12), transparent 50%),
            linear-gradient(160deg, rgba(10,12,24,0.75) 0%, rgba(8,10,20,0.92) 45%, rgba(6,8,16,0.98) 100%);
        box-shadow: 0 22px 70px rgba(0,0,0,0.35);
        padding: 18px 18px;
        display:flex;
        justify-content: space-between;
        align-items:flex-start;
        gap: 18px;
    }

    .d4-eyebrow{
        display:flex;
        align-items:center;
        gap: 10px;
        color: rgba(230,235,255,0.82);
        text-transform: uppercase;
        letter-spacing: 0.12em;
        font-weight: 800;
        font-size: 0.72rem;
        margin-bottom: 10px;
    }
    .d4-eyebrow-dot{
        width: 9px;
        height: 9px;
        border-radius: 999px;
        background: linear-gradient(135deg, #7c8cff, #32d8ff);
        box-shadow: 0 0 0 4px rgba(124,140,255,0.16);
    }
    .d4-eyebrow-ver{
        padding: 4px 8px;
        border: 1px solid rgba(255,255,255,0.14);
        border-radius: 999px;
        background: rgba(255,255,255,0.04);
    }

    .d4-title{
        margin: 0;
        font-size: clamp(1.25rem, 1.3vw + 1rem, 1.95rem);
        color: #eef2ff;
        letter-spacing: -0.01em;
    }
    .d4-subtitle{
        margin: 8px 0 0;
        color: rgba(220,226,255,0.72);
        font-size: 0.95rem;
        line-height: 1.4;
    }

    .d4-header-right{
        display:flex;
        flex-direction: column;
        gap: 10px;
        align-items:flex-end;
        min-width: 220px;
    }

    .d4-plan-pill{
        display:flex;
        align-items:center;
        gap: 10px;
        text-decoration:none;
        border-radius: 999px;
        border: 1px solid rgba(255,255,255,0.14);
        background: rgba(255,255,255,0.04);
        padding: 10px 12px;
        color: #eef2ff;
        transition: transform .15s ease, border-color .15s ease;
        max-width: 100%;
    }
    .d4-plan-pill:hover{
        transform: translateY(-1px);
        border-color: rgba(124,140,255,0.55);
    }
    .d4-plan-pill i{ color: rgba(50,216,255,0.95); }
    .d4-plan-pill-label{
        color: rgba(220,226,255,0.65);
        font-weight: 700;
        font-size: 0.72rem;
        letter-spacing: 0.08em;
        text-transform: uppercase;
    }
    .d4-plan-pill-value{
        font-weight: 900;
        font-size: 0.92rem;
        overflow:hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .d4-balance{
        text-align:right;
    }
    .d4-balance-number{
        font-size: 1.55rem;
        font-weight: 950;
        color: #f3f6ff;
        line-height: 1;
        text-shadow: 0 10px 30px rgba(124,140,255,0.18);
    }
    .d4-balance-unit{
        margin-top: 4px;
        color: rgba(220,226,255,0.72);
        font-size: 0.86rem;
        font-weight: 700;
    }

    .d4-kpi-strip{
        margin-top: 12px;
        display:grid;
        grid-template-columns: repeat(5, minmax(0, 1fr));
        gap: 10px;
    }
    .d4-kpi{
        border-radius: 16px;
        border: 1px solid rgba(255,255,255,0.10);
        background: rgba(255,255,255,0.03);
        padding: 10px 12px;
        display:flex;
        flex-direction: column;
        gap: 6px;
        min-height: 74px;
    }
    .d4-kpi-icon{
        width: 30px;
        height: 30px;
        border-radius: 12px;
        display:flex;
        align-items:center;
        justify-content:center;
        background: rgba(124,140,255,0.16);
        color: #dbe1ff;
        border: 1px solid rgba(124,140,255,0.26);
    }
    .d4-kpi-icon--ok{ background: rgba(16,185,129,0.12); border-color: rgba(16,185,129,0.28); color: #bbf7d0; }
    .d4-kpi-icon--warn{ background: rgba(245,158,11,0.12); border-color: rgba(245,158,11,0.28); color: #fde68a; }
    .d4-kpi-icon--hit{ background: rgba(245,158,11,0.16); border-color: rgba(245,158,11,0.32); color: #ffedd5; }

    .d4-kpi-value{
        font-weight: 950;
        color: #f2f5ff;
        font-size: 1.1rem;
        line-height: 1.1;
    }
    .d4-kpi-label{
        color: rgba(220,226,255,0.68);
        font-size: 0.78rem;
        font-weight: 700;
    }

    .d4-grid{
        margin-top: 12px;
        display:grid;
        grid-template-columns: 0.95fr 1.25fr;
        gap: 12px;
        align-items:start;
    }

    /* 2x2 desktop placement: profile / analyses / transactions / insights */
    .d4-grid > .d4-card--analyses{
        grid-column: 2;
        grid-row: 1;
    }

    .d4-grid > .d4-card--tx{
        grid-column: 1;
        grid-row: 2;
    }

    .d4-grid > .d4-card--insights{
        grid-column: 2;
        grid-row: 2;
    }

    .d4-card{
        border-radius: 18px;
        border: 1px solid rgba(255,255,255,0.10);
        background: rgba(255,255,255,0.02);
        box-shadow: 0 18px 50px rgba(0,0,0,0.16);
        padding: 14px 14px;
        min-width: 0;
    }

    .d4-card--profile{
        background:
            radial-gradient(800px 420px at 10% 0%, rgba(124,140,255,0.12), transparent 55%),
            linear-gradient(160deg, rgba(255,255,255,0.03) 0%, rgba(255,255,255,0.01) 100%);
    }

    .d4-card-head{
        display:flex;
        justify-content: space-between;
        align-items:center;
        gap: 10px;
        margin-bottom: 10px;
    }

    .d4-card-head-left{
        display:flex;
        align-items:center;
        gap: 10px;
        font-weight: 900;
        color: #eef2ff;
        letter-spacing: -0.01em;
    }
    .d4-card-head-left i{ color: rgba(50,216,255,0.95); }

    .d4-card-link, .d4-text-link{
        color: rgba(50,216,255,0.92);
        text-decoration:none;
        font-weight: 800;
        font-size: 0.86rem;
        white-space: nowrap;
        padding: 6px 8px;
        border-radius: 10px;
        background: rgba(50,216,255,0.06);
        border: 1px solid rgba(50,216,255,0.12);
        transition: transform .15s ease, border-color .15s ease, background .15s ease;
    }
    .d4-card-link:hover, .d4-text-link:hover{
        transform: translateY(-1px);
        border-color: rgba(50,216,255,0.30);
        background: rgba(50,216,255,0.10);
    }

    .d4-sep{
        color: rgba(255,255,255,0.18);
        margin: 0 8px;
        font-weight: 700;
    }

    .d4-profile-row{
        display:flex;
        gap: 12px;
        align-items:flex-start;
        margin-bottom: 12px;
    }
    .d4-avatar{
        width: 62px;
        height: 62px;
        border-radius: 18px;
        overflow:hidden;
        border: 2px solid rgba(124,140,255,0.55);
        background: rgba(255,255,255,0.03);
        flex-shrink: 0;
    }
    .d4-avatar img{
        width:100%;
        height:100%;
        object-fit: cover;
    }

    .d4-profile-meta{
        flex: 1;
        min-width: 0;
    }
    .d4-profile-name{
        font-weight: 950;
        color: #f3f6ff;
        letter-spacing: -0.01em;
        font-size: 1.02rem;
        overflow:hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }
    .d4-profile-email{
        color: rgba(220,226,255,0.70);
        font-weight: 700;
        font-size: 0.86rem;
        margin-top: 4px;
        overflow:hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .d4-profile-lines{
        margin-top: 10px;
        display:flex;
        flex-direction: column;
        gap: 8px;
    }
    .d4-profile-line{
        display:flex;
        justify-content: space-between;
        gap: 12px;
        align-items: baseline;
    }
    .d4-profile-key{
        color: rgba(220,226,255,0.55);
        font-weight: 800;
        font-size: 0.78rem;
        flex-shrink: 0;
    }
    .d4-profile-val{
        color: rgba(240,244,255,0.92);
        font-weight: 850;
        font-size: 0.82rem;
        text-align:right;
        min-width: 0;
    }
    .d4-profile-subval{
        display:block;
        color: rgba(220,226,255,0.62);
        font-weight: 750;
        font-size: 0.78rem;
        margin-top: 2px;
        white-space: nowrap;
    }

    .d4-inline-ok, .d4-inline-bad{
        display:inline-flex;
        align-items:center;
        gap: 6px;
        padding: 4px 8px;
        border-radius: 999px;
        border: 1px solid rgba(255,255,255,0.14);
        background: rgba(255,255,255,0.04);
        white-space: nowrap;
        justify-content:flex-end;
    }
    .d4-inline-ok{ color: #bbf7d0; border-color: rgba(16,185,129,0.35); background: rgba(16,185,129,0.10); }
    .d4-inline-bad{ color: #fecaca; border-color: rgba(239,68,68,0.35); background: rgba(239,68,68,0.10); }
    .d4-inline-ok i{ color: rgba(16,185,129,0.95); }
    .d4-inline-bad i{ color: rgba(239,68,68,0.95); }

    .d4-quick-grid{
        margin-top: 6px;
        display:grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
    }
    .d4-quick{
        display:flex;
        align-items:center;
        justify-content:flex-start;
        gap: 10px;
        padding: 10px 10px;
        border-radius: 14px;
        border: 1px solid rgba(255,255,255,0.10);
        background: rgba(255,255,255,0.02);
        text-decoration:none;
        color: rgba(235,240,255,0.92);
        font-weight: 900;
        font-size: 0.88rem;
        transition: transform .15s ease, border-color .15s ease, background .15s ease;
        min-height: 44px;
    }
    .d4-quick:hover{
        transform: translateY(-1px);
        border-color: rgba(124,140,255,0.35);
        background: rgba(124,140,255,0.08);
    }
    .d4-quick i{
        color: rgba(50,216,255,0.95);
        width: 18px;
        text-align:center;
        flex-shrink:0;
    }
    .d4-quick--admin i{ color: rgba(245,158,11,0.95); }

    .d4-list{
        display:flex;
        flex-direction: column;
        gap: 8px;
    }

    .d4-row{
        display:flex;
        justify-content: space-between;
        align-items:flex-start;
        gap: 12px;
        padding: 10px 10px;
        border-radius: 16px;
        border: 1px solid rgba(255,255,255,0.10);
        background: rgba(255,255,255,0.02);
        text-decoration:none;
        transition: transform .15s ease, border-color .15s ease, background .15s ease;
        color: inherit;
        min-width: 0;
    }
    .d4-row:hover{
        transform: translateY(-1px);
        border-color: rgba(124,140,255,0.35);
        background: rgba(124,140,255,0.08);
    }

    .d4-row-main{
        min-width: 0;
        flex: 1;
    }

    .d4-row-title{
        display:flex;
        gap: 10px;
        align-items:flex-start;
        flex-wrap: wrap;
        font-weight: 950;
        color: rgba(244,247,255,0.98);
        line-height: 1.2;
    }

    .d4-row-title .d4-hit-badge{
        margin-left: 0;
    }

    .d4-hit-badge{
        display:inline-flex;
        align-items:center;
        gap: 8px;
        padding: 6px 10px;
        border-radius: 999px;
        font-weight: 950;
        font-size: 0.78rem;
        border: 1px solid rgba(255,255,255,0.14);
        white-space: nowrap;
    }

    .d4-row-meta{
        margin-top: 6px;
        display:flex;
        gap: 10px;
        flex-wrap: wrap;
        color: rgba(220,226,255,0.66);
        font-size: 0.78rem;
        font-weight: 800;
    }

    .d4-row-right{
        display:flex;
        flex-direction: column;
        align-items:flex-end;
        gap: 6px;
        flex-shrink: 0;
    }

    .d4-status-badge{
        padding: 6px 10px;
        border-radius: 999px;
        font-size: 0.74rem;
        font-weight: 950;
        border: 1px solid rgba(255,255,255,0.12);
        background: rgba(255,255,255,0.03);
        text-transform: uppercase;
        letter-spacing: 0.08em;
        color: rgba(244,247,255,0.95);
        white-space: nowrap;
    }
    .d4-status-completed{ color: #bbf7d0; border-color: rgba(16,185,129,0.38); background: rgba(16,185,129,0.10); }
    .d4-status-processing{ color: #fde68a; border-color: rgba(245,158,11,0.38); background: rgba(245,158,11,0.10); }
    .d4-status-failed{ color: #fecaca; border-color: rgba(239,68,68,0.38); background: rgba(239,68,68,0.10); }

    .d4-view-pill{
        width: 34px;
        height: 34px;
        border-radius: 14px;
        border: 1px solid rgba(255,255,255,0.12);
        background: rgba(50,216,255,0.06);
        display:flex;
        align-items:center;
        justify-content:center;
        color: rgba(195,240,255,0.95);
    }
    .d4-view-pill i{ font-size: 0.92rem; }

    .d4-empty{
        padding: 18px 12px;
        border-radius: 16px;
        border: 1px dashed rgba(255,255,255,0.18);
        background: rgba(255,255,255,0.02);
        text-align:center;
    }
    .d4-empty i{ font-size: 2rem; color: rgba(50,216,255,0.95); }
    .d4-empty-title{ margin-top: 10px; font-weight: 950; color: #eef2ff; }
    .d4-empty-subtitle{
        margin-top: 6px;
        color: rgba(220,226,255,0.68);
        font-weight: 800;
        font-size: 0.9rem;
    }
    .d4-primary-btn{
        margin-top: 12px;
        display:inline-flex;
        align-items:center;
        justify-content:center;
        gap: 10px;
        padding: 10px 14px;
        border-radius: 14px;
        border: 1px solid rgba(16,185,129,0.40);
        background: rgba(16,185,129,0.16);
        color: rgba(210,255,226,0.98);
        font-weight: 950;
        text-decoration:none;
    }

    .d4-empty--compact{
        padding: 14px 12px;
    }

    .d4-card-head--sub{
        margin-top: 12px;
        margin-bottom: 8px;
    }

    .d4-reco-list,
    .d4-notif-list{
        display: flex;
        flex-direction: column;
        gap: 8px;
    }

    .d4-reco-item{
        display: flex;
        align-items: flex-start;
        gap: 10px;
        padding: 10px 10px;
        border-radius: 14px;
        border: 1px solid rgba(255,255,255,0.10);
        background: rgba(255,255,255,0.02);
        text-decoration: none;
        color: inherit;
        transition: transform .15s ease, border-color .15s ease, background .15s ease;
    }
    .d4-reco-item:hover{
        transform: translateY(-1px);
        border-color: rgba(124,140,255,0.35);
        background: rgba(124,140,255,0.08);
    }
    .d4-reco-icon{
        width: 32px;
        height: 32px;
        border-radius: 11px;
        display: flex;
        align-items: center;
        justify-content: center;
        background: rgba(50,216,255,0.10);
        border: 1px solid rgba(50,216,255,0.20);
        color: rgba(195,240,255,0.95);
        flex-shrink: 0;
    }
    .d4-reco-title{
        color: rgba(244,247,255,0.97);
        font-weight: 900;
        font-size: 0.9rem;
        line-height: 1.2;
    }
    .d4-reco-text{
        margin-top: 3px;
        color: rgba(220,226,255,0.66);
        font-weight: 800;
        font-size: 0.8rem;
        line-height: 1.4;
    }

    .d4-notif-item{
        display: flex;
        justify-content: space-between;
        align-items: flex-start;
        gap: 10px;
        padding: 10px 10px;
        border-radius: 14px;
        border: 1px solid rgba(255,255,255,0.10);
        background: rgba(255,255,255,0.02);
        text-decoration: none;
        color: inherit;
        transition: transform .15s ease, border-color .15s ease, background .15s ease;
    }
    .d4-notif-item:hover{
        transform: translateY(-1px);
        border-color: rgba(124,140,255,0.35);
        background: rgba(124,140,255,0.08);
    }
    .d4-notif-item--unread{
        border-color: rgba(50,216,255,0.28);
        background: rgba(50,216,255,0.08);
    }
    .d4-notif-main{ min-width: 0; flex: 1; }
    .d4-notif-title{
        color: rgba(244,247,255,0.97);
        font-weight: 900;
        font-size: 0.88rem;
        line-height: 1.2;
    }
    .d4-notif-text{
        margin-top: 3px;
        color: rgba(220,226,255,0.66);
        font-weight: 800;
        font-size: 0.78rem;
        line-height: 1.35;
    }
    .d4-notif-meta{
        display: flex;
        flex-direction: column;
        align-items: flex-end;
        gap: 4px;
        flex-shrink: 0;
        color: rgba(220,226,255,0.58);
        font-size: 0.74rem;
        font-weight: 800;
        white-space: nowrap;
    }
    .d4-notif-badge{
        padding: 2px 7px;
        border-radius: 999px;
        border: 1px solid rgba(50,216,255,0.30);
        background: rgba(50,216,255,0.14);
        color: rgba(195,240,255,0.97);
        font-size: 0.68rem;
        font-weight: 900;
        letter-spacing: .04em;
        text-transform: uppercase;
    }

    .d4-tx-row{
        display:flex;
        align-items:flex-start;
        justify-content: space-between;
        gap: 12px;
        padding: 10px 10px;
        border-radius: 16px;
        border: 1px solid rgba(255,255,255,0.10);
        background: rgba(255,255,255,0.02);
    }
    .d4-tx-main{
        min-width: 0;
        flex: 1;
    }
    .d4-tx-type{
        font-weight: 950;
        color: rgba(244,247,255,0.98);
    }
    .d4-tx-desc{
        margin-top: 4px;
        color: rgba(220,226,255,0.65);
        font-weight: 800;
        font-size: 0.85rem;
        overflow:hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
        max-width: 520px;
    }
    .d4-tx-date{
        margin-top: 6px;
        color: rgba(220,226,255,0.60);
        font-weight: 800;
        font-size: 0.78rem;
    }
    .d4-tx-amount{
        font-weight: 950;
        font-size: 1.1rem;
        white-space: nowrap;
        padding: 6px 10px;
        border-radius: 999px;
        border: 1px solid rgba(255,255,255,0.12);
        background: rgba(255,255,255,0.02);
    }
    .d4-amount--pos{ color: #bbf7d0; border-color: rgba(16,185,129,0.38); background: rgba(16,185,129,0.10); }
    .d4-amount--neg{ color: #fecaca; border-color: rgba(239,68,68,0.38); background: rgba(239,68,68,0.10); }

    /* Score explanation */
    .d4-score-explain-wrap{
        margin-top: 12px;
    }

    .d4-score-explain{
        padding: 14px 14px 12px;
        background:
            radial-gradient(900px 420px at 0% 0%, rgba(124,140,255,0.14), transparent 55%),
            radial-gradient(700px 360px at 100% 0%, rgba(50,216,255,0.10), transparent 50%),
            rgba(255,255,255,0.02);
        border-color: rgba(255,255,255,0.12) !important;
    }

    .d4-score-head{
        display:flex;
        justify-content: space-between;
        align-items:flex-start;
        gap: 10px;
        margin-bottom: 8px;
    }

    .d4-score-head-left{
        display:flex;
        align-items:center;
        gap: 10px;
        font-weight: 950;
        letter-spacing: -0.01em;
        color: #eef2ff;
        flex-wrap: wrap;
    }
    .d4-score-head-left i{ color: rgba(50,216,255,0.95); }

    .d4-score-chip{
        padding: 6px 10px;
        border-radius: 999px;
        border: 1px solid rgba(255,255,255,0.12);
        background: rgba(124,140,255,0.08);
        color: rgba(244,247,255,0.92);
        font-weight: 950;
        font-size: 0.78rem;
        white-space: nowrap;
    }

    .d4-score-desc{
        margin: 0 0 10px;
        color: rgba(220,226,255,0.72);
        font-weight: 800;
        line-height: 1.55;
        font-size: 0.92rem;
    }

    .d4-score-strong{
        color: #fbbf24;
        font-weight: 950;
    }

    .d4-score-ranges{
        display:grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 10px;
        margin-bottom: 10px;
    }

    .d4-score-range{
        padding: 10px 10px 9px;
        border-radius: 14px;
        border: 1px solid rgba(255,255,255,0.12);
        background: rgba(255,255,255,0.02);
    }

    .d4-score-range-title{
        font-weight: 1000;
        color: #f3f6ff;
        font-size: 0.95rem;
        margin-bottom: 2px;
        line-height: 1.2;
    }
    .d4-score-range-sub{
        font-weight: 950;
        color: rgba(220,226,255,0.80);
        font-size: 0.78rem;
        margin-bottom: 4px;
    }
    .d4-score-range-meta{
        color: rgba(220,226,255,0.58);
        font-weight: 800;
        font-size: 0.74rem;
        line-height: 1.35;
    }

    .d4-score-range--good{
        border-color: rgba(16,185,129,0.30);
        background: rgba(16,185,129,0.07);
    }
    .d4-score-range--very-good{
        border-color: rgba(245,158,11,0.30);
        background: rgba(245,158,11,0.07);
    }
    .d4-score-range--excellent{
        border-color: rgba(239,68,68,0.30);
        background: rgba(239,68,68,0.07);
    }

    .d4-score-tip{
        display:flex;
        align-items:center;
        gap: 10px;
        padding: 10px 10px;
        border-radius: 14px;
        border: 1px solid rgba(255,255,255,0.10);
        background: rgba(255,255,255,0.02);
        color: rgba(220,226,255,0.72);
        font-weight: 900;
    }
    .d4-score-tip i{
        color: rgba(251,191,36,0.95);
        flex-shrink: 0;
    }

    /* Light mode overrides (this dashboard is theme-aware) */
    body.light-mode .d4-header,
    html[data-theme="light"] .d4-header{
        border-color: rgba(15,23,42,0.10) !important;
        background:
            radial-gradient(1200px 500px at 0% 0%, rgba(124,140,255,0.22), transparent 55%),
            radial-gradient(900px 420px at 100% 0%, rgba(50,216,255,0.18), transparent 50%),
            linear-gradient(160deg, rgba(255,255,255,0.92) 0%, rgba(243,244,255,0.96) 45%, rgba(255,255,255,0.98) 100%) !important;
        box-shadow: 0 18px 50px rgba(15,23,42,0.10) !important;
    }

    body.light-mode .d4-eyebrow,
    html[data-theme="light"] .d4-eyebrow{
        color: rgba(15,23,42,0.60) !important;
    }

    body.light-mode .d4-title,
    html[data-theme="light"] .d4-title{
        color: #0f172a !important;
    }

    body.light-mode .d4-subtitle,
    html[data-theme="light"] .d4-subtitle{
        color: rgba(15,23,42,0.65) !important;
    }

    body.light-mode .d4-plan-pill,
    html[data-theme="light"] .d4-plan-pill{
        border-color: rgba(15,23,42,0.12) !important;
        background: rgba(15,23,42,0.03) !important;
        color: rgba(15,23,42,0.92) !important;
    }

    body.light-mode .d4-plan-pill i,
    html[data-theme="light"] .d4-plan-pill i{
        color: rgba(37,99,235,0.95) !important;
    }

    body.light-mode .d4-plan-pill-label,
    html[data-theme="light"] .d4-plan-pill-label{
        color: rgba(15,23,42,0.60) !important;
    }

    body.light-mode .d4-balance-number,
    html[data-theme="light"] .d4-balance-number{
        color: #0f172a !important;
        text-shadow: none !important;
    }

    body.light-mode .d4-balance-unit,
    html[data-theme="light"] .d4-balance-unit{
        color: rgba(15,23,42,0.62) !important;
    }

    body.light-mode .d4-kpi,
    html[data-theme="light"] .d4-kpi{
        border-color: rgba(15,23,42,0.10) !important;
        background:
            linear-gradient(180deg, rgba(255,255,255,0.95), rgba(248,250,255,0.92)) !important;
    }

    body.light-mode .d4-kpi-label,
    html[data-theme="light"] .d4-kpi-label{
        color: rgba(15,23,42,0.62) !important;
    }

    body.light-mode .d4-kpi-value,
    html[data-theme="light"] .d4-kpi-value{
        color: #0f172a !important;
        text-shadow: none !important;
    }

    body.light-mode .d4-kpi-icon,
    html[data-theme="light"] .d4-kpi-icon{
        background: rgba(37,99,235,0.12) !important;
        border-color: rgba(37,99,235,0.25) !important;
        color: rgba(37,99,235,0.95) !important;
    }

    body.light-mode .d4-kpi-icon--ok,
    html[data-theme="light"] .d4-kpi-icon--ok{
        background: rgba(16,185,129,0.14) !important;
        border-color: rgba(16,185,129,0.30) !important;
        color: rgba(16,185,129,0.98) !important;
    }

    body.light-mode .d4-kpi-icon--warn,
    html[data-theme="light"] .d4-kpi-icon--warn{
        background: rgba(245,158,11,0.14) !important;
        border-color: rgba(245,158,11,0.32) !important;
        color: rgba(180,83,9,0.98) !important;
    }

    body.light-mode .d4-kpi-icon--hit,
    html[data-theme="light"] .d4-kpi-icon--hit{
        background: rgba(236,72,153,0.12) !important;
        border-color: rgba(236,72,153,0.28) !important;
        color: rgba(190,24,93,0.98) !important;
    }

    body.light-mode .d4-kpi:hover,
    html[data-theme="light"] .d4-kpi:hover{
        border-color: rgba(37,99,235,0.18) !important;
        box-shadow: 0 12px 34px rgba(15,23,42,0.08) !important;
        transform: translateY(-1px);
    }

    body.light-mode .d4-card,
    html[data-theme="light"] .d4-card{
        background: rgba(255,255,255,0.92) !important;
        border-color: rgba(15,23,42,0.10) !important;
        box-shadow: 0 14px 44px rgba(15,23,42,0.08) !important;
    }

    body.light-mode .d4-card--profile,
    html[data-theme="light"] .d4-card--profile{
        background:
            radial-gradient(800px 420px at 10% 0%, rgba(124,140,255,0.22), transparent 55%),
            linear-gradient(160deg, rgba(15,23,42,0.02) 0%, rgba(15,23,42,0.01) 100%) !important;
    }

    body.light-mode .d4-card-head-left,
    html[data-theme="light"] .d4-card-head-left{
        color: #0f172a !important;
    }

    body.light-mode .d4-card-link,
    body.light-mode .d4-text-link,
    html[data-theme="light"] .d4-card-link,
    html[data-theme="light"] .d4-text-link{
        color: rgba(37,99,235,0.95) !important;
        border-color: rgba(37,99,235,0.20) !important;
        background: rgba(37,99,235,0.06) !important;
    }

    body.light-mode .d4-sep,
    html[data-theme="light"] .d4-sep{
        color: rgba(15,23,42,0.28) !important;
    }

    body.light-mode .d4-profile-name,
    html[data-theme="light"] .d4-profile-name{
        color: #0f172a !important;
    }

    body.light-mode .d4-profile-email,
    html[data-theme="light"] .d4-profile-email{
        color: rgba(15,23,42,0.62) !important;
    }

    body.light-mode .d4-profile-key,
    html[data-theme="light"] .d4-profile-key{
        color: rgba(15,23,42,0.52) !important;
    }

    body.light-mode .d4-profile-val,
    html[data-theme="light"] .d4-profile-val{
        color: rgba(15,23,42,0.92) !important;
    }

    body.light-mode .d4-profile-subval,
    html[data-theme="light"] .d4-profile-subval{
        color: rgba(15,23,42,0.55) !important;
    }

    body.light-mode .d4-inline-ok,
    html[data-theme="light"] .d4-inline-ok{
        color: rgba(15,23,42,0.92) !important;
        border-color: rgba(16,185,129,0.28) !important;
        background: rgba(16,185,129,0.14) !important;
    }

    body.light-mode .d4-inline-ok i,
    html[data-theme="light"] .d4-inline-ok i{
        color: rgba(16,185,129,0.95) !important;
    }

    body.light-mode .d4-inline-bad,
    html[data-theme="light"] .d4-inline-bad{
        color: rgba(15,23,42,0.92) !important;
        border-color: rgba(239,68,68,0.26) !important;
        background: rgba(239,68,68,0.12) !important;
    }

    body.light-mode .d4-inline-bad i,
    html[data-theme="light"] .d4-inline-bad i{
        color: rgba(239,68,68,0.95) !important;
    }

    body.light-mode .d4-row,
    body.light-mode .d4-tx-row,
    html[data-theme="light"] .d4-row,
    html[data-theme="light"] .d4-tx-row{
        background: rgba(255,255,255,0.90) !important;
        border-color: rgba(15,23,42,0.10) !important;
    }

    body.light-mode .d4-row-title,
    html[data-theme="light"] .d4-row-title{
        color: rgba(15,23,42,0.95) !important;
    }

    body.light-mode .d4-row-meta,
    html[data-theme="light"] .d4-row-meta{
        color: rgba(15,23,42,0.60) !important;
    }

    body.light-mode .d4-quick,
    html[data-theme="light"] .d4-quick{
        color: rgba(15,23,42,0.92) !important;
        background: rgba(15,23,42,0.015) !important;
        border-color: rgba(15,23,42,0.10) !important;
    }

    body.light-mode .d4-quick i,
    html[data-theme="light"] .d4-quick i{
        color: rgba(37,99,235,0.95) !important;
    }

    body.light-mode .d4-quick--admin i,
    html[data-theme="light"] .d4-quick--admin i{
        color: rgba(245,158,11,0.95) !important;
    }

    body.light-mode .d4-tx-type,
    html[data-theme="light"] .d4-tx-type{
        color: rgba(15,23,42,0.95) !important;
    }

    body.light-mode .d4-tx-desc,
    html[data-theme="light"] .d4-tx-desc{
        color: rgba(15,23,42,0.70) !important;
    }

    body.light-mode .d4-tx-date,
    html[data-theme="light"] .d4-tx-date{
        color: rgba(15,23,42,0.58) !important;
    }

    body.light-mode .d4-tx-amount,
    html[data-theme="light"] .d4-tx-amount{
        border-color: rgba(15,23,42,0.10) !important;
        background: rgba(15,23,42,0.02) !important;
    }

    body.light-mode .d4-amount--pos,
    html[data-theme="light"] .d4-amount--pos{
        color: rgba(22,101,52,0.95) !important;
        border-color: rgba(22,101,52,0.22) !important;
        background: rgba(16,185,129,0.10) !important;
    }

    body.light-mode .d4-amount--neg,
    html[data-theme="light"] .d4-amount--neg{
        color: rgba(153,27,27,0.95) !important;
        border-color: rgba(153,27,27,0.22) !important;
        background: rgba(239,68,68,0.10) !important;
    }

    /* Light mode: notification list high-contrast */
    body.light-mode .d4-notif-item,
    html[data-theme="light"] .d4-notif-item{
        background: #ffffff !important;
        border-color: rgba(15,23,42,0.10) !important;
    }

    body.light-mode .d4-notif-item--unread,
    html[data-theme="light"] .d4-notif-item--unread{
        border-color: rgba(37,99,235,0.26) !important;
        background: rgba(37,99,235,0.08) !important;
    }

    body.light-mode .d4-notif-title,
    html[data-theme="light"] .d4-notif-title{
        color: #0f172a !important;
    }

    body.light-mode .d4-notif-text,
    html[data-theme="light"] .d4-notif-text{
        color: #4b5563 !important;
    }

    body.light-mode .d4-notif-meta,
    html[data-theme="light"] .d4-notif-meta{
        color: #6b7280 !important;
    }

    body.light-mode .d4-notif-badge,
    html[data-theme="light"] .d4-notif-badge{
        border-color: rgba(37,99,235,0.30) !important;
        background: rgba(37,99,235,0.14) !important;
        color: rgba(30,64,175,0.98) !important;
    }

    body.light-mode .d4-status-badge,
    html[data-theme="light"] .d4-status-badge{
        color: rgba(15,23,42,0.86) !important;
        background: rgba(15,23,42,0.03) !important;
        border-color: rgba(15,23,42,0.10) !important;
        text-transform: uppercase;
    }

    body.light-mode .d4-hit-badge,
    html[data-theme="light"] .d4-hit-badge{
        border-color: rgba(15,23,42,0.12) !important;
        background: rgba(15,23,42,0.03) !important;
        color: rgba(15,23,42,0.90) !important;
    }

    body.light-mode .d4-score-explain,
    html[data-theme="light"] .d4-score-explain{
        background:
            radial-gradient(900px 420px at 0% 0%, rgba(124,140,255,0.18), transparent 55%),
            radial-gradient(700px 360px at 100% 0%, rgba(50,216,255,0.14), transparent 50%),
            rgba(255,255,255,0.92) !important;
        border-color: rgba(15,23,42,0.10) !important;
    }

    body.light-mode .d4-score-head-left,
    html[data-theme="light"] .d4-score-head-left{
        color: #0f172a !important;
    }

    body.light-mode .d4-score-desc,
    html[data-theme="light"] .d4-score-desc{
        color: rgba(15,23,42,0.72) !important;
    }

    body.light-mode .d4-score-chip,
    html[data-theme="light"] .d4-score-chip{
        border-color: rgba(15,23,42,0.10) !important;
        background: rgba(37,99,235,0.08) !important;
        color: rgba(15,23,42,0.86) !important;
    }

    body.light-mode .d4-score-tip,
    html[data-theme="light"] .d4-score-tip{
        border-color: rgba(15,23,42,0.10) !important;
        background: rgba(15,23,42,0.02) !important;
        color: rgba(15,23,42,0.74) !important;
    }

    body.light-mode .d4-score-range-title,
    body.light-mode .d4-score-range-sub,
    body.light-mode .d4-score-range-meta,
    html[data-theme="light"] .d4-score-range-title,
    html[data-theme="light"] .d4-score-range-sub,
    html[data-theme="light"] .d4-score-range-meta{
        color: rgba(15,23,42,0.90) !important;
    }

    body.light-mode .d4-score-range-meta,
    html[data-theme="light"] .d4-score-range-meta{
        color: rgba(15,23,42,0.62) !important;
    }

    @media (max-width: 920px){
        .d4-score-ranges{ grid-template-columns: 1fr; }
    }

    /* Responsive */
    @media (max-width: 1200px){
        .d4-kpi-strip{ grid-template-columns: repeat(3, minmax(0, 1fr)); }
        .d4-grid{ grid-template-columns: 1fr; }
        .d4-grid > .d4-card--analyses,
        .d4-grid > .d4-card--insights,
        .d4-grid > .d4-card--tx{
            grid-column: auto;
            grid-row: auto;
        }
        .d4-header-right{ align-items:flex-start; }
        .d4-header{ flex-direction: column; }
    }

    @media (max-width: 720px){
        .d4-kpi-strip{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
        .d4-quick-grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
        .d4-subtitle{ font-size: 0.92rem; }
    }

    @media (max-width: 420px){
        .d4-header{ padding: 14px 12px; }
        .d4-card{ padding: 12px 12px; }
        .d4-plan-pill-value{ max-width: 150px; }
    }
