:root{color-scheme:dark;font-family:Inter,ui-sans-serif,system-ui,-apple-system,sans-serif;background:#06131d;color:#eaf4fb}*{box-sizing:border-box}body{margin:0;background:linear-gradient(145deg,#06131d,#0b2231);min-height:100vh}.legal-header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px max(24px,calc((100vw - 1040px)/2));border-bottom:1px solid #294759;background:#071722}.legal-header a,.legal-header span{color:#fff;text-decoration:none;font-weight:800}.legal-header button{background:transparent;border:1px solid #527083;color:#fff;border-radius:8px;padding:9px 14px}.legal-shell{width:min(1040px,calc(100% - 32px));margin:36px auto 80px}.legal-hero{padding:36px 0}.legal-hero>span{font-size:.75rem;font-weight:800;letter-spacing:.18em;color:#62def7}.legal-hero h1{font-size:clamp(2rem,6vw,4rem);line-height:1;margin:.35em 0}.legal-hero p{max-width:760px;color:#bfd1dd;font-size:1.08rem;line-height:1.7}.legal-card{background:#0b2030;border:1px solid #365569;border-radius:16px;padding:clamp(20px,4vw,42px);margin:20px 0;box-shadow:0 22px 60px #0004}.legal-document-link{display:flex;justify-content:space-between;gap:20px;padding:18px 0;border-bottom:1px solid #294759;color:#fff;text-decoration:none}.legal-document-link span,.legal-version{color:#a8c0cf;font-size:.86rem;overflow-wrap:anywhere}.legal-copy{line-height:1.7}.legal-copy h1{font-size:2.2rem}.legal-copy h2{margin-top:2rem;color:#fff}.legal-copy h3{color:#bfefff}.legal-copy a{color:#6ce3fa}.legal-copy blockquote{border-left:4px solid #f6b84d;margin:18px 0;padding:2px 18px;color:#ffe2a8;background:#392b16}.legal-copy p,.legal-copy li{color:#d5e2ea}.legal-acceptance>section{border-bottom:1px solid #365569;padding-bottom:30px;margin-bottom:30px}.legal-acceptance label:not(.legal-check){display:flex;flex-direction:column;gap:8px}.legal-acceptance textarea{width:100%;background:#061722;border:1px solid #5b7b8f;border-radius:8px;color:#fff;padding:12px;font:inherit}.legal-check{display:flex;gap:12px;align-items:flex-start;margin:20px 0;line-height:1.5}.legal-check input{width:20px;height:20px;flex:0 0 auto}.legal-acceptance button{border:0;border-radius:9px;background:#35d2f1;color:#06131d;font-weight:900;padding:14px 20px}.legal-error{border:1px solid #ef8b72;background:#442117;border-radius:10px;padding:15px}footer{text-align:center;padding:30px;color:#93aab8;font-size:.85rem}.platform-legal-copy{max-height:520px;overflow:auto;border:1px solid #365569;border-radius:10px;padding:20px;margin:16px 0;line-height:1.6}.platform-legal-copy blockquote{border-left:4px solid #e4a936;padding-left:15px}@media(max-width:700px){.legal-document-link{flex-direction:column}.legal-shell{width:min(100% - 20px,1040px)}.legal-card{padding:18px}.legal-copy h1{font-size:1.7rem}}

/* LEGAL_UI_HEADER_R1 */
.legal-header-actions {
    display: flex;
    align-items: center;
    gap: .75rem;
    flex-wrap: wrap;
}

.legal-back-platform {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: .6rem 1rem;
    border: 1px solid rgba(75, 210, 255, .36);
    border-radius: 12px;
    background: rgba(22, 138, 180, .12);
    font-weight: 800;
    text-decoration: none;
}

.legal-back-platform:hover,
.legal-back-platform:focus-visible {
    background: rgba(22, 138, 180, .22);
}

@media (max-width: 640px) {
    .legal-header-actions {
        width: 100%;
        justify-content: space-between;
    }

    .legal-back-platform {
        min-height: 46px;
    }
}

/* ============================================================
   PSOPS A2P PUBLIC LEGAL PAGES
   ============================================================ */

.legal-header nav {
    display: flex;
    align-items: center;
    gap: 18px;
}

.legal-header nav a {
    color: #b9d5e2;
    font-size: .82rem;
    font-weight: 750;
}

.legal-header nav a:hover,
.legal-header nav a:focus-visible {
    color: #62def7;
}

.legal-copy strong {
    color: #ffffff;
}

.legal-copy ul {
    padding-left: 1.35rem;
}

.legal-copy li + li {
    margin-top: .4rem;
}

@media (max-width: 640px) {
    .legal-header {
        align-items: flex-start;
        flex-direction: column;
        gap: 12px;
    }

    .legal-header nav {
        width: 100%;
        gap: 8px;
        flex-wrap: wrap;
    }

    .legal-header nav a {
        padding: 7px 10px;
        border: 1px solid #294759;
        border-radius: 8px;
        background: #0a1e2b;
    }

    .legal-shell {
        width: min(100% - 20px, 1040px);
        margin-top: 16px;
    }

    .legal-hero {
        padding: 22px 4px;
    }

    .legal-card {
        border-radius: 12px;
        padding: 20px;
    }

    .legal-copy h1 {
        font-size: 1.8rem;
    }

    .legal-copy h2 {
        font-size: 1.15rem;
    }
}
