:root {
    --bg:#f4f7fb;
    --card:#fff;
    --text:#172033;
    --muted:#64748b;
    --border:#d9e2ef;
    --accent:#0f766e;
    --accent-dark:#0b5d57;
    --error:#991b1b;
    --success:#166534;
}
* { box-sizing:border-box; }
body { margin:0; font-family:Arial,sans-serif; background:var(--bg); color:var(--text); line-height:1.5; }
.container { width:min(920px,calc(100% - 32px)); margin:0 auto; }
.site-header { background:#0f172a; color:#fff; padding:24px 0; }
.brand { font-size:28px; font-weight:700; }
.site-header p { margin:5px 0 0; color:#cbd5e1; }
.page { padding:34px 0 56px; }
.intro { margin-bottom:22px; }
.intro h1 { margin:0 0 8px; font-size:34px; }
.intro p { margin:0; color:var(--muted); }
.request-form { display:flex; flex-direction:column; gap:18px; }
.form-card,.message { background:var(--card); border:1px solid var(--border); border-radius:16px; padding:22px; box-shadow:0 10px 28px rgba(15,23,42,.06); }
.form-card h2,.message h2 { margin:0 0 16px; font-size:21px; }
.form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.field { display:flex; flex-direction:column; gap:7px; margin-bottom:16px; }
.field:last-child { margin-bottom:0; }
.field > span { font-weight:700; }
.field small,.hint { color:var(--muted); font-size:13px; }
input[type=text],input[type=tel],input[type=email],input[type=file],textarea { width:100%; border:1px solid #cbd5e1; border-radius:10px; padding:11px 12px; font:inherit; background:#fff; color:var(--text); }
input:focus,textarea:focus { outline:2px solid rgba(15,118,110,.18); border-color:var(--accent); }
textarea { height:190px; resize:vertical; overflow-y:auto; }
.check-row { display:flex; align-items:flex-start; gap:10px; cursor:pointer; }
.check-row input { margin-top:4px; }
.messenger-list { display:grid; gap:12px; }
.messenger-item { border:1px solid var(--border); border-radius:12px; padding:13px 14px; }
.messenger-fields { margin-top:12px; display:none; }
.messenger-item.is-selected .messenger-fields { display:block; }
.consent-card { padding-top:18px; padding-bottom:18px; }
.consent { font-weight:600; }
.submit-button { align-self:flex-start; border:0; border-radius:11px; background:var(--accent); color:#fff; padding:13px 22px; font:700 16px Arial,sans-serif; cursor:pointer; }
.submit-button:hover { background:var(--accent-dark); }
.message.error { border-color:#fecaca; color:var(--error); background:#fff7f7; }
.message.success { border-color:#bbf7d0; color:var(--success); background:#f0fdf4; }
.message ul { margin:0; padding-left:22px; }
.selected-files {
    display:flex;
    flex-direction:column;
    gap:8px;
    margin:10px 0 0;
    padding:0;
    list-style:none;
    color:var(--muted);
    font-size:13px;
}
.selected-file-item {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    border:1px solid var(--border);
    border-radius:10px;
    padding:9px 11px;
    background:#f8fafc;
}
.selected-file-name {
    min-width:0;
    overflow-wrap:anywhere;
}
.selected-file-remove {
    flex:0 0 auto;
    border:1px solid #cbd5e1;
    border-radius:8px;
    padding:6px 10px;
    background:#fff;
    color:var(--text);
    font:inherit;
    cursor:pointer;
}
.selected-file-remove:hover {
    border-color:#94a3b8;
    background:#f1f5f9;
}
.file-selection-error {
    min-height:20px;
    margin-top:8px;
    color:var(--error);
    font-size:13px;
}
.honeypot { position:absolute!important; left:-10000px!important; width:1px!important; height:1px!important; overflow:hidden!important; }
@media (max-width:680px) {
    .form-grid { grid-template-columns:1fr; }
    .intro h1 { font-size:29px; }
    .form-card,.message { padding:18px; }
    .submit-button { width:100%; }
}
