.sa-reg { max-width: 640px; font-size: 1rem; }
.sa-mgr { max-width: 100%; }
.sa-form .sa-field { margin: 0 0 1rem; display: flex; flex-direction: column; }
.sa-form label { font-weight: 600; margin-bottom: .3rem; }
.sa-form input[type=text], .sa-form input[type=email], .sa-form input[type=tel], .sa-form input[type=password] {
  width: 100%; max-width: 420px; padding: .55rem .7rem; border: 1px solid #b5b5b5; border-radius: 4px; font-size: 1rem; box-sizing: border-box;
}
.sa-form .sa-check label { font-weight: normal; display: flex; gap: .5rem; align-items: flex-start; }
.sa-form .sa-check input { margin-top: .25rem; }
.sa-err { color: #b32d2e; font-size: .9rem; margin-top: .25rem; }
.sa-hp { position: absolute !important; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.sa-btn, .sa-form button.sa-btn { display: inline-block; padding: .55rem 1.2rem; background: #1d4f91; color: #fff !important; border: 0; border-radius: 4px; cursor: pointer; text-decoration: none; font-size: 1rem; line-height: 1.3; }
.sa-btn:hover { background: #163d70; }
.sa-btn.sa-secondary { background: #e9edf3; color: #1d4f91 !important; }
.sa-link { background: none; border: 0; padding: 0; color: #1d4f91; text-decoration: underline; cursor: pointer; font-size: inherit; }
.sa-danger { color: #b32d2e; }
.sa-notice { padding: .75rem 1rem; border-radius: 4px; margin: 0 0 1rem; border-left: 4px solid; }
.sa-notice.sa-success { background: #edf7ed; border-color: #2e7d32; }
.sa-notice.sa-error { background: #fdecea; border-color: #b32d2e; }
.sa-toolbar { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: .75rem; margin-bottom: 1rem; }
.sa-actions { display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; }
.sa-search { display: flex; flex-wrap: wrap; gap: .5rem; margin-bottom: 1rem; }
.sa-search input[type=search] { flex: 1 1 220px; padding: .5rem .7rem; border: 1px solid #b5b5b5; border-radius: 4px; }
.sa-search select { padding: .45rem; border: 1px solid #b5b5b5; border-radius: 4px; }
.sa-table-wrap { overflow-x: auto; }
.sa-table { width: 100%; border-collapse: collapse; font-size: .95rem; }
.sa-table th, .sa-table td { text-align: left; padding: .5rem .6rem; border-bottom: 1px solid #e2e2e2; vertical-align: top; }
.sa-table th { background: #f4f6f9; }
.sa-row-actions { white-space: nowrap; }
.sa-row-actions form { display: inline; margin-left: .75rem; }
.sa-pager a, .sa-pager strong { margin-right: .4rem; }
@media (max-width: 640px) {
  .sa-table thead { display: none; }
  .sa-table tr { display: block; border-bottom: 2px solid #e2e2e2; padding: .4rem 0; }
  .sa-table td { display: flex; gap: .5rem; border: 0; padding: .2rem .4rem; }
  .sa-table td[data-label]::before { content: attr(data-label) ":"; font-weight: 600; min-width: 6.5rem; }
}
.sa-notice.sa-info { background: #eef4fb; border-color: #1d4f91; }
.sa-compare { margin-bottom: .5rem; }
.sa-compare th[scope=row] { background: #f4f6f9; width: 9rem; }
.sa-note { font-size: .85rem; color: #555; margin: 0 0 1rem; }
.sa-confirm .sa-actions { gap: .75rem; }
@media (max-width: 640px) { .sa-compare thead { display: table-header-group; } .sa-compare tr { display: table-row; } .sa-compare td, .sa-compare th { display: table-cell; } .sa-compare td::before { content: none !important; } }
