.scsd-p3-form{max-width:1100px;margin:1.5rem auto;padding:1.5rem;border:1px solid #d7dde5;border-radius:12px;background:#fff;box-shadow:0 4px 18px rgba(0,0,0,.06)}
.scsd-p3-form h2{margin-top:0}.scsd-p3-disclaimer{padding:.8rem 1rem;background:#f5f7fa;border-left:4px solid #1d4f91}.scsd-p3-info{padding:.8rem 1rem;background:#fff8e5;border-left:4px solid #b7791f}.scsd-p3-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin:1rem 0}.scsd-p3-form label{display:block;font-weight:700;margin:.7rem 0}.scsd-p3-form input,.scsd-p3-form textarea{width:100%;box-sizing:border-box;margin-top:.25rem;padding:.65rem;border:1px solid #bfc7d1;border-radius:8px}.scsd-p3-help{display:block;font-weight:400;font-size:.9rem;color:#5d6673;margin-top:.2rem}.scsd-p3-form button{margin-top:1rem;padding:.8rem 1.2rem;border:0;border-radius:8px;background:#153e75;color:#fff;font-weight:700;cursor:pointer}.scsd-p3-notice{max-width:980px;margin:1rem auto;padding:1rem;border-radius:8px}.scsd-p3-notice.success{background:#e9f8ef;border:1px solid #91d4a5}.scsd-p3-notice.error{background:#fff0f0;border:1px solid #d69191}


.scsd-p3-notice {
    border-radius: 8px;
    margin: 0 0 16px 0;
    padding: 14px 16px;
    padding-right: 52px;
    position: relative;
    font-weight: 600;
}
.scsd-p3-notice.success {
    background: #e8f7ee;
    border: 1px solid #2f8f4e;
    color: #164b2a;
}
.scsd-p3-notice.error {
    background: #fff1f1;
    border: 1px solid #b42318;
    color: #7a271a;
}
.scsd-p3-toast {
    position: fixed;
    right: 24px;
    bottom: 24px;
    z-index: 99999;
    max-width: 460px;
    box-shadow: 0 8px 28px rgba(0,0,0,.18);
}
@media (max-width: 640px) {
    .scsd-p3-toast {
        left: 16px;
        right: 16px;
        bottom: 16px;
        max-width: none;
    }
}


/* v0.1.14 form breathing-room polish: align Phase III field height with the main donation/activity report form. */
.scsd-p3-form {
    max-width: 1120px;
    padding: 28px 30px;
}
.scsd-p3-grid {
    gap: 20px 24px;
    margin: 20px 0 22px;
}
.scsd-p3-form label {
    margin: 0 0 14px;
    line-height: 1.35;
}
.scsd-p3-form input[type="text"],
.scsd-p3-form input[type="email"],
.scsd-p3-form input[type="tel"],
.scsd-p3-form input[type="url"],
.scsd-p3-form input[type="number"],
.scsd-p3-form input[type="file"],
.scsd-p3-form select {
    min-height: 46px;
    height: 46px;
    padding: 10px 12px;
    font-size: 15px;
    line-height: 1.35;
}
.scsd-p3-form textarea {
    min-height: 132px;
    padding: 12px;
    font-size: 15px;
    line-height: 1.45;
}
.scsd-p3-form input[type="checkbox"] {
    width: auto;
    min-height: auto;
    height: auto;
    margin-right: 10px;
    transform: scale(1.15);
}
.scsd-p3-form button {
    min-height: 48px;
    padding: 12px 20px;
    font-size: 15px;
}
.scsd-p3-disclaimer,
.scsd-p3-info {
    padding: 14px 18px;
    margin: 16px 0 20px;
    line-height: 1.55;
}


/* v0.1.15 group roster table: prevents accidental Enter-key form submission and gives teams a cleaner certificate roster. */
.scsd-p3-roster {
    border: 1px solid #d7dde5;
    border-radius: 10px;
    padding: 18px;
    margin: 20px 0;
}
.scsd-p3-roster legend {
    font-weight: 700;
    padding: 0 8px;
}
.scsd-p3-roster-table {
    width: 100%;
    border-collapse: collapse;
    margin: 16px 0 12px;
}
.scsd-p3-roster-table th,
.scsd-p3-roster-table td {
    border-bottom: 1px solid #e3e8ef;
    padding: 10px 8px;
    vertical-align: middle;
}
.scsd-p3-roster-table th {
    text-align: left;
    font-size: 14px;
}
.scsd-p3-roster-number {
    width: 42px;
    font-weight: 700;
    color: #536171;
}
.scsd-p3-secondary-button,
.scsd-p3-form .scsd-p3-secondary-button {
    background: #eef2f7;
    color: #153e75;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    min-height: 40px;
    padding: 9px 14px;
    font-weight: 700;
    cursor: pointer;
}
.scsd-p3-form .scsd-p3-add-roster-row {
    margin-top: 4px;
}
@media (max-width: 720px) {
    .scsd-p3-roster-table,
    .scsd-p3-roster-table thead,
    .scsd-p3-roster-table tbody,
    .scsd-p3-roster-table th,
    .scsd-p3-roster-table td,
    .scsd-p3-roster-table tr {
        display: block;
        width: 100%;
    }
    .scsd-p3-roster-table thead {
        display: none;
    }
    .scsd-p3-roster-table tr {
        border: 1px solid #e3e8ef;
        border-radius: 8px;
        padding: 10px;
        margin-bottom: 12px;
    }
    .scsd-p3-roster-table td {
        border-bottom: 0;
        padding: 6px 0;
    }
}

/* v0.1.19 day-aware quota/waitlist and required cancellation acknowledgment. */
.scsd-p3-event-schedule,
.scsd-p3-consent {
    border: 1px solid #d7dde5;
    border-radius: 10px;
    padding: 18px;
    margin: 20px 0;
}
.scsd-p3-event-schedule legend,
.scsd-p3-consent legend {
    font-weight: 700;
    padding: 0 8px;
}
.scsd-p3-capacity-message.active {
    margin: 14px 0 18px;
    padding: 12px 14px;
    background: #eef6ff;
    border-left: 4px solid #1d4f91;
    border-radius: 8px;
    font-weight: 700;
    line-height: 1.45;
}
.scsd-p3-capacity-message.waitlist {
    background: #fff8e5;
    border-left-color: #b7791f;
}
.scsd-p3-required-ack {
    background: #f8fafc;
}

.scsd-p3-conditional-unit, .scsd-p3-designated-leader { border: 1px solid #d7dde8; border-radius: 10px; padding: 1rem; margin: 1rem 0; background: #f8fafc; }
.scsd-p3-conditional-unit[hidden], .scsd-p3-designated-leader[hidden] { display: none !important; }


/* v0.1.20 registration layout de-cramping and protected-team polish. */
.scsd-p3-form {
    max-width: 1180px;
}
.scsd-p3-grid {
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    align-items: start;
}
.scsd-p3-wide-section > label,
.scsd-p3-event-schedule > label {
    max-width: 420px;
}
.scsd-p3-group-core-grid {
    grid-template-columns: repeat(2, minmax(280px, 1fr));
    align-items: start;
}
.scsd-p3-group-core-grid label {
    min-width: 0;
}
.scsd-p3-group-core-grid select,
.scsd-p3-group-core-grid input {
    width: 100%;
}
.scsd-p3-volunteer-assignments .scsd-p3-assignment-row {
    grid-template-columns: repeat(2, minmax(280px, 1fr));
    border: 1px solid #e3e8ef;
    border-radius: 10px;
    padding: 14px;
    background: #fbfcfe;
}
.scsd-p3-form select {
    text-overflow: ellipsis;
}
.scsd-p3-capacity-message.active {
    clear: both;
}
.scsd-p3-restricted-note {
    background: #f8fafc;
    border-left-color: #64748b;
}
.scsd-p3-protected-option-note {
    display: block;
    margin-top: 8px;
    color: #7a271a;
    font-weight: 700;
}
@media (max-width: 900px) {
    .scsd-p3-group-core-grid,
    .scsd-p3-volunteer-assignments .scsd-p3-assignment-row {
        grid-template-columns: 1fr;
    }
}

/* v0.1.21 group roster role/time assignment support. */
.scsd-p3-roster-table th:nth-child(1),
.scsd-p3-roster-table td:nth-child(1) {
    width: 48px;
}
.scsd-p3-roster-table th:nth-child(5),
.scsd-p3-roster-table td:nth-child(5) {
    width: 120px;
}
.scsd-p3-roster-table select,
.scsd-p3-roster-table input[type="text"] {
    min-width: 190px;
}
.scsd-p3-roster .scsd-p3-help {
    line-height: 1.55;
}
@media (max-width: 980px) {
    .scsd-p3-roster-table {
        display: block;
        overflow-x: auto;
        white-space: nowrap;
    }
}
@media (max-width: 720px) {
    .scsd-p3-roster-table {
        white-space: normal;
    }
    .scsd-p3-roster-table select,
    .scsd-p3-roster-table input[type="text"] {
        min-width: 0;
        width: 100%;
    }
}

.scsd-p3-group-intent,
.scsd-p3-locked-assignment {
    margin: 1rem 0;
    padding: 1rem;
    border: 1px solid #d8dee8;
    border-radius: 8px;
    background: #f9fbff;
}

.scsd-p3-group-intent label {
    display: block;
    margin: 0.45rem 0;
    font-weight: 600;
}

.scsd-p3-locked-assignment {
    border-left: 4px solid #b98132;
    background: #fff8ea;
}

/* v0.1.24 Day One/Both Days group intent alignment and workflow polish. */
.scsd-p3-group-intent[hidden] {
    display: none !important;
}
.scsd-p3-group-intent legend {
    font-weight: 700;
    padding: 0 .25rem;
}
.scsd-p3-group-intent label {
    display: grid;
    grid-template-columns: 22px minmax(0, 1fr);
    gap: .65rem;
    align-items: start;
    line-height: 1.45;
    padding: .25rem 0;
}
.scsd-p3-group-intent input[type="radio"] {
    width: auto;
    margin: .2rem 0 0 0;
    padding: 0;
}
.scsd-p3-group-intent .scsd-p3-help {
    margin: .35rem 0 .75rem;
}

/* v0.1.25: clean day-selection and Day One Activity radio-card layout. */
.scsd-p3-event-day-radio-fieldset,
.scsd-p3-day-one-activity-fieldset {
    border: 1px solid #d9e2ec;
    border-radius: 10px;
    background: #f8fafc;
    padding: 1rem 1.1rem;
    margin: 1rem 0;
}

.scsd-p3-event-day-radio-fieldset legend,
.scsd-p3-day-one-activity-fieldset legend {
    font-weight: 700;
    padding: 0 .4rem;
}

.scsd-p3-radio-card-group {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: .75rem;
    margin: .8rem 0;
}

.scsd-p3-radio-card {
    display: grid !important;
    grid-template-columns: 22px minmax(0, 1fr) !important;
    align-items: start !important;
    gap: .65rem !important;
    width: 100%;
    min-height: 48px;
    margin: 0 !important;
    padding: .75rem .85rem !important;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    background: #ffffff;
    line-height: 1.35;
    cursor: pointer;
}

.scsd-p3-radio-card input[type="radio"] {
    width: 16px !important;
    height: 16px !important;
    min-width: 16px;
    margin: .15rem 0 0 0 !important;
    padding: 0 !important;
}

.scsd-p3-radio-card span {
    display: block;
    font-weight: 600;
}

.scsd-p3-radio-card:has(input[type="radio"]:checked) {
    border-color: #8a1538;
    box-shadow: 0 0 0 2px rgba(138, 21, 56, .12);
}

.scsd-p3-both-days-help {
    margin-top: .35rem;
}

@media (max-width: 700px) {
    .scsd-p3-radio-card-group {
        grid-template-columns: 1fr;
    }
}


/* v0.1.26: stronger radio alignment and clearer group/day workflow spacing. */
.scsd-p3-event-day-radio-fieldset,
.scsd-p3-day-one-activity-fieldset {
    clear: both;
}

.scsd-p3-event-day-radio-fieldset .scsd-p3-radio-card-group,
.scsd-p3-day-one-activity-fieldset .scsd-p3-radio-card-group {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)) !important;
    gap: .85rem !important;
    align-items: stretch !important;
}

.scsd-p3-event-day-radio-fieldset label.scsd-p3-radio-card,
.scsd-p3-day-one-activity-fieldset label.scsd-p3-radio-card {
    display: flex !important;
    flex-direction: row !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    gap: .7rem !important;
    min-height: 54px !important;
    padding: .8rem .9rem !important;
    margin: 0 !important;
    text-align: left !important;
    box-sizing: border-box !important;
}

.scsd-p3-event-day-radio-fieldset label.scsd-p3-radio-card input[type="radio"],
.scsd-p3-day-one-activity-fieldset label.scsd-p3-radio-card input[type="radio"] {
    flex: 0 0 16px !important;
    width: 16px !important;
    height: 16px !important;
    min-width: 16px !important;
    margin: .22rem 0 0 0 !important;
    position: static !important;
}

.scsd-p3-event-day-radio-fieldset label.scsd-p3-radio-card span,
.scsd-p3-day-one-activity-fieldset label.scsd-p3-radio-card span {
    display: block !important;
    flex: 1 1 auto !important;
    line-height: 1.35 !important;
    margin: 0 !important;
}

.scsd-p3-group-core-grid select:disabled {
    background: #f1f5f9;
    color: #334155;
}

/* v0.1.31: Dismissible post-submit notice cleanup. */
.scsd-p3-toast {
    padding-right: 52px;
}
.scsd-p3-toast-close {
    position: absolute;
    top: 8px;
    right: 10px;
    width: 30px;
    height: 30px;
    border: 0;
    border-radius: 999px;
    background: rgba(0,0,0,.08);
    color: inherit;
    font-size: 22px;
    line-height: 1;
    font-weight: 700;
    cursor: pointer;
    margin: 0;
    padding: 0;
}
.scsd-p3-toast-close:hover,
.scsd-p3-toast-close:focus {
    background: rgba(0,0,0,.16);
    outline: 2px solid currentColor;
    outline-offset: 2px;
}


/* v0.1.35: hard-hide Day One setup-only team/role dropdowns and keep the setup assignment out of Day Two choices. */
.scsd-p3-force-hidden,
.scsd-p3-force-hidden[hidden] {
    display: none !important;
}
.scsd-p3-locked-assignment[hidden] {
    display: none !important;
}


/* v0.1.36: clearer Day One + Main Event group workflow layout. */
.scsd-p3-group-main-event-heading {
    margin: 1.1rem 0 .55rem;
    padding: .85rem 1rem;
    border-left: 4px solid #8a1538;
    background: #f8fafc;
    border-radius: 8px;
}
.scsd-p3-group-main-event-heading[hidden] {
    display: none !important;
}
.scsd-p3-group-main-event-heading h3 {
    margin: 0 0 .25rem;
    font-size: 1.08rem;
    line-height: 1.25;
}
.scsd-p3-locked-assignment {
    margin: .9rem 0;
    padding: .9rem 1rem;
    border-left: 4px solid #c8912e;
    background: #fff8e6;
    border-radius: 8px;
    line-height: 1.5;
}
.scsd-p3-day-one-activity-fieldset .scsd-p3-radio-card-group {
    grid-template-columns: 1fr !important;
}
.scsd-p3-day-one-activity-fieldset label.scsd-p3-radio-card {
    min-height: 46px !important;
}

/* v0.1.37: Day One participant roster and clearer combined group flow. */
.scsd-p3-day-one-participants {
    border-left: 4px solid #2f5f9f;
    background: #f8fbff;
}
.scsd-p3-day-one-participant-table th,
.scsd-p3-day-one-participant-table td {
    vertical-align: top;
}
.scsd-p3-day-one-participant-table select,
.scsd-p3-day-one-participant-table input {
    width: 100%;
    min-width: 0;
}
@media (max-width: 900px) {
    .scsd-p3-day-one-participant-table,
    .scsd-p3-day-one-participant-table thead,
    .scsd-p3-day-one-participant-table tbody,
    .scsd-p3-day-one-participant-table th,
    .scsd-p3-day-one-participant-table td,
    .scsd-p3-day-one-participant-table tr {
        display: block;
        width: 100%;
    }
    .scsd-p3-day-one-participant-table thead {
        display: none;
    }
    .scsd-p3-day-one-participant-table tr {
        border: 1px solid #d8e2ef;
        margin-bottom: 12px;
        padding: 10px;
        background: #fff;
    }
}

/* v0.1.38: strengthened submission notification mail fallback. */

/* v0.1.39: Day One roster now appears before Main Stand Down Event assignment; main event roster hides unless needed. */


/* v0.1.42: Preserve entered data on validation errors and make missing fields obvious. */
.scsd-p3-field-error{border-color:#b42318!important;box-shadow:0 0 0 3px rgba(180,35,24,.16)!important;background:#fff7f7!important}
.scsd-p3-client-validation{margin:1rem 0!important}
.scsd-p3-field-error-message{display:block;margin-top:6px;color:#7a271a;font-size:.9rem;font-weight:700;line-height:1.35}

/* v0.1.46 Volunteer Operations / GUNNYRET VOMS groundwork */

/* v0.1.51 workshop/session selection preview. */
.scsd-p3-workshop-preview {
    display: block;
    margin-top: 6px;
    color: #4b5563;
    font-size: 0.92em;
    line-height: 1.35;
    white-space: pre-line;
}
.scsd-p3-workshop-field {
    grid-column: 1 / -1;
    max-width: 100% !important;
    min-width: 0;
}
.scsd-p3-workshop-field select,
.scsd-p3-form select[data-scsd-p3-workshop-select] {
    display: block;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
}
.scsd-p3-volunteer-equipment,
.scsd-p3-volunteer-duties,
.scsd-p3-operational-logistics,
.scsd-p3-parking-info {
    border: 1px solid #d0d7de;
    border-radius: 10px;
    padding: 16px;
    margin: 18px 0;
    background: #fbfcfe;
}
.scsd-p3-parking-info > .scsd-p3-help {
    margin: 0 0 14px;
    line-height: 1.5;
}
.scsd-p3-estimated-hours {
    grid-column: 1 / -1;
    margin: 0 0 16px;
    padding: 12px 14px;
    border-left: 4px solid #1d4f91;
    border-radius: 8px;
    background: #eef6ff;
    color: #153e75;
    font-weight: 700;
}
.scsd-p3-role-duty {
    margin: 8px 0;
    padding: 10px 12px;
    border-left: 4px solid #1d4ed8;
    background: #fff;
    border-radius: 6px;
}
.scsd-p3-role-duty summary {
    cursor: pointer;
    font-weight: 700;
}
.scsd-p3-roster-table select[name="group_roster_shirt_needed[]"],
.scsd-p3-roster-table select[name="group_roster_shirt_size[]"],
.scsd-p3-roster-table select[name="group_roster_meal_preference[]"] {
    min-width: 120px;
}
.scsd-p3-roster .scsd-p3-roster-table,
.scsd-p3-roster .scsd-p3-roster-table tbody,
.scsd-p3-roster .scsd-p3-roster-table tr,
.scsd-p3-roster .scsd-p3-roster-table td {
    display: block;
    width: 100%;
}
.scsd-p3-roster .scsd-p3-roster-table {
    border-collapse: separate;
    border-spacing: 0;
}
.scsd-p3-roster .scsd-p3-roster-table thead {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
}
.scsd-p3-roster .scsd-p3-roster-table tr {
    display: grid;
    grid-template-columns: minmax(42px, .35fr) minmax(160px, 1.25fr) minmax(190px, 1.4fr) minmax(150px, 1fr) minmax(140px, .95fr) minmax(110px, .7fr) minmax(120px, .75fr) minmax(104px, auto);
    gap: 10px;
    align-items: end;
    margin: 12px 0;
    padding: 12px;
    border: 1px solid #d0d7de;
    border-radius: 8px;
    background: #fff;
}
.scsd-p3-roster .scsd-p3-roster-table td {
    min-width: 0;
    padding: 0;
    border: 0;
}
.scsd-p3-roster .scsd-p3-roster-table td::before {
    display: block;
    margin: 0 0 4px;
    color: #4b5563;
    font-size: .78rem;
    font-weight: 700;
}
.scsd-p3-roster .scsd-p3-roster-table td:nth-child(1)::before { content: "#"; }
.scsd-p3-roster .scsd-p3-roster-table td:nth-child(2)::before { content: "Volunteer Name"; }
.scsd-p3-roster .scsd-p3-roster-table td:nth-child(3)::before { content: "Role / Assignment"; }
.scsd-p3-roster .scsd-p3-roster-table td:nth-child(4)::before { content: "Time Slot"; }
.scsd-p3-roster .scsd-p3-roster-table td:nth-child(5)::before { content: "Meal"; }
.scsd-p3-roster .scsd-p3-roster-table td:nth-child(6)::before { content: "2026 Shirt"; }
.scsd-p3-roster .scsd-p3-roster-table td:nth-child(7)::before { content: "Shirt Size"; }
.scsd-p3-roster .scsd-p3-roster-table td:nth-child(8)::before { content: "Remove"; }
.scsd-p3-roster-number {
    min-height: 42px;
    display: flex !important;
    align-items: center;
    font-weight: 800;
}
.scsd-p3-driver-list {
    margin-top: 14px;
}
.scsd-p3-driver-row {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin: 12px 0;
    padding: 12px;
    border: 1px solid #d0d7de;
    border-radius: 8px;
    background: #fff;
}
.scsd-p3-driver-row::before {
    content: "Driver " attr(data-driver-number);
    grid-column: 1 / -1;
    font-weight: 800;
    color: #1f2937;
}
.scsd-p3-driver-row [data-scsd-p3-remove-driver] {
    align-self: end;
}
.scsd-p3-checkbox-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px 16px;
    margin: 12px 0;
}
.scsd-p3-form input,
.scsd-p3-form select,
.scsd-p3-form textarea {
    max-width: 100%;
}
.scsd-p3-form select {
    text-overflow: ellipsis;
}
.scsd-p3-full-width {
    grid-column: 1 / -1;
}
.scsd-p3-grid > label,
.scsd-p3-form fieldset > label {
    min-width: 0;
}
.scsd-p3-char-counter {
    display: block;
    margin-top: 4px;
    color: #4b5563;
    font-size: .85rem;
    font-weight: 600;
}
[data-scsd-p3-speaker-av-other-wrap][hidden],
[data-scsd-p3-speaker-handout-upload][hidden],
[data-scsd-p3-vehicle-fields][hidden],
[data-scsd-p3-attendee-individual-field][hidden],
[data-scsd-p3-attendee-group-field][hidden] {
    display: none !important;
}
.scsd-p3-vendor-rep-card {
    margin: 14px 0;
    padding: 14px;
    border: 1px solid #d0d7de;
    border-radius: 8px;
    background: #fff;
}
.scsd-p3-vendor-rep-card h3 {
    margin: 0 0 10px;
    font-size: 1rem;
}
.scsd-p3-vendor-rep-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 10px;
}
.scsd-p3-vendor-rep-heading h3 {
    margin: 0;
}
.scsd-p3-form .scsd-p3-remove-vendor-rep {
    flex: 0 0 auto;
    margin-top: 0;
}
.scsd-p3-vendor-email-advisory ul,
.scsd-p3-vendor-vehicle-privacy ul {
    margin: 8px 0 0 20px;
}
.scsd-p3-vendor-email-advisory p,
.scsd-p3-vendor-vehicle-privacy p {
    margin: 8px 0 0;
}
.scsd-p3-vendor-vehicle-privacy {
    grid-column: 1 / -1;
}
.scsd-p3-vendor-rep-vehicle {
    padding-top: 4px;
}
.scsd-p3-vendor-rep-vehicle[hidden] {
    display: none !important;
}

.scsd-hub {
    max-width: 1180px;
    margin: 32px auto;
    padding: 28px;
    color: #1f2937;
    font-family: inherit;
}
.scsd-hub-header {
    max-width: 840px;
    margin: 0 auto 26px;
    text-align: center;
}
.scsd-hub-header h2 {
    margin: 0 0 10px;
    color: #18233f;
    font-size: clamp(1.8rem, 3vw, 2.65rem);
    line-height: 1.12;
    letter-spacing: 0;
}
.scsd-hub-title-kicker,
.scsd-hub-title-main {
    display: block;
}
.scsd-hub-title-kicker {
    font-size: .78em;
    font-weight: 600;
}
.scsd-hub-subtitle {
    margin: 0;
    color: #374151;
    font-size: 1.08rem;
    line-height: 1.55;
}
.scsd-hub-note {
    margin: 14px auto 0;
    padding: 12px 16px;
    border-left: 4px solid #b7791f;
    background: #fff8e5;
    color: #4b5563;
    font-size: .95rem;
    line-height: 1.5;
    text-align: left;
}
.scsd-hub-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}
.scsd-hub-card {
    display: flex;
    flex-direction: column;
    min-width: 0;
    min-height: 286px;
    padding: 22px;
    border: 1px solid #d7dde5;
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 10px 28px rgba(15, 23, 42, .08);
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.scsd-hub-card:hover,
.scsd-hub-card:focus-within {
    transform: translateY(-3px);
    border-color: #9fb3cf;
    box-shadow: 0 16px 36px rgba(15, 23, 42, .13);
}
.scsd-hub-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 62px;
    height: 62px;
    margin-bottom: 16px;
    border-radius: 999px;
    background: #e8f0fb;
    color: #153e75;
}
.scsd-hub-icon svg {
    width: 34px;
    height: 34px;
}
.scsd-hub-card h3 {
    margin: 0 0 10px;
    color: #18233f;
    font-size: 1.18rem;
    line-height: 1.28;
    letter-spacing: 0;
}
.scsd-hub-card p {
    margin: 0 0 18px;
    color: #4b5563;
    line-height: 1.55;
}
.scsd-hub-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    margin-top: auto;
    padding: 11px 16px;
    border-radius: 8px;
    background: #153e75;
    color: #fff !important;
    font-weight: 800;
    line-height: 1.25;
    text-align: center;
    text-decoration: none !important;
}
.scsd-hub-button:hover,
.scsd-hub-button:focus {
    background: #0f2f59;
    color: #fff !important;
}
.scsd-hub-button:focus-visible {
    outline: 3px solid #f5b84b;
    outline-offset: 3px;
}
.scsd-dental-page {
    background: #f8fafc;
    color: #18283b;
    padding: 28px 16px;
}
.scsd-dental-panel {
    background: #fff;
    border: 1px solid #d9e2ec;
    border-radius: 8px;
    margin: 0 auto;
    max-width: 980px;
    padding: 24px;
}
.scsd-dental-kicker {
    color: #52616f;
    font-size: 13px;
    font-weight: 700;
    margin: 0 0 6px;
    text-transform: uppercase;
}
.scsd-dental-panel h1 {
    color: #163d6b;
    font-size: 32px;
    line-height: 1.2;
    margin: 0 0 12px;
}
.scsd-dental-flyer-link {
    display: block;
    margin: 20px 0;
    text-align: center;
}
.scsd-dental-flyer-link span {
    display: inline-block;
    font-weight: 700;
    margin-top: 8px;
}
.scsd-dental-flyer {
    border: 1px solid #d9e2ec;
    display: block;
    height: auto;
    max-width: 100%;
}
.scsd-dental-registration-box {
    background: #f7fbdf;
    border: 2px solid #dce700;
    border-radius: 8px;
    margin: 18px 0 22px;
    padding: 18px;
}
.scsd-dental-registration-box strong {
    color: #18283b;
    display: block;
    font-size: 18px;
    margin-bottom: 6px;
}
.scsd-dental-registration-box p {
    margin: 8px 0 12px;
}
.scsd-dental-button {
    background: #153e75;
    border-radius: 8px;
    color: #fff !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 800;
    min-height: 46px;
    padding: 12px 16px;
    text-decoration: none !important;
}
.scsd-dental-button:hover,
.scsd-dental-button:focus {
    background: #0f2f59;
}
.scsd-dental-button:focus-visible,
.scsd-dental-flyer-link:focus-visible,
.scsd-dental-link-text a:focus-visible,
.scsd-dental-contact a:focus-visible {
    outline: 3px solid #f5b84b;
    outline-offset: 3px;
}
.scsd-dental-link-text {
    overflow-wrap: anywhere;
}
.scsd-dental-contact {
    background: #eef3f8;
    border: 1px solid #d9e2ec;
    border-radius: 8px;
    margin-top: 18px;
    padding: 14px;
}
.scsd-dental-contact p {
    margin: 4px 0;
}
.scsd-mc {
    max-width: 1280px;
    margin: 32px auto;
    padding: 24px;
    border-radius: 14px;
    background: #eef3f8;
    color: #172033;
    font-family: inherit;
}
.scsd-mc-hero {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(260px, 340px);
    gap: 22px;
    align-items: stretch;
    padding: 26px;
    border-radius: 14px;
    background: #071b36;
    color: #fff;
    box-shadow: 0 18px 40px rgba(7,27,54,.25);
}
.scsd-mc-eyebrow,
.scsd-mc-system-name {
    margin: 0 0 8px;
    color: #b9c9dc;
    font-size: .86rem;
    font-weight: 800;
    letter-spacing: .16em;
    text-transform: uppercase;
}
.scsd-mc-system-name {
    color: #f5b84b;
    letter-spacing: .08em;
}
.scsd-mc-hero h2 {
    margin: 0 0 14px;
    color: #fff;
    font-size: clamp(2.2rem, 5vw, 4.2rem);
    line-height: .95;
    letter-spacing: 0;
}
.scsd-mc-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}
.scsd-mc-meta span,
.scsd-mc-system-status span {
    display: inline-flex;
    gap: 6px;
    padding: 7px 10px;
    border-radius: 999px;
    background: rgba(255,255,255,.1);
    color: #eaf2fb;
    font-size: .9rem;
}
.scsd-mc-system-status {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 18px;
    border: 1px solid rgba(255,255,255,.16);
    border-radius: 12px;
    background: rgba(255,255,255,.08);
}
.scsd-mc-system-status strong {
    color: #b7f7c6;
    font-size: 1.05rem;
}
.scsd-mc-section {
    margin-top: 24px;
}
.scsd-mc-section h3 {
    margin: 0 0 14px;
    color: #10213d;
    font-size: 1.32rem;
    letter-spacing: 0;
}
.scsd-mc-kpi-grid,
.scsd-mc-panel-grid,
.scsd-mc-alert-grid,
.scsd-mc-action-grid {
    display: grid;
    gap: 16px;
}
.scsd-mc-kpi-grid {
    grid-template-columns: repeat(6, minmax(0, 1fr));
}
.scsd-mc-panel-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}
.scsd-mc-panel-grid-three {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}
.scsd-mc-alert-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}
.scsd-mc-action-grid {
    grid-template-columns: repeat(5, minmax(0, 1fr));
}
.scsd-mc-kpi,
.scsd-mc-panel,
.scsd-mc-alert,
.scsd-mc-pending,
.scsd-mc-action {
    min-width: 0;
    border: 1px solid #d7dde5;
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 10px 28px rgba(15,23,42,.08);
}
.scsd-mc-kpi {
    display: flex;
    flex-direction: column;
    gap: 8px;
    min-height: 148px;
    padding: 18px;
}
.scsd-mc-kpi strong {
    color: #10213d;
    font-size: clamp(1.7rem, 3vw, 2.45rem);
    line-height: 1;
}
.scsd-mc-kpi span:last-child {
    color: #4b5563;
    font-size: .78rem;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.scsd-mc-kpi-icon,
.scsd-mc-panel-title span,
.scsd-mc-action span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border-radius: 999px;
    background: #e8f0fb;
    color: #153e75;
}
.scsd-mc-kpi-icon svg,
.scsd-mc-panel-title svg,
.scsd-mc-action svg {
    width: 24px;
    height: 24px;
}
.scsd-mc-panel {
    padding: 18px;
}
.scsd-mc-panel-title {
    display: flex;
    gap: 12px;
    align-items: center;
    margin-bottom: 14px;
}
.scsd-mc-panel-title h4 {
    margin: 0;
    color: #10213d;
    font-size: 1.02rem;
    letter-spacing: 0;
}
.scsd-mc-panel dl {
    margin: 0;
}
.scsd-mc-panel dl div {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    padding: 8px 0;
    border-top: 1px solid #e7edf4;
}
.scsd-mc-panel dt {
    color: #4b5563;
    font-weight: 700;
}
.scsd-mc-panel dd {
    margin: 0;
    color: #10213d;
    font-weight: 900;
}
.scsd-mc-progress {
    height: 10px;
    margin-top: 14px;
    overflow: hidden;
    border-radius: 999px;
    background: #dce5ef;
}
.scsd-mc-progress span {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: #1f9d55;
}
.scsd-mc-alert {
    padding: 16px;
    border-left-width: 6px;
}
.scsd-mc-alert strong {
    display: block;
    margin-bottom: 6px;
    font-size: .78rem;
    letter-spacing: .08em;
}
.scsd-mc-alert span {
    color: #1f2937;
    font-weight: 800;
}
.scsd-mc-alert-green {
    border-left-color: #1f9d55;
    background: #effaf3;
}
.scsd-mc-alert-yellow {
    border-left-color: #d99a16;
    background: #fff8e5;
}
.scsd-mc-alert-red {
    border-left-color: #b42318;
    background: #fff1f1;
}
.scsd-mc-pending {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 18px;
    align-items: center;
    padding: 18px;
}
.scsd-mc-pending-list {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}
.scsd-mc-pending-list span {
    padding: 10px;
    border-radius: 8px;
    background: #f6f8fb;
    color: #4b5563;
    font-weight: 700;
}
.scsd-mc-pending-list strong {
    display: block;
    color: #10213d;
    font-size: 1.45rem;
}
.scsd-mc-action,
.scsd-mc-action-primary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 58px;
    padding: 13px 16px;
    border-radius: 10px;
    background: #153e75;
    color: #fff !important;
    font-weight: 900;
    line-height: 1.2;
    text-align: center;
    text-decoration: none !important;
}
.scsd-mc-action {
    flex-direction: column;
    min-height: 116px;
}
.scsd-mc-action:hover,
.scsd-mc-action:focus,
.scsd-mc-action-primary:hover,
.scsd-mc-action-primary:focus {
    background: #0f2f59;
    color: #fff !important;
}
.scsd-mc-action:focus-visible,
.scsd-mc-action-primary:focus-visible {
    outline: 3px solid #f5b84b;
    outline-offset: 3px;
}
.scsd-mc-section-note {
    color: #4b5563;
    margin: -6px 0 14px;
}
.scsd-mc-export-section {
    border: 2px solid #d7e4f3;
}
.scsd-mc-export-action {
    background: #f8fbff;
    border-color: #cbdced;
}
.scsd-public-dashboard {
    background: #f8fafc;
    border: 1px solid #d9e2ec;
    border-radius: 8px;
    color: #18283b;
    padding: 24px;
}
.scsd-public-dashboard-header {
    align-items: end;
    border-bottom: 1px solid #d9e2ec;
    display: flex;
    gap: 16px;
    justify-content: space-between;
    margin-bottom: 18px;
    padding-bottom: 16px;
}
.scsd-public-dashboard-header p,
.scsd-public-dashboard-header h2 {
    margin: 0;
}
.scsd-public-dashboard-header p {
    color: #52616f;
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
}
.scsd-public-dashboard-header span {
    background: #e7f7ed;
    border-radius: 999px;
    color: #116329;
    font-weight: 700;
    padding: 6px 10px;
}
.scsd-public-dashboard-grid {
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
}
.scsd-public-dashboard-grid article {
    background: #fff;
    border: 1px solid #d9e2ec;
    border-radius: 8px;
    padding: 16px;
}
.scsd-public-dashboard-grid strong {
    display: block;
    font-size: 24px;
    line-height: 1.2;
}
.scsd-public-dashboard-grid span {
    color: #52616f;
    display: block;
    margin-top: 4px;
}
.scsd-public-dashboard-overview {
    margin-bottom: 16px;
}
.scsd-public-dashboard-days {
    display: grid;
    gap: 16px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}
.scsd-public-dashboard-day {
    background: #eef3f8;
    border: 1px solid #d9e2ec;
    border-radius: 8px;
    padding: 16px;
}
.scsd-public-dashboard-day h3 {
    color: #163d6b;
    font-size: 20px;
    line-height: 1.25;
    margin: 0;
}
.scsd-public-dashboard-day > p {
    color: #52616f;
    font-weight: 700;
    margin: 4px 0 14px;
}
.scsd-public-dashboard-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 18px;
}
.scsd-public-dashboard-actions a {
    background: #163d6b;
    border-radius: 6px;
    color: #fff !important;
    font-weight: 700;
    padding: 10px 14px;
    text-decoration: none !important;
}
.scsd-report-center {
    background: #f8fafc;
    border: 1px solid #d9e2ec;
    border-radius: 8px;
    color: #18283b;
    padding: 24px;
}
.scsd-report-center-header {
    border-bottom: 1px solid #d9e2ec;
    margin-bottom: 18px;
    padding-bottom: 16px;
}
.scsd-report-center-header p,
.scsd-report-center-header h2 {
    margin: 0;
}
.scsd-report-center-header p {
    color: #52616f;
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
}
.scsd-report-center-header span {
    color: #52616f;
    display: block;
    margin-top: 6px;
}
.scsd-report-center-grid {
    display: grid;
    gap: 14px;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
}
.scsd-report-section + .scsd-report-section {
    margin-top: 22px;
}
.scsd-report-section > h3 {
    color: #163d6b;
    font-size: 20px;
    line-height: 1.25;
    margin: 0 0 12px;
}
.scsd-report-card {
    background: #fff;
    border: 1px solid #d9e2ec;
    border-radius: 8px;
    display: grid;
    gap: 12px;
    padding: 16px;
}
.scsd-report-card h3,
.scsd-report-card p {
    margin: 0;
}
.scsd-report-card p {
    color: #52616f;
}
.scsd-report-card label,
.scsd-report-card label span {
    display: block;
}
.scsd-report-card label span {
    font-weight: 700;
    margin-bottom: 6px;
}
.scsd-report-card select {
    max-width: 100%;
    width: 100%;
}
.scsd-report-card button {
    background: #163d6b;
    border: 0;
    border-radius: 6px;
    color: #fff;
    cursor: pointer;
    font-weight: 700;
    padding: 10px 14px;
}
@media (max-width: 1100px) {
    .scsd-hub-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .scsd-mc-hero,
    .scsd-mc-pending {
        grid-template-columns: 1fr;
    }
    .scsd-mc-kpi-grid,
    .scsd-mc-panel-grid,
    .scsd-mc-alert-grid,
    .scsd-mc-action-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .scsd-p3-roster .scsd-p3-roster-table tr {
        grid-template-columns: minmax(42px, .25fr) repeat(2, minmax(0, 1fr));
    }
}
@media (max-width: 780px) {
    .scsd-hub {
        padding: 20px 14px;
    }
    .scsd-hub-grid {
        grid-template-columns: 1fr;
    }
    .scsd-hub-card {
        min-height: 0;
    }
    .scsd-dental-panel {
        padding: 18px;
    }
    .scsd-dental-panel h1 {
        font-size: 26px;
    }
    .scsd-mc {
        padding: 14px;
    }
    .scsd-mc-hero {
        padding: 18px;
    }
    .scsd-mc-meta {
        display: grid;
    }
    .scsd-public-dashboard-header {
        align-items: start;
        flex-direction: column;
    }
    .scsd-public-dashboard-days {
        grid-template-columns: 1fr;
    }
    .scsd-mc-kpi-grid,
    .scsd-mc-panel-grid,
    .scsd-mc-alert-grid,
    .scsd-mc-action-grid,
    .scsd-mc-pending-list {
        grid-template-columns: 1fr;
    }
    .scsd-p3-roster .scsd-p3-roster-table tr,
    .scsd-p3-driver-row,
    .scsd-p3-checkbox-grid {
        grid-template-columns: 1fr;
    }
    .scsd-p3-roster-number {
        min-height: auto;
    }
    .scsd-p3-vendor-rep-heading {
        align-items: stretch;
        flex-direction: column;
    }
    .scsd-p3-form .scsd-p3-remove-vendor-rep {
        width: 100%;
    }
}
/* v0.1.121 front-end Mission Control workspaces. */
.scsd-mission-control { --scsd-mc-navy:#102b46; --scsd-mc-blue:#1769aa; --scsd-mc-pale:#eef6fc; color:#17212b; }
.scsd-mission-control .scsd-mc-workspace-header { background:linear-gradient(135deg,#102b46,#1769aa); color:#fff; padding:28px; border-radius:14px 14px 0 0; }
.scsd-mission-control .scsd-mc-workspace-header h2,.scsd-mission-control .scsd-mc-workspace-header p { color:#fff; margin-bottom:6px; }
.scsd-mission-control .scsd-mc-workspace-nav { display:flex; flex-wrap:wrap; gap:8px; padding:14px; background:#e8f2fa; border:1px solid #b5cee2; }
.scsd-mission-control .scsd-mc-workspace-nav a,.scsd-mission-control .scsd-mc-button-secondary,.scsd-mission-control .scsd-mc-table-action,.scsd-mission-control .scsd-mc-download { display:inline-flex; align-items:center; min-height:42px; padding:8px 13px; border:2px solid #1769aa; border-radius:7px; background:#fff; color:#0d4f83 !important; font-weight:700; text-decoration:none; }
.scsd-mission-control .scsd-mc-workspace-nav a:hover,.scsd-mission-control .scsd-mc-workspace-nav a[aria-current="page"],.scsd-mission-control .scsd-mc-button-secondary:hover,.scsd-mission-control .scsd-mc-table-action:hover,.scsd-mission-control .scsd-mc-download:hover { background:#1769aa; color:#fff !important; }
.scsd-mission-control a:focus-visible,.scsd-mission-control button:focus-visible,.scsd-mission-control input:focus-visible,.scsd-mission-control select:focus-visible,.scsd-mission-control textarea:focus-visible { outline:3px solid #f2b705; outline-offset:3px; }
.scsd-mission-control .scsd-mc-back { margin-right:auto; }
.scsd-mission-control .scsd-mc-workspace-body { padding:22px; border:1px solid #cbd9e4; border-top:0; background:#fff; }
.scsd-mission-control .scsd-mc-filters,.scsd-mission-control .scsd-mc-moderation { display:flex; flex-wrap:wrap; gap:14px; align-items:end; padding:16px; margin-bottom:20px; background:#f1f6fa; border:1px solid #bfd0dd; border-radius:9px; }
.scsd-mission-control .scsd-mc-filters label,.scsd-mission-control .scsd-mc-moderation label { display:flex; flex:1 1 180px; flex-direction:column; gap:5px; font-weight:700; }
.scsd-mission-control input,.scsd-mission-control select,.scsd-mission-control textarea { min-height:42px; padding:8px; border:1px solid #657989; border-radius:5px; color:#17212b; background:#fff; }
.scsd-mission-control button { min-height:42px; padding:8px 16px; border:2px solid #0d4f83; border-radius:7px; background:#0d4f83; color:#fff; font-weight:700; cursor:pointer; }
.scsd-mission-control button:hover { background:#082f50; color:#fff; }
.scsd-mission-control .scsd-mc-table-wrap { overflow-x:auto; }
.scsd-mission-control .scsd-mc-table { width:100%; border-collapse:collapse; }
.scsd-mission-control .scsd-mc-table th,.scsd-mission-control .scsd-mc-table td { padding:11px; border:1px solid #c2d0da; text-align:left; vertical-align:top; }
.scsd-mission-control .scsd-mc-table th { background:#102b46; color:#fff; }
.scsd-mission-control .scsd-mc-table tbody tr:nth-child(even) { background:#f4f8fb; }
.scsd-mission-control .scsd-mc-status { display:inline-block; padding:4px 8px; border-radius:999px; background:#e4eaf0; color:#17212b; font-weight:700; }
.scsd-mission-control .scsd-mc-detail { padding:18px; border:1px solid #bfd0dd; border-radius:9px; background:#f8fbfd; }
.scsd-mission-control .scsd-mc-detail dl { display:grid; grid-template-columns:minmax(150px,220px) 1fr; gap:0; }
.scsd-mission-control .scsd-mc-detail dt,.scsd-mission-control .scsd-mc-detail dd { margin:0; padding:9px; border-bottom:1px solid #d4e0e8; }
.scsd-mission-control .scsd-mc-detail dt { font-weight:700; }
.scsd-mission-control .scsd-mc-roster-tabs { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:18px; }
.scsd-mission-control .scsd-mc-roster-tabs a { padding:9px 12px; border:1px solid #1769aa; border-radius:6px; color:#0d4f83; background:#fff; text-decoration:none; font-weight:700; }
.scsd-mission-control .scsd-mc-roster-tabs a.is-active,.scsd-mission-control .scsd-mc-roster-tabs a:hover { background:#1769aa; color:#fff; }
.scsd-mission-control .scsd-mc-count { display:inline-block; padding:2px 9px; border-radius:999px; background:#1769aa; color:#fff; font-size:.8em; }
.scsd-mission-control .scsd-mc-roster-summary { margin:0 0 14px; }
.scsd-mission-control .scsd-mc-roster-summary h3 { margin-bottom:5px; }
.scsd-mission-control .scsd-mc-roster-summary p { margin:0; color:#425466; }
.scsd-mission-control .scsd-mc-export-cards { display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); gap:16px; }
.scsd-mission-control .scsd-mc-export-cards article { display:flex; flex-direction:column; padding:18px; border:1px solid #b9ccda; border-radius:9px; background:#f7fafc; }
.scsd-mission-control .scsd-mc-export-cards .scsd-mc-download { margin-top:auto; justify-content:center; }
.scsd-mission-control .scsd-mc-unavailable { display:flex; flex-direction:column; gap:5px; margin-top:18px; padding:16px; border:1px dashed #7a8791; border-radius:8px; background:#eceff1; color:#4b555d; cursor:not-allowed; }
.scsd-mission-control .scsd-mc-notice { margin:14px 0; padding:11px 16px; border-left:5px solid #1769aa; background:#eef6fc; color:#17212b; }
.scsd-mission-control .scsd-mc-notice-error { border-color:#a52323; background:#fff1f1; }
.scsd-mission-control .scsd-mc-notice-success { border-color:#26733c; background:#effaf2; }
.scsd-mc .scsd-mc-action,.scsd-mc .scsd-mc-action-primary { background:#fff; color:#0d4f83 !important; border:2px solid #1769aa; }
.scsd-mc .scsd-mc-action:hover,.scsd-mc .scsd-mc-action-primary:hover { background:#1769aa; color:#fff !important; }
.scsd-mc .scsd-mc-action:focus-visible,.scsd-mc .scsd-mc-action-primary:focus-visible { outline:3px solid #f2b705; outline-offset:3px; }
@media (max-width:700px){.scsd-mission-control .scsd-mc-workspace-nav{flex-direction:column}.scsd-mission-control .scsd-mc-back{margin-right:0}.scsd-mission-control .scsd-mc-detail dl{grid-template-columns:1fr}.scsd-mission-control .scsd-mc-detail dt{padding-bottom:0;border-bottom:0}.scsd-mission-control .scsd-mc-filters>*{width:100%}}
@media print{.scsd-mission-control .scsd-mc-workspace-header,.scsd-mission-control .scsd-mc-workspace-nav,.scsd-mission-control .scsd-mc-filters,.scsd-mission-control .scsd-mc-print{display:none!important}.scsd-mission-control .scsd-mc-workspace-body{padding:0;border:0}.scsd-mission-control .scsd-mc-table th{background:#eee!important;color:#000!important}}
.scsd-p3-registrant-account{max-width:960px;margin:2rem auto;padding:1rem}
.scsd-p3-account-card{margin:1rem 0;padding:1.25rem;border:1px solid #d7dee8;border-radius:8px;background:#fff}
.scsd-p3-account-logo{display:block;max-width:180px;max-height:110px;width:auto;height:auto;object-fit:contain;margin:0 0 1rem}
.scsd-p3-account-rep{margin:1rem 0;padding:1rem;border:1px solid #d7dee8;border-radius:6px}
.scsd-p3-registrant-account .scsd-p3-form label{display:block;margin:.75rem 0}
.scsd-p3-registrant-account .scsd-p3-form input:not([type=checkbox]){display:block;width:100%;max-width:640px;padding:.65rem}
.scsd-p3-checkbox-line{display:block;margin:.75rem 0}
.scsd-p3-support{margin-top:1.5rem;padding:1rem;border-left:4px solid #1f4d85;background:#f3f7fc}
