:root {
    --ppx-ops-navy: #071a3d;
    --ppx-ops-blue: #0a2b68;
    --ppx-ops-orange: #e8622a;
    --ppx-ops-green: #0f9f6e;
    --ppx-ops-ink: #10213f;
    --ppx-ops-muted: #65738b;
}

.ppx-siret-result {
    display: grid;
    gap: 4px;
    margin-top: 12px;
    padding: 13px 15px;
    border: 1px solid rgba(255, 255, 255, .16);
    border-radius: 13px;
    background: rgba(255, 255, 255, .07);
    color: rgba(255, 255, 255, .86);
    font-family: Inter, system-ui, sans-serif;
    line-height: 1.4;
}

.ppx-siret-result strong { color: #fff; font-size: .92rem; }
.ppx-siret-result span { color: #fff; font-size: .88rem; font-weight: 750; }
.ppx-siret-result small { color: rgba(255, 255, 255, .72); font-size: .76rem; }
.ppx-siret-result em { color: #fde68a; font-size: .74rem; font-style: normal; }
.ppx-siret-result--loading { border-color: rgba(96, 165, 250, .55); background: rgba(59, 130, 246, .13); }
.ppx-siret-result--success { border-color: rgba(52, 211, 153, .62); background: rgba(16, 185, 129, .14); }
.ppx-siret-result--error { border-color: rgba(248, 113, 113, .62); background: rgba(220, 38, 38, .13); }
.ppx-siret-result--neutral { border-style: dashed; }

.ppx-professional-documents {
    margin: 26px 0 8px;
    padding: 22px;
    border: 1px solid rgba(52, 211, 153, .35);
    border-radius: 18px;
    background: linear-gradient(145deg, rgba(16, 185, 129, .14), rgba(255, 255, 255, .055));
    box-shadow: 0 18px 46px rgba(0, 0, 0, .16);
    transition: border-color .25s, transform .25s;
}

.ppx-professional-documents.has-error {
    border-color: #f87171;
    transform: translateY(-2px);
}

.ppx-professional-documents > span {
    display: block;
    color: #86efac;
    font-size: .72rem;
    font-weight: 900;
    letter-spacing: .08em;
}

.ppx-professional-documents h3 {
    margin: 7px 0 6px !important;
    color: #fff !important;
    font-family: Inter, system-ui, sans-serif !important;
    font-size: 1.18rem !important;
    font-weight: 850 !important;
}

.ppx-professional-documents > p {
    margin: 0 0 18px !important;
    color: rgba(255, 255, 255, .72) !important;
    font-size: .86rem !important;
    line-height: 1.55 !important;
}

.ppx-document-field {
    display: grid;
    gap: 7px;
    margin: 0 0 14px;
    color: #fff;
}

.ppx-document-field strong { font-size: .86rem; font-weight: 750; }
.ppx-document-field small { color: rgba(255, 255, 255, .58); font-size: .72rem; }
.ppx-document-field input {
    width: 100%;
    min-height: 48px;
    box-sizing: border-box;
    padding: 11px 12px;
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 12px;
    background: rgba(3, 15, 38, .5);
    color: #fff;
    color-scheme: dark;
    font: inherit;
}

.ppx-document-field input:focus {
    outline: 3px solid rgba(232, 98, 42, .24);
    border-color: var(--ppx-ops-orange);
}

.ppx-document-note {
    margin-top: 18px;
    padding: 13px 14px;
    border-radius: 12px;
    background: rgba(7, 26, 61, .54);
    color: rgba(255, 255, 255, .82);
    font-size: .8rem;
    font-weight: 650;
    line-height: 1.5;
}

.ppx-honest-launch-step #peaf-chantiers-count {
    font-size: clamp(1.65rem, 5vw, 2.45rem) !important;
    line-height: 1.08 !important;
}

.ppx-honest-launch-step #peaf-chantiers-examples { display: none !important; }

.ppx-ops-toast {
    position: fixed;
    z-index: 2147483647;
    top: 18px;
    left: 50%;
    width: min(92vw, 520px);
    box-sizing: border-box;
    padding: 15px 18px;
    transform: translate(-50%, -24px);
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 14px;
    background: linear-gradient(135deg, #0a2b68, #071a3d);
    box-shadow: 0 20px 50px rgba(2, 8, 23, .4);
    color: #fff;
    font: 750 .92rem/1.45 Inter, system-ui, sans-serif;
    opacity: 0;
    transition: opacity .25s, transform .25s;
}

.ppx-ops-toast.is-visible { transform: translate(-50%, 0); opacity: 1; }
.ppx-ops-toast--error { background: linear-gradient(135deg, #a61b1b, #6f1010); }

.ppx-verification-portal {
    min-height: 75vh;
    box-sizing: border-box;
    padding: clamp(26px, 6vw, 78px) 18px 110px;
    background:
        radial-gradient(circle at 12% 5%, rgba(232, 98, 42, .14), transparent 34%),
        linear-gradient(180deg, #f5f8fd 0%, #fff 100%);
    font-family: Inter, system-ui, sans-serif;
}

.ppx-verification-card {
    width: min(100%, 860px);
    margin: 0 auto;
    padding: clamp(24px, 5vw, 48px);
    box-sizing: border-box;
    border: 1px solid #dde5f0;
    border-radius: 28px;
    background: #fff;
    box-shadow: 0 26px 70px rgba(10, 43, 104, .12);
}

.ppx-verification-kicker {
    color: var(--ppx-ops-orange);
    font-size: .72rem;
    font-weight: 900;
    letter-spacing: .12em;
}

.ppx-verification-card h1 {
    margin: 9px 0 12px;
    color: var(--ppx-ops-navy);
    font-family: Inter, system-ui, sans-serif;
    font-size: clamp(1.7rem, 5vw, 2.55rem);
    font-weight: 900;
    line-height: 1.08;
}

.ppx-verification-card > p {
    max-width: 680px;
    margin: 0 0 26px;
    color: var(--ppx-ops-muted);
    font-size: 1rem;
    line-height: 1.65;
}

.ppx-verification-alert {
    margin: 0 0 22px;
    padding: 14px 16px;
    border: 1px solid #fecaca;
    border-radius: 13px;
    background: #fff1f2;
    color: #9f1239;
    line-height: 1.5;
}

.ppx-verification-steps {
    display: grid;
    gap: 13px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.ppx-verification-steps li {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 15px;
    border: 1px solid #e5eaf2;
    border-radius: 15px;
    background: #f9fbfe;
}

.ppx-verification-steps li > b {
    display: grid;
    width: 38px;
    height: 38px;
    flex: 0 0 38px;
    place-items: center;
    border-radius: 50%;
    background: #e8edf5;
    color: #738097;
}

.ppx-verification-steps li.done > b { background: #dcfce7; color: #08744f; }
.ppx-verification-steps li.current { border-color: #f2ad8b; background: #fff7f2; }
.ppx-verification-steps li.current > b { background: var(--ppx-ops-orange); color: #fff; }
.ppx-verification-steps span { display: grid; gap: 2px; }
.ppx-verification-steps strong { color: var(--ppx-ops-ink); font-size: .96rem; }
.ppx-verification-steps small { color: var(--ppx-ops-muted); font-size: .8rem; }

.ppx-verification-summary {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
    margin-top: 22px;
}

.ppx-verification-summary span {
    display: grid;
    gap: 4px;
    padding: 14px;
    border-radius: 13px;
    background: var(--ppx-ops-navy);
    color: #fff;
    font-size: .86rem;
}

.ppx-verification-summary strong { color: #a9b8d0; font-size: .68rem; letter-spacing: .03em; text-transform: uppercase; }

.ppx-verification-resubmit {
    margin-top: 24px;
    border: 1px solid #dbe3ef;
    border-radius: 15px;
    background: #fbfcfe;
}

.ppx-verification-resubmit summary {
    padding: 16px 18px;
    color: var(--ppx-ops-blue);
    font-weight: 800;
    cursor: pointer;
}

.ppx-verification-resubmit form { display: grid; gap: 14px; padding: 0 18px 20px; }
.ppx-verification-resubmit label { display: grid; gap: 7px; color: var(--ppx-ops-ink); font-size: .85rem; font-weight: 700; }
.ppx-verification-resubmit input { min-height: 46px; box-sizing: border-box; padding: 9px; border: 1px solid #ccd6e4; border-radius: 10px; background: #fff; }
.ppx-verification-resubmit button { min-height: 49px; border: 0; border-radius: 12px; background: var(--ppx-ops-orange); color: #fff; font: 800 .94rem Inter, system-ui, sans-serif; cursor: pointer; }

@media (max-width: 680px) {
    .ppx-professional-documents { padding: 18px 15px; }
    .ppx-verification-card { border-radius: 20px; }
    .ppx-verification-summary { grid-template-columns: 1fr; }
}
