:root {
  --fe-color-primary: #0b5fff;
  --fe-color-primary-hover: #004bd6;
  --fe-color-background: #f6f8fb;
  --fe-color-surface: #ffffff;
  --fe-color-text: #172033;
  --fe-color-muted: #667085;
  --fe-color-border: #d9e1ec;
  --fe-color-error: #dc2626;
  --fe-color-success: #15803d;
  --fe-radius-md: 10px;
  --fe-radius-lg: 16px;
  --fe-shadow-card: 0 12px 32px rgba(16, 24, 40, 0.10);
  --fe-max-width: 760px;
  font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

* { box-sizing: border-box; }
body { margin: 0; background: var(--fe-color-background); color: var(--fe-color-text); }
button, input, textarea, select { font: inherit; }
.fe-page-shell { min-height: 100vh; display: flex; align-items: flex-start; justify-content: center; padding: 56px 20px; }
.fe-card { width: min(100%, var(--fe-max-width)); background: var(--fe-color-surface); border: 1px solid rgba(217, 225, 236, .75); border-radius: var(--fe-radius-lg); box-shadow: var(--fe-shadow-card); padding: 32px; }
.fe-title { margin: 0 0 8px; font-size: 30px; line-height: 1.15; }
.fe-subtitle, .fe-helper, .fe-muted { color: var(--fe-color-muted); }
.fe-section-header { margin-bottom: 24px; }
.fe-field { margin: 0 0 22px; }
.fe-field[hidden] { display: none; }
.fe-label { display: block; font-weight: 650; margin-bottom: 7px; }
.fe-required { color: var(--fe-color-error); }
.fe-helper { margin: -2px 0 8px; line-height: 1.45; }
.fe-input, .fe-textarea, .fe-select { width: 100%; border: 1px solid var(--fe-color-border); border-radius: var(--fe-radius-md); padding: 12px 13px; background: #fff; color: var(--fe-color-text); outline: none; }
.fe-input:focus, .fe-textarea:focus, .fe-select:focus { border-color: var(--fe-color-primary); box-shadow: 0 0 0 3px rgba(11, 95, 255, .14); }
.fe-textarea { min-height: 132px; resize: vertical; }
.fe-radio-row { display: grid; gap: 10px; }
.fe-radio-option { display: flex; gap: 10px; align-items: center; padding: 11px 12px; border: 1px solid var(--fe-color-border); border-radius: var(--fe-radius-md); }
.fe-field-error { border-left: 4px solid var(--fe-color-error); padding-left: 12px; }
.fe-field-error .fe-input, .fe-field-error .fe-textarea, .fe-field-error .fe-select, .fe-field-error .fe-radio-option, .fe-field-error .fe-upload-box { border-color: var(--fe-color-error); }
.fe-group { border: 1px solid #e8edf5; border-radius: var(--fe-radius-lg); padding: 18px; margin: 0 0 22px; background: #fbfcfe; }
.fe-group-title { font-weight: 700; margin-bottom: 14px; }
.fe-content { line-height: 1.55; color: var(--fe-color-text); }
.fe-actions { display: flex; gap: 12px; justify-content: space-between; align-items: center; margin-top: 28px; }
.fe-button { border: 0; border-radius: var(--fe-radius-md); padding: 12px 18px; cursor: pointer; font-weight: 700; }
.fe-button:disabled { cursor: not-allowed; opacity: .48; }
.fe-button-primary { background: var(--fe-color-primary); color: #fff; }
.fe-button-primary:hover { background: var(--fe-color-primary-hover); }
.fe-button-secondary { background: #eef4ff; color: var(--fe-color-primary); }
.fe-button-ghost { background: transparent; color: var(--fe-color-muted); }
.fe-progress { color: var(--fe-color-muted); font-size: 14px; }
.fe-error { color: var(--fe-color-error); margin-top: 6px; font-size: 14px; }
.fe-validation-summary { border: 1px solid rgba(220, 38, 38, .35); border-radius: var(--fe-radius-md); background: #fef2f2; color: var(--fe-color-error); font-weight: 650; padding: 12px 14px; margin-top: 8px; }
.fe-success { color: var(--fe-color-success); }
.fe-upload-box { border: 1.5px dashed var(--fe-color-border); border-radius: var(--fe-radius-lg); padding: 18px; background: #fff; }
.fe-upload-list { display: grid; gap: 10px; margin-top: 12px; }
.fe-upload-item { border: 1px solid #e5eaf2; border-radius: var(--fe-radius-md); padding: 10px 12px; background: #fff; }
.fe-upload-meta { display: flex; justify-content: space-between; gap: 12px; }
.fe-upload-actions { display: flex; gap: 8px; margin-top: 8px; }
.fe-upload-error { margin-top: 8px; color: var(--fe-color-error); font-size: 0.875rem; line-height: 1.4; }
.fe-progress-bar { height: 7px; background: #edf2f7; border-radius: 999px; overflow: hidden; margin-top: 8px; }
.fe-progress-fill { height: 100%; width: 0%; background: var(--fe-color-primary); transition: width .2s ease; }
.fe-evidence-mode { display: flex; gap: 8px; margin-bottom: 10px; }
.fe-evidence-mode button[aria-pressed="true"] { background: var(--fe-color-primary); color: #fff; }
.fe-char-count { text-align: right; color: var(--fe-color-muted); font-size: 13px; margin-top: 4px; }
.fe-checkbox-option { display: flex; gap: 10px; align-items: flex-start; padding: 12px; border: 1px solid var(--fe-color-border); border-radius: var(--fe-radius-md); line-height: 1.45; cursor: pointer; }
.fe-checkbox-option input { margin-top: 3px; }
.fe-address-grid { display: grid; gap: 14px; }
.fe-packet { margin-bottom: 22px; }
.fe-packet-list { display: grid; gap: 16px; }
.fe-packet-card { border: 1px solid #e8edf5; border-radius: var(--fe-radius-lg); padding: 18px; background: #fbfcfe; }
.fe-packet-card-header { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 14px; }
.fe-packet-add { margin-top: 12px; }
@media (max-width: 640px) { .fe-page-shell { padding: 20px 12px; } .fe-card { padding: 22px; } .fe-actions { flex-direction: column; align-items: stretch; } }
