dialog { border: 1px solid #d7e1db; border-radius: 16px; padding: 0; max-width: 95vw; max-height: 92vh; }
dialog::backdrop { background: #172d2266; }
.dialog-form { width: min(450px, 90vw); box-shadow: none; padding: 25px; }
.dialog-form label { margin: 15px 0; }
.dialog-form select { font: inherit; padding: 10px; border: 1px solid #cdd9d0; border-radius: 8px; }
.dialog-form fieldset { border: 1px solid #dfe6e1; border-radius: 8px; }
.dialog-form .check { display: flex; align-items: center; gap: 10px; margin: 12px 0; }
.check input { width: auto; }
.table-wrap { overflow: auto; }
table { width: 100%; border-collapse: collapse; text-align: left; }
td, th { padding: 12px; border-bottom: 1px solid #e7ece8; white-space: nowrap; }
td button { margin: 3px; }
#user-error, #password-error { color: #a45637; }
aside > button { margin-top: 12px; }
.source-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.source-form { width: 100%; padding: 18px; box-shadow: none; border: 1px solid #dfe6e1; border-radius: 10px; }
.source-form label { margin: 15px 0; }
.source-form button { width: auto; padding: 10px 12px; }
#source-message { color: #a45637; }
#source-challenge { padding: 18px 0; }
#source-captcha-image { min-width: 90px; max-width: 240px; border: 1px solid #dfe6e1; }
#source-captcha-form { max-width: 350px; margin: 12px 0; }
@media (max-width: 800px) {
  .source-grid { grid-template-columns: minmax(0, 1fr); }
  header { height: auto; min-height: 68px; flex-wrap: wrap; padding: 12px 14px; }
  .brand { flex: 1 1 46%; order: 0; }
  header #account { order: 1; flex: 1 1 40%; width: auto; text-align: right; }
  header button { order: 2; padding: 8px 11px; }
  .layout { min-height: calc(100vh - 100px); }
}
