/* Original form design, scoped so the website header and footer stay unchanged. */
.complaint-page { --ink:#172e42; --muted:#586c7c; --teal:#126b66; --line:#dce5e9; background:#f2f6f7; color:var(--ink); font:16px/1.6 system-ui,-apple-system,"Segoe UI",sans-serif; }
.complaint-page .complaint-shell { max-width:920px; padding:38px 24px; margin:auto; }
.complaint-page .intro { margin-bottom:28px; }
.complaint-page p { margin:0 0 16px; color:inherit; line-height:inherit; }
.complaint-page .eyebrow { font-size:12px; letter-spacing:2px; font-weight:750; color:var(--teal); margin:0 0 8px; }
.complaint-page h1 { font-size:clamp(28px,4vw,40px); line-height:1.2; letter-spacing:-1px; margin:0 0 15px; color:var(--ink); }
.complaint-page h2 { font-size:21px; line-height:1.4; margin:0 0 12px; color:var(--ink); }
.complaint-page .intro>p:last-child, .complaint-page .muted, .complaint-page small { color:var(--muted); }
.complaint-page .steps { display:flex; list-style:none; padding:0; margin:0 0 26px; gap:10px; }
.complaint-page .steps li { flex:1; padding:12px 8px; border-bottom:3px solid #d4dfe3; color:var(--muted); font-size:14px; }
.complaint-page .steps li.active { color:var(--teal); font-weight:700; border-color:var(--teal); }
.complaint-page .card { display:block; position:relative; background:#fff; border:1px solid var(--line); border-radius:14px; padding:30px; margin-bottom:20px; box-shadow:0 4px 18px #172e4205; }
.complaint-page .section-number { float:right; color:#a0b5bc; font-weight:700; font-size:24px; }
.complaint-page .form-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:22px; }
.complaint-page .full { grid-column:1/-1; }
.complaint-page label { display:block; font-size:14px; font-weight:650; margin-bottom:7px; }
.complaint-page label>span:not(.declaration span), .complaint-page .required { color:#ad3434; }
.complaint-page input, .complaint-page select, .complaint-page textarea { width:100%; border:1px solid #b9cbd2; border-radius:7px; padding:12px; background:#fff; color:var(--ink); font:inherit; min-width:0; }
.complaint-page textarea { resize:vertical; }
.complaint-page input:focus, .complaint-page select:focus, .complaint-page textarea:focus, .complaint-page button:focus-visible { outline:3px solid #7ecbc4; outline-offset:3px; }
.complaint-page small { display:block; margin-top:7px; font-size:12px; }
.complaint-page button { cursor:pointer; background:var(--teal); color:#fff; border:0; border-radius:7px; padding:13px 22px; font:650 14px/1.5 system-ui; }
.complaint-page button:hover { background:#0c5551; }
.complaint-page button:disabled { opacity:.65; cursor:wait; }
.complaint-page button.secondary { color:var(--teal); background:#eaf4f2; }
.complaint-page .otp-form { margin-top:28px; border-top:1px solid var(--line); padding-top:24px; }
.complaint-page .otp-row { display:flex; gap:14px; }
.complaint-page .otp-row input { max-width:240px; }
.complaint-page .optional { font-size:12px; color:var(--muted); font-weight:400; margin-left:8px; }
.complaint-page .upload-zone { padding:24px; border:1px dashed #91b5bd; border-radius:9px; background:#f8fbfb; text-align:center; }
.complaint-page .upload-zone input { margin-top:12px; border:0; background:transparent; font-size:14px; }
.complaint-page #file-feedback { overflow-wrap:anywhere; }
.complaint-page .declaration { display:flex; align-items:flex-start; gap:12px; font-weight:400; line-height:1.8; }
.complaint-page .declaration input { width:20px; height:20px; margin-top:4px; flex-shrink:0; accent-color:var(--teal); }
.complaint-page .declaration span { color:var(--ink); }
.complaint-page .submit-row { border-top:1px solid var(--line); padding-top:22px; margin-top:24px; display:flex; align-items:center; justify-content:space-between; gap:20px; }
.complaint-page .submit-row p { font-size:13px; margin:0; max-width:280px; }
.complaint-page .alert { padding:16px 20px; border-radius:8px; margin-bottom:22px; border:1px solid; }
.complaint-page .error { background:#fff1f0; border-color:#e9b0a8; color:#86241d; }
.complaint-page .notice { background:#e8f5f1; border-color:#a8d2c7; color:#1a5c4b; }
.complaint-page .receipt { text-align:center; padding:42px 30px; }
.complaint-page .success-icon { background:#e2f3eb; border-radius:50%; color:var(--teal); font-size:32px; width:64px; height:64px; line-height:64px; margin:0 auto 20px; }
.complaint-page .reference { display:block; font-size:clamp(17px,3vw,25px); letter-spacing:1px; background:#f0f7f6; border-radius:8px; padding:15px; margin:0 0 20px; overflow-wrap:anywhere; }
.complaint-page .receipt form { display:inline-block; margin:10px; }
.complaint-page button.text-button { background:transparent; color:var(--teal); padding:6px; text-decoration:underline; }
.complaint-page button.text-button:hover { background:#e4efed; }
@media(max-width:600px) {
    .complaint-page .complaint-shell { padding:28px 16px; }
    .complaint-page .card { padding:22px 18px; }
    .complaint-page .form-grid { grid-template-columns:minmax(0,1fr); }
    .complaint-page .steps { gap:6px; }
    .complaint-page .steps li { font-size:12px; padding:10px 2px; }
    .complaint-page .otp-row, .complaint-page .submit-row { flex-direction:column; align-items:stretch; }
    .complaint-page .otp-row input, .complaint-page .submit-row p { max-width:none; }
    .complaint-page .receipt form { display:block; margin:12px 0; }
    .complaint-page .receipt button { width:100%; }
}
@media print {
    body>.header, body>.footer, body>.scroll-top { display:none!important; }
    .complaint-page .intro, .complaint-page .steps, .complaint-page .alert, .complaint-page button, .complaint-page .reset-form { display:none!important; }
    .complaint-page { background:#fff; }
    .complaint-page .card { box-shadow:none; border:0; }
    .complaint-page .complaint-shell { padding:0; }
    .complaint-page .reference { background:none; }
}
