:root{
    --cda-navy:#18233c;
    --cda-blue:#3467eb;
    --cda-purple:#7c4de8;
    --cda-pink:#df3c9c;
    --cda-yellow:#f3c52c;
    --cda-green:#33a866;
    --cda-red:#d74b4b;
    --cda-bg:#f4f6fb;
    --cda-border:#dde4ef;
    --cda-text:#17213a;
    --cda-muted:#66738a;
}

*{box-sizing:border-box}

body{
    margin:0;
    background:var(--cda-bg);
    color:var(--cda-text);
    font-family:"Segoe UI",Arial,sans-serif;
}

.consent-page{
    width:min(980px,calc(100% - 32px));
    margin:24px auto;
    background:#fff;
    border-radius:24px;
    overflow:hidden;
    box-shadow:0 20px 55px rgba(25,40,70,.12);
}

.consent-header{
    display:grid;
    grid-template-columns:130px 1fr;
    gap:22px;
    align-items:center;
    padding:26px 32px;
    color:#fff;
    background:
        linear-gradient(120deg,
        var(--cda-blue),
        var(--cda-purple) 55%,
        var(--cda-pink));
}

.consent-logo{
    width:120px;
    height:100px;
    display:grid;
    place-items:center;
    border-radius:20px;
    background:#fff;
    overflow:hidden;
}

.consent-logo img{
    width:100%;
    height:100%;
    padding:7px;
    object-fit:contain;
}

.consent-header small{
    display:block;
    margin-bottom:7px;
    letter-spacing:.12em;
    text-transform:uppercase;
    opacity:.8;
    font-weight:800;
}

.consent-header h1{
    margin:0;
    font-size:30px;
}

.consent-header p{
    margin:8px 0 0;
    opacity:.9;
    line-height:1.5;
}

.consent-body{
    padding:30px 34px 38px;
}

.notice{
    padding:16px 18px;
    margin-bottom:22px;
    border-left:5px solid var(--cda-blue);
    border-radius:13px;
    background:#eef3ff;
    line-height:1.55;
}

.form-section{
    margin:20px 0;
    padding:21px;
    border:1px solid var(--cda-border);
    border-radius:18px;
}

.section-title{
    display:flex;
    gap:12px;
    align-items:center;
    margin-bottom:17px;
}

.section-number{
    width:38px;
    height:38px;
    display:grid;
    place-items:center;
    border-radius:12px;
    background:linear-gradient(135deg,var(--cda-blue),var(--cda-purple));
    color:#fff;
    font-weight:900;
}

.section-title h2{
    margin:0;
    font-size:19px;
}

.section-title p{
    margin:3px 0 0;
    color:var(--cda-muted);
    font-size:12px;
}

.grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:14px;
}

.field{
    display:grid;
    gap:6px;
}

.field.full{
    grid-column:1/-1;
}

.field span{
    font-size:12px;
    font-weight:800;
}

.field input,
.field textarea,
.field select{
    width:100%;
    min-height:43px;
    padding:10px 12px;
    border:1px solid var(--cda-border);
    border-radius:11px;
    background:#fff;
}

.choice-list{
    display:grid;
    gap:10px;
}

.choice{
    display:grid;
    grid-template-columns:26px 1fr;
    gap:10px;
    align-items:flex-start;
    padding:13px;
    border:1px solid var(--cda-border);
    border-radius:13px;
    background:#fbfcff;
}

.choice input{
    width:18px;
    height:18px;
    margin:2px 0 0;
}

.choice strong,
.choice small{
    display:block;
}

.choice small{
    margin-top:4px;
    color:var(--cda-muted);
    line-height:1.45;
}

.info-list{
    margin:0;
    padding-left:20px;
    line-height:1.65;
}

.signature-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:18px;
}

.signature-box{
    min-height:160px;
    padding:15px;
    border:2px dashed #aebbd0;
    border-radius:15px;
    background:#fbfcff;
}

.signature-box strong{
    display:block;
    margin-bottom:12px;
}

.signature-line{
    margin-top:85px;
    border-top:1px solid #7d8798;
    padding-top:6px;
    color:var(--cda-muted);
    font-size:11px;
}

.footer-note{
    padding:18px 34px;
    background:var(--cda-navy);
    color:#fff;
    font-size:11px;
    line-height:1.55;
}

.actions{
    display:flex;
    justify-content:flex-end;
    gap:10px;
    margin-top:20px;
}

.button{
    border:0;
    border-radius:11px;
    padding:11px 17px;
    cursor:pointer;
    font-weight:800;
}

.button-primary{
    color:#fff;
    background:linear-gradient(120deg,var(--cda-blue),var(--cda-purple));
}

.button-secondary{
    background:#eef1f6;
    color:var(--cda-text);
}

@media(max-width:700px){
    .consent-header{
        grid-template-columns:1fr;
    }

    .grid,
    .signature-grid{
        grid-template-columns:1fr;
    }
}

@media print{
    body{background:#fff}
    .consent-page{
        width:100%;
        margin:0;
        border-radius:0;
        box-shadow:none;
    }
    .actions{display:none}
    .form-section{break-inside:avoid}
}
