.lspd-roster-modal{position:fixed;inset:0;z-index:10000;background:rgba(0,0,0,.58);display:grid;place-items:center;padding:20px}.lspd-roster-modal[hidden]{display:none}
.format-buttons .lspd-roster-open,.abbc3_buttons_row .lspd-roster-open{display:inline-flex;align-items:center;justify-content:center;vertical-align:middle}
.lspd-roster-dialog{width:min(620px,100%);max-height:90vh;overflow:auto;background:#fff;color:#171b20;border:1px solid #8d99a5}.lspd-roster-dialog__head,.lspd-roster-dialog__foot{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;background:#102e47;color:#fff}
.lspd-roster-dialog__head h3{margin:0;color:#fff}.lspd-roster-dialog__body{padding:18px;display:grid;gap:10px}.lspd-roster-close{border:0;background:transparent;color:inherit;font-size:24px;cursor:pointer}.lspd-roster-options{display:grid;gap:6px;margin:4px 0}.lspd-roster-format,.lspd-roster-sections{display:grid;gap:8px;margin:4px 0;padding:10px;border:1px solid #ccd2d8}.lspd-roster-format legend,.lspd-roster-sections legend{font-weight:700}.lspd-roster-format__grid{display:grid;grid-template-columns:minmax(110px,auto) 1fr;gap:8px;align-items:center}.lspd-roster-custom{display:grid;gap:8px}.lspd-roster-custom[hidden]{display:none}
.lspd-roster-sortable{margin:0;padding:0;list-style:none;border-top:1px solid #ccd2d8}.lspd-roster-sortable li{display:grid;grid-template-columns:1fr minmax(120px,170px) auto auto;align-items:center;gap:6px;padding:8px;border-bottom:1px solid #ccd2d8;background:#f5f6f7;cursor:grab}.lspd-roster-sortable li.is-dragging{opacity:.45}.lspd-roster-sortable button{min-width:32px;height:30px;border:1px solid #aeb7c0;background:#fff}.lspd-roster-member-section[hidden]{display:none}
.lspd-roster-status{min-height:18px;color:#9b1c1c}.lspd-group-roster{margin:16px 0;border-left:4px solid #102e47;padding:10px 14px;background:#f5f6f7}.lspd-group-roster__title{margin:0 0 8px}.lspd-group-roster__members{margin:0;padding-left:22px}
@media(max-width:600px){.lspd-roster-modal{padding:0}.lspd-roster-dialog{max-height:100vh;height:100%;border:0}.lspd-roster-format__grid{grid-template-columns:1fr}}
.lspd-group-roster--formatted > ul,
.lspd-group-roster--formatted .lspd-group-roster__members,
.lspd-group-roster__members {
    column-count: var(--lspd-roster-columns, 1);
    column-gap: 24px;
}

.lspd-group-roster__members--marker-disc { list-style-type: disc; }
.lspd-group-roster__members--marker-circle { list-style-type: circle; }
.lspd-group-roster__members--marker-square { list-style-type: square; }
.lspd-group-roster__members--marker-decimal { list-style-type: decimal; }
.lspd-group-roster__members--marker-lower-alpha { list-style-type: lower-alpha; }
.lspd-group-roster__members--marker-upper-alpha { list-style-type: upper-alpha; }
.lspd-group-roster__members--marker-lower-roman { list-style-type: lower-roman; }
.lspd-group-roster__members--marker-upper-roman { list-style-type: upper-roman; }
.lspd-group-roster__members--marker-dash,
.lspd-group-roster__members--marker-none,
.lspd-group-roster__members--plain {
    list-style: none;
    padding-left: 0;
}

.lspd-group-roster__marker {
    display: inline-block;
    width: 1.25em;
}

.lspd-group-roster__prefix {
    margin-bottom: 6px;
}

.lspd-group-roster__suffix {
    margin-top: 6px;
}

.lspd-group-roster__sections {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 14px;
}

.lspd-group-roster__section-title {
    margin: 0 0 6px;
    font-size: 1em;
}

.lspd-group-roster--formatted > ul > li,
.lspd-group-roster__members > li {
    break-inside: avoid;
}

.lspd-group-roster__alt {
    display: inline-block;
    margin-left: 6px;
    padding: 1px 6px;
    border: 1px solid #9b6b12;
    border-radius: 3px;
    background: #fff4cf;
    color: #5f3b00;
    font-size: 11px;
    font-weight: 700;
    line-height: 1.4;
    text-decoration: none;
    white-space: nowrap;
}

.lspd-group-roster__alt:hover {
    background: #ffe39a;
    color: #3b2500;
    text-decoration: none;
}

@media (max-width: 700px) {
    .lspd-group-roster--formatted > ul,
    .lspd-group-roster--formatted .lspd-group-roster__members,
    .lspd-group-roster__members {
        column-count: 1;
    }
}
