/* Shared native controls retain keyboard, mobile and screen reader support. */
[hidden] { display: none !important; }
body :is(select, input:not([type=checkbox]):not([type=radio]):not([type=hidden]), textarea) {
  box-sizing: border-box;
  max-width: 100%;
}
body select:not([multiple]) {
  appearance: none;
  width: 100%;
  min-height: 52px;
  padding: 12px 44px 12px 14px;
  border: 1px solid #78907b;
  border-radius: 10px;
  background-color: #fff;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23304f3e' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-position: right 14px center;
  background-repeat: no-repeat;
  color: #304143;
  font: inherit;
  line-height: 1.4;
  cursor: pointer;
  transition: border-color .15s, box-shadow .15s;
}
body select:hover { border-color: #417c0e; }
body select:focus-visible { outline: 3px solid #417c0e; outline-offset: 3px; }
body select:disabled { opacity: .65; cursor: not-allowed; background-color: #f3f5f1; }
body select[multiple] { border-radius: 10px; padding: 12px; }
body select[multiple] option { padding: 8px 10px; }
body :is(input[type=checkbox], input[type=radio]) { accent-color: #417c0e; cursor: pointer; }
.applicant-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px 18px; }
.form-field { min-width: 0; }
.form-field-wide { grid-column: 1 / -1; }
.form-field > label { line-height: 1.4; }
.form-field .help { display: block; margin-top: 8px; font-size: .85rem; line-height: 1.5; }
.form-field .errorlist { margin: 8px 0 0; }
.choice-cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.choice-cards > div { min-width: 0; }
.cooperar-private .choice-cards label {
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 52px;
  height: 100%;
  box-sizing: border-box;
  padding: 12px 14px;
  margin: 0;
  border: 1px solid #bdcdc4;
  border-radius: 10px;
  background: #fff;
  font-weight: 500;
  cursor: pointer;
  overflow-wrap: anywhere;
}
.choice-cards label:hover { border-color: #417c0e; background: #f8fbf3; }
.cooperar-private .choice-cards label:has(input:checked) { background: #edf5e5; border-color: #417c0e; font-weight: 700; }
.choice-cards label:focus-within { outline: 2px solid #417c0e; outline-offset: 2px; }
.choice-cards input { margin: 0; }
.document-layout > section { min-width: 0; max-width: none; }
.document-layout :is(.form-panel, .upload-panel) { padding: clamp(18px, 2.5vw, 30px); }
.camera-actions { display: flex; flex-wrap: wrap; gap: 12px; margin: 18px 0; }
.cooperar-private .camera-actions .secondary { flex: 1 1 160px; margin: 0; white-space: normal; }
.cooperar-private .camera-actions .secondary:not([hidden]) { background: #fff; border-color: #417c0e; color: #304f3e; }
.cooperar-private .camera-actions .secondary:hover { background: #edf5e5; }
.upload-panel form > button { width: 100%; white-space: normal; }
@media (max-width: 1200px) { .document-layout { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 700px) {
  .applicant-fields { grid-template-columns: minmax(0, 1fr); }
  .camera-actions { flex-direction: column; }
  .cooperar-private .camera-actions .secondary { flex: auto; width: 100%; }
}
@media (max-width: 420px) { .choice-cards { grid-template-columns: minmax(0, 1fr); } }
@media (forced-colors: active) { body select:not([multiple]) { appearance: auto; background-image: none; } }

[data-uppercase]{text-transform:uppercase}

/* Selected uploads: compact, accessible controls without oversized action buttons. */
body .uploaded-files{display:flex;flex-direction:column;gap:8px;list-style:none;margin:12px 0 16px;padding:0;min-width:0}
body .uploaded-files:empty{display:none}
body .uploaded-files li{display:flex;align-items:center;gap:8px;min-width:0;padding:6px 0;color:#304f3e;font-size:13px;line-height:1.5}
body .uploaded-files li>span{min-width:0;overflow-wrap:anywhere}
body .uploaded-files .upload-remove{display:inline-flex;align-items:center;justify-content:center;flex:0 0 36px;width:36px;height:36px;min-width:36px;min-height:36px;margin:0;padding:0;border:1px solid transparent;border-radius:50%;background:transparent;background-image:none;color:#63735c;font-family:Arial,sans-serif;font-size:24px;font-weight:400;line-height:1;box-shadow:none;transform:none;cursor:pointer;transition:background .15s,color .15s}
body .uploaded-files .upload-remove:hover{background:#f9eae7;color:#a42c28;border-color:#efd5d0;box-shadow:none;transform:none}
body .uploaded-files .upload-remove:focus-visible{outline:2px solid #648630;outline-offset:2px}
@media(pointer:coarse){body .uploaded-files .upload-remove{flex-basis:44px;width:44px;height:44px;min-width:44px;min-height:44px}}
@media(prefers-reduced-motion:reduce){body .uploaded-files .upload-remove{transition:none}}
.field-error { display: block; margin-top: 4px; font-size: 12px; line-height: 1.35; color: #a32c26; }
.field-error[hidden] { display: none; }
.geo-combobox { position: relative; }
.geo-combobox > input { width: 100%; }
.geo-options { position: absolute; z-index: 30; top: calc(100% + 4px); left: 0; right: 0; max-height: 240px; margin: 0; padding: 4px; overflow-y: auto; list-style: none; background: #fff; border: 1px solid #d5dccf; border-radius: 10px; box-shadow: 0 10px 24px rgba(23, 45, 26, .14); }
.geo-options li { padding: 9px 10px; border-radius: 7px; font-size: 13px; line-height: 1.3; cursor: pointer; }
.geo-options li:hover, .geo-options li[aria-selected="true"] { background: #eef4e8; }
.geo-options .geo-empty { color: #6b7665; cursor: default; }
.geo-options .geo-empty:hover { background: none; }
