.ac356 { color: #123b60; padding: 18px; margin-bottom: 16px; }
.ac356-status-filter { display: flex; flex-wrap: wrap; gap: 8px; border: 1px solid #c7ddec; border-radius: 8px; padding: 8px 10px; flex: 1 1 100%; }
.ac356-filters .ac356-status-choice { display: flex; align-items: center; gap: 5px; padding: 5px; }
.ac356-status-choice input { width: auto; min-height: auto; }
.ac356 .ac356-filters .ac356-status-choice input { width: 16px; height: 16px; min-height: 16px; flex: 0 0 16px; margin: 0; padding: 0; accent-color: #126ba6; }
.ac356 h2 { font-size: 1.25rem; margin: 3px 0 8px; }
.ac356 h3 { font-size: 1.08rem; margin: 14px 0; }
.ac356 p { line-height: 1.5; }
.ac356-eyebrow { color: #52748f; font-size: .75rem; letter-spacing: .06em; margin: 0; }
.ac356 button,.ac356-dialog button { color: #07528c; background: #edf6ff; border: 1px solid #a9cdec; border-radius: 8px; padding: 8px 12px; cursor: pointer; font: inherit; }
.ac356 button:hover { background: #dfefff; }
.ac356 button:focus-visible,.ac356 input:focus-visible { outline: 2px solid #1878bd; outline-offset: 2px; }
.ac356 button:disabled { opacity: .55; cursor: default; }
.ac356-list { display: grid; gap: 8px; margin-top: 12px; }
.ac356-row { display: flex; align-items: center; gap: 12px; padding: 10px 12px; border: 1px solid #c7ddec; border-radius: 10px; background: #f8fbff; min-width: 0; }
.ac356-row>div:not(.ac356-avatar),.ac356-person { flex: 1; min-width: 0; overflow-wrap: anywhere; }
.ac356-row small,.ac356-record span,.ac356-record small { display: block; margin-top: 4px; color: #55738b; }
.ac356-row>button { flex: 0 0 auto; }
.ac356-avatar { position: relative; width: 42px; height: 46px; flex: 0 0 42px; display: grid; place-items: center; border: 1px solid #b7d4ea; border-radius: 8px; background: #e4f0fb; color: #205c8a; overflow: hidden; font-weight: 600; }
.ac356-avatar img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.ac356-filters { display: flex; flex-wrap: wrap; align-items: end; gap: 12px; margin: 16px 0; }
.ac356-filters label { display: grid; gap: 5px; min-width: 0; }
.ac356-filters input,.ac356-form input:not([type=checkbox]):not([type=radio]),.ac356-form textarea { box-sizing: border-box; color: #123b60; background: #fff; border: 1px solid #aacdee; border-radius: 7px; padding: 9px; min-height: 38px; max-width: 100%; font: inherit; }
.ac356-search { flex: 1 1 250px; }
.ac356-filters input[type=search] { width: 100%; }
.ac356-notice { background: #edf6ff; border-left: 3px solid #6da4d2; border-radius: 5px; padding: 10px 12px; font-size: .88rem; }
.ac356-muted { color: #53748d; font-size: .88rem; }
.ac356-counts { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 6px; }
.ac356-count { font-size: .77rem; padding: 3px 6px; border-radius: 5px; background: #eef3f7; color: #5a7287; }
.ac356-count.has-records { background: #e0efff; color: #114d7b; }
.ac356-pager { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 12px; margin-top: 16px; font-size: .88rem; }
.ac356-toolbar,.ac356-entry { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; }
.ac356-entry { border: 1px solid #c7ddec; border-radius: 10px; background: #fff; padding: 10px 14px; }
.ac356-entry p { margin: 0; }
.ac356-record { padding: 12px; border-bottom: 1px solid #d8e7f2; }
.ac356-error { color: #9e2332; background: #fff1f2; border-radius: 6px; padding: 10px; }
.ac356-error:empty { display: none; }
.ac356-form { display: grid; gap: 14px; color: #123b60; }
.ac356-form>label:not(.ac356-choice) { display: grid; gap: 5px; }
.ac356-form fieldset { border: 1px solid #c7ddec; border-radius: 8px; padding: 10px; }
.ac356-choice { display: flex; align-items: center; gap: 8px; padding: 7px 0; }
.ac356-choice input { flex: 0 0 auto; }
.ac356-group-checks { max-height: 240px; overflow-y: auto; }
.ac356-form textarea { min-height: 80px; resize: vertical; }
@media(max-width:600px) {
    .ac356 { padding: 12px; }
    .ac356-row { flex-wrap: wrap; gap: 8px; }
    .ac356-row>.ac356-person { flex: 1 1 calc(100% - 64px); }
    .ac356-row>button { margin-left: auto; }
    .ac356-filters label { flex: 1 1 130px; }
    .ac356-filters .ac356-search { flex-basis: 100%; }
    .ac356-filters input { width: 100%; }
}
