/* Modern CCCD UI for account.php. */

#cccd-section.cccd-dashboard {
    --cccd-brand: #078b54;
    --cccd-brand-dark: #056b41;
    --cccd-brand-soft: #edf9f3;
    --cccd-ink: #17251e;
    --cccd-muted: #748179;
    --cccd-border: #e1e9e4;
    --cccd-surface: #fff;
    --cccd-shadow: 0 12px 30px rgba(26,61,43,.07);
    color: var(--cccd-ink);
}

#cccd-section .cccd-hero {
    display: flex;
    align-items: center;
    gap: 18px;
    margin-bottom: 18px;
    padding: 23px 25px;
    border-radius: 20px;
    color: #fff;
    background:
        radial-gradient(circle at 88% 18%, rgba(255,255,255,.16), transparent 28%),
        linear-gradient(135deg,#057447 0%,#0a9258 58%,#13a667 100%);
    box-shadow: 0 16px 38px rgba(7,139,84,.16);
}

#cccd-section .cccd-hero-icon {
    width: 52px;
    height: 52px;
    flex: 0 0 52px;
    display: grid;
    place-items: center;
    border-radius: 15px;
    background: rgba(255,255,255,.14);
    font-size: 22px;
}

#cccd-section .cccd-hero-copy {
    min-width: 0;
    flex: 1;
}

#cccd-section .cccd-eyebrow {
    display: block;
    margin-bottom: 3px;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .75px;
    text-transform: uppercase;
    opacity: .84;
}

#cccd-section .cccd-hero h4 {
    margin: 0 0 4px;
    font-size: 25px;
    font-weight: 800;
    letter-spacing: -.35px;
}

#cccd-section .cccd-hero p {
    margin: 0;
    color: rgba(255,255,255,.82);
    font-size: 13px;
    line-height: 1.5;
}

#cccd-section .cccd-hero-security {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 8px 11px;
    border: 1px solid rgba(255,255,255,.22);
    border-radius: 999px;
    background: rgba(255,255,255,.11);
    font-size: 10px;
    font-weight: 750;
    white-space: nowrap;
}

#cccd-section .cccd-panel {
    padding: 21px;
    border: 1px solid var(--cccd-border);
    border-radius: 18px;
    background: var(--cccd-surface);
    box-shadow: var(--cccd-shadow);
}

#cccd-section .cccd-panel-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    margin-bottom: 17px;
}

#cccd-section .cccd-panel-kicker {
    color: var(--cccd-brand);
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .75px;
    text-transform: uppercase;
}

#cccd-section .cccd-panel-heading h5 {
    margin: 2px 0 0;
    font-size: 17px;
    font-weight: 800;
    letter-spacing: -.2px;
}

#cccd-section .cccd-panel-icon {
    width: 40px;
    height: 40px;
    flex: 0 0 40px;
    display: grid;
    place-items: center;
    border-radius: 12px;
    color: var(--cccd-brand);
    background: var(--cccd-brand-soft);
}

#cccd-section .cccd-loading {
    min-height: 220px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 10px;
    color: var(--cccd-muted);
    font-size: 12px;
}

#cccd-section .cccd-loading .spinner-border {
    color: var(--cccd-brand);
}

#cccd-section .cccd-saved-layout {
    display: grid;
    grid-template-columns: minmax(0,1.45fr) minmax(240px,.75fr);
    gap: 16px;
    align-items: stretch;
}

#cccd-section .cccd-id-card {
    position: relative;
    overflow: hidden;
    padding: 18px;
    border-radius: 18px;
    color: #fff;
    background:
        radial-gradient(circle at 88% 15%, rgba(255,255,255,.15), transparent 30%),
        linear-gradient(135deg,#17382b 0%,#0d6041 58%,#08794b 100%);
    box-shadow: 0 14px 30px rgba(18,63,42,.14);
}

#cccd-section .cccd-id-card::after {
    content: '';
    position: absolute;
    right: -42px;
    bottom: -52px;
    width: 155px;
    height: 155px;
    border: 28px solid rgba(255,255,255,.05);
    border-radius: 50%;
    pointer-events: none;
}

#cccd-section .cccd-id-card-top,
#cccd-section .cccd-id-visual,
#cccd-section .cccd-id-card-note {
    position: relative;
    z-index: 1;
}

#cccd-section .cccd-id-card-top {
    display: flex;
    align-items: center;
    gap: 11px;
}

#cccd-section .cccd-id-chip {
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
    display: grid;
    place-items: center;
    border-radius: 12px;
    background: rgba(255,255,255,.13);
}

#cccd-section .cccd-id-card-copy {
    min-width: 0;
    flex: 1;
}

#cccd-section .cccd-id-card-copy span,
#cccd-section .cccd-id-card-copy strong {
    display: block;
}

#cccd-section .cccd-id-card-copy span {
    color: rgba(255,255,255,.66);
    font-size: 8px;
    font-weight: 800;
    letter-spacing: .4px;
    text-transform: uppercase;
}

#cccd-section .cccd-id-card-copy strong {
    margin-top: 2px;
    color: #fff;
    font-size: 14px;
}

#cccd-section .cccd-saved-badge {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 6px 8px;
    border: 1px solid rgba(255,255,255,.16);
    border-radius: 999px;
    color: #fff;
    background: rgba(255,255,255,.10);
    font-size: 8px;
    font-weight: 750;
}

#cccd-section .cccd-id-visual {
    display: grid;
    grid-template-columns: 56px 1fr 50px;
    gap: 12px;
    align-items: center;
    margin: 20px 0 17px;
    padding: 14px;
    border: 1px solid rgba(255,255,255,.10);
    border-radius: 14px;
    background: rgba(255,255,255,.06);
}

#cccd-section .cccd-id-avatar {
    width: 56px;
    height: 56px;
    display: grid;
    place-items: center;
    border-radius: 14px;
    color: rgba(255,255,255,.86);
    background: rgba(255,255,255,.10);
    font-size: 24px;
}

#cccd-section .cccd-id-lines {
    display: grid;
    gap: 8px;
}

#cccd-section .cccd-id-lines span {
    display: block;
    height: 7px;
    border-radius: 999px;
    background: rgba(255,255,255,.16);
}

#cccd-section .cccd-id-lines span:nth-child(1) {
    width: 82%;
}

#cccd-section .cccd-id-lines span:nth-child(2) {
    width: 62%;
}

#cccd-section .cccd-id-lines span:nth-child(3) {
    width: 74%;
}

#cccd-section .cccd-id-fingerprint {
    width: 50px;
    height: 50px;
    display: grid;
    place-items: center;
    border-radius: 14px;
    color: rgba(255,255,255,.76);
    background: rgba(255,255,255,.08);
    font-size: 22px;
}

#cccd-section .cccd-id-card-note {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    color: rgba(255,255,255,.68);
    font-size: 8px;
    line-height: 1.5;
}

#cccd-section .cccd-id-card-note i {
    margin-top: 2px;
}

#cccd-section .cccd-saved-side {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

#cccd-section .cccd-security-card {
    flex: 1;
    display: flex;
    align-items: flex-start;
    gap: 11px;
    padding: 15px;
    border: 1px solid #dce8e1;
    border-radius: 15px;
    background: linear-gradient(135deg,#fbfefc,#f3faf6);
}

#cccd-section .cccd-security-icon {
    width: 38px;
    height: 38px;
    flex: 0 0 38px;
    display: grid;
    place-items: center;
    border-radius: 11px;
    color: var(--cccd-brand);
    background: var(--cccd-brand-soft);
}

#cccd-section .cccd-security-card strong,
#cccd-section .cccd-security-card span {
    display: block;
}

#cccd-section .cccd-security-card strong {
    color: #34463c;
    font-size: 11px;
}

#cccd-section .cccd-security-card span {
    margin-top: 4px;
    color: #75837b;
    font-size: 9px;
    line-height: 1.5;
}

#cccd-section .cccd-refresh-btn {
    width: 100%;
    min-height: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    border: 1px solid #d4e0d9;
    border-radius: 10px;
    color: #536259;
    background: #fff;
    font-size: 9px;
    font-weight: 750;
}

#cccd-section .cccd-refresh-btn:hover {
    color: var(--cccd-brand);
    border-color: #b8d2c4;
    background: #f7fbf9;
}

#cccd-section .cccd-setup-layout {
    display: grid;
    grid-template-columns: minmax(220px,.65fr) minmax(0,1.35fr);
    gap: 16px;
    align-items: start;
}

#cccd-section .cccd-setup-info {
    display: flex;
    align-items: flex-start;
    gap: 11px;
    padding: 16px;
    border: 1px solid #dce8e1;
    border-radius: 15px;
    background: linear-gradient(135deg,#fbfefc,#f3faf6);
}

#cccd-section .cccd-setup-info-icon {
    width: 41px;
    height: 41px;
    flex: 0 0 41px;
    display: grid;
    place-items: center;
    border-radius: 12px;
    color: var(--cccd-brand);
    background: var(--cccd-brand-soft);
}

#cccd-section .cccd-setup-kicker {
    display: block;
    color: var(--cccd-brand);
    font-size: 8px;
    font-weight: 800;
    letter-spacing: .45px;
    text-transform: uppercase;
}

#cccd-section .cccd-setup-info h6 {
    margin: 3px 0 5px;
    color: #304239;
    font-size: 13px;
    font-weight: 800;
}

#cccd-section .cccd-setup-info p {
    margin: 0;
    color: #77847d;
    font-size: 9px;
    line-height: 1.55;
}

#cccd-section .cccd-form {
    padding: 16px;
    border: 1px solid #e0e9e4;
    border-radius: 15px;
    background: #fbfcfb;
}

#cccd-section .cccd-form-field label {
    display: block;
    margin-bottom: 6px;
    color: #425249;
    font-size: 10px;
    font-weight: 750;
}

#cccd-section .cccd-form-field label span {
    color: #d44e4e;
}

#cccd-section .cccd-input-wrap {
    position: relative;
}

#cccd-section .cccd-input-wrap > i {
    position: absolute;
    left: 12px;
    top: 50%;
    z-index: 2;
    width: 16px;
    color: #87948d;
    text-align: center;
    transform: translateY(-50%);
    pointer-events: none;
}

#cccd-section .cccd-input-wrap .form-control {
    min-height: 46px;
    padding-left: 39px;
    border: 1px solid #dce6e0;
    border-radius: 11px;
    color: #26372e;
    background: #fff;
    box-shadow: none;
}

#cccd-section .cccd-input-wrap .form-control:focus {
    border-color: #66b691;
    box-shadow: 0 0 0 3px rgba(7,139,84,.09);
}

#cccd-section .cccd-input-wrap .form-control.is-invalid {
    border-color: #d55c5c;
    box-shadow: 0 0 0 3px rgba(213,92,92,.08);
}

#cccd-section .cccd-form-field small {
    display: block;
    margin-top: 5px;
    color: #87938c;
    font-size: 8px;
    line-height: 1.45;
}

#cccd-section .cccd-privacy-note {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    margin-top: 13px;
    padding: 10px 11px;
    border-radius: 10px;
    color: #6f766d;
    background: #fff8e8;
    font-size: 9px;
    line-height: 1.5;
}

#cccd-section .cccd-privacy-note i {
    margin-top: 2px;
    color: #aa7a19;
}

#cccd-section .cccd-save-btn {
    width: 100%;
    min-height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    margin-top: 14px;
    border: 1px solid var(--cccd-brand);
    border-radius: 10px;
    color: #fff;
    background: var(--cccd-brand);
    font-size: 9px;
    font-weight: 800;
    box-shadow: 0 6px 14px rgba(7,139,84,.14);
}

#cccd-section .cccd-save-btn:hover {
    color: #fff;
    border-color: var(--cccd-brand-dark);
    background: var(--cccd-brand-dark);
}

#cccd-section .cccd-save-btn:disabled {
    opacity: .6;
    box-shadow: none;
}

#cccd-section .cccd-error-state {
    min-height: 240px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 7px;
    padding: 24px 16px;
    border: 1px dashed #ebc7c7;
    border-radius: 15px;
    color: #876565;
    text-align: center;
    background: #fff9f9;
}

#cccd-section .cccd-error-icon {
    width: 54px;
    height: 54px;
    display: grid;
    place-items: center;
    border-radius: 16px;
    color: #b54b4b;
    background: #ffeded;
    font-size: 23px;
}

#cccd-section .cccd-error-state strong {
    color: #704b4b;
    font-size: 12px;
}

#cccd-section .cccd-error-state span {
    max-width: 430px;
    font-size: 10px;
    line-height: 1.5;
}

#cccd-section .cccd-error-state button {
    min-height: 38px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-top: 5px;
    padding: 0 12px;
    border: 1px solid #dfb9b9;
    border-radius: 10px;
    color: #9f4747;
    background: #fff;
    font-size: 9px;
    font-weight: 750;
}

@media (max-width: 991.98px) {
    #cccd-section .cccd-saved-layout,
    #cccd-section .cccd-setup-layout {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 600px) {
    #cccd-section .cccd-hero {
        align-items: flex-start;
        gap: 12px;
        padding: 18px 16px;
        border-radius: 17px;
    }

    #cccd-section .cccd-hero-icon {
        width: 44px;
        height: 44px;
        flex-basis: 44px;
        border-radius: 13px;
        font-size: 19px;
    }

    #cccd-section .cccd-hero h4 {
        font-size: 20px;
    }

    #cccd-section .cccd-hero p {
        font-size: 11px;
    }

    #cccd-section .cccd-hero-security {
        display: none;
    }

    #cccd-section .cccd-panel {
        padding: 16px;
        border-radius: 16px;
    }

    #cccd-section .cccd-id-card {
        padding: 15px;
        border-radius: 16px;
    }

    #cccd-section .cccd-id-card-top {
        align-items: flex-start;
        flex-wrap: wrap;
    }

    #cccd-section .cccd-saved-badge {
        margin-left: 53px;
    }

    #cccd-section .cccd-id-visual {
        grid-template-columns: 48px 1fr 42px;
        gap: 9px;
        padding: 12px;
    }

    #cccd-section .cccd-id-avatar {
        width: 48px;
        height: 48px;
        font-size: 20px;
    }

    #cccd-section .cccd-id-fingerprint {
        width: 42px;
        height: 42px;
        font-size: 18px;
    }

    #cccd-section .cccd-setup-info,
    #cccd-section .cccd-form {
        padding: 14px;
    }

    #cccd-section .cccd-save-btn {
        min-height: 44px;
    }
}

@media (max-width: 380px) {
    #cccd-section .cccd-id-visual {
        grid-template-columns: 44px 1fr;
    }

    #cccd-section .cccd-id-fingerprint {
        display: none;
    }
}
