:root{--scm-red:#e3312b;--scm-red-dark:#b9231e;--scm-green:#167747;--scm-yellow:#a86b00;--scm-gray:#65707a;--scm-border:#dfe3e7;--scm-soft:#f5f6f7;--scm-dark:#1e2328}.scm-page-head,.scm-section-head,.scm-mobile-head,.scm-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.scm-page-head{margin-bottom:24px}.scm-page-head h1,.scm-mobile-head h1{margin:0}.scm-page-head p,.scm-mobile-head p{margin:4px 0 0;color:var(--scm-gray)}.scm-layout-two,.scm-admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.scm-panel,.scm-card,.scm-event-hero,.scm-starter-class,.scm-onsite-box{padding:22px;border:1px solid var(--scm-border);border-radius:12px;background:#fff;box-shadow:0 2px 10px rgba(0,0,0,.04)}.scm-panel h2:first-child,.scm-panel h3:first-child,.scm-card p:first-child{margin-top:0}.scm-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px 18px}.scm-span-2{grid-column:1/-1}.scm-panel label,.scm-form-grid label,.scm-class-fields label,.scm-onsite-box label,.scm-race-card label{display:block;font-weight:700}.scm-panel input:not([type=checkbox]),.scm-panel select,.scm-panel textarea,.scm-form-grid input,.scm-form-grid select,.scm-form-grid textarea,.scm-class-fields input,.scm-class-fields select,.scm-mobile-filters input,.scm-mobile-filters select,.scm-check-item input,.scm-check-item select,.scm-race-card textarea,.scm-race-card select,.scm-onsite-box input,.scm-onsite-box select,.scm-onsite-box textarea{display:block;width:100%;max-width:none;min-height:44px;margin-top:5px;padding:9px 11px;border:1px solid #b9c0c6;border-radius:7px;background:#fff;font:inherit}.scm-panel textarea,.scm-form-grid textarea,.scm-race-card textarea,.scm-onsite-box textarea{min-height:90px}.scm-check{display:flex!important;align-items:flex-start;gap:9px;margin:14px 0;font-weight:600}.scm-check input{width:auto!important;min-height:0!important;margin:4px 0 0!important}.scm-button,.scm-panel button,.scm-mobile-app button,.scm-button-wide{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 16px;border:0;border-radius:7px;color:#fff!important;background:var(--scm-red);font:inherit;font-weight:800;text-decoration:none;cursor:pointer}.scm-button:hover,.scm-panel button:hover,.scm-mobile-app button:hover,.scm-button-wide:hover{background:var(--scm-red-dark)}.scm-button-muted,.scm-mobile-app button.is-muted{background:#66717b}.scm-button-wide{width:100%;margin-top:18px;font-size:18px}.scm-card-list,.scm-class-list,.scm-mobile-list{display:grid;gap:14px}.scm-card-head strong{font-size:18px}.scm-card-head small{display:block;margin-top:3px;color:var(--scm-gray)}.scm-status-row,.scm-status-grid,.scm-race-summary{display:flex;flex-wrap:wrap;gap:8px 14px}.scm-status-row{padding-top:12px;border-top:1px solid var(--scm-border)}.scm-status-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:13px 0}.scm-status-grid>span{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:8px;border-radius:7px;background:var(--scm-soft);font-size:13px}.scm-badge{display:inline-flex;align-items:center;white-space:nowrap;padding:4px 9px;border-radius:999px;font-size:12px;font-weight:800}.scm-badge-good{color:#075f32;background:#d9f7e6}.scm-badge-warn{color:#744900;background:#fff0c2}.scm-badge-bad{color:#8a1f11;background:#fde2de}.scm-alert,.scm-empty{margin:16px 0;padding:15px 18px;border-left:5px solid #65707a;border-radius:7px;background:#f1f3f4}.scm-alert-good{border-color:var(--scm-green);background:#e8f7ef}.scm-alert-warn{border-color:#d28a00;background:#fff6db}.scm-alert-bad{border-color:var(--scm-red);background:#fff0ef}.scm-payment-box{padding:13px;border:1px dashed #88939c;border-radius:8px;background:#f7f8f9}.scm-link-danger{color:#b42318}.scm-tabs{display:flex;gap:7px;margin:18px 0;border-bottom:1px solid var(--scm-border)}.scm-tabs button{padding:11px 16px;border:0;border-radius:8px 8px 0 0;background:#eceff1;font:inherit;font-weight:800;cursor:pointer}.scm-tabs button.is-active{color:#fff;background:var(--scm-red)}.scm-tab-panel{display:none}.scm-tab-panel.is-active{display:block}.scm-event-select{margin:0 0 20px}.scm-event-select label{display:block;font-weight:800}.scm-event-select select{display:block;width:100%;max-width:650px;min-height:46px;margin-top:5px;padding:8px 10px}.scm-event-hero{margin-bottom:18px;border-left:6px solid var(--scm-red)}.scm-event-hero h2{margin-top:0}.scm-class-choice{padding:17px;border:1px solid var(--scm-border);border-radius:10px;background:#fff}.scm-class-check{display:flex;align-items:flex-start;gap:12px;cursor:pointer}.scm-class-check input{width:22px;height:22px;margin-top:1px}.scm-class-check strong{display:block;font-size:18px}.scm-class-check small{display:block;color:var(--scm-gray)}.scm-class-fields{display:grid;grid-template-columns:2fr 1fr;gap:14px;margin:15px 0 0 34px}.scm-waiver-text{max-height:330px;overflow:auto;padding:15px;border:1px solid var(--scm-border);border-radius:8px;background:var(--scm-soft)}.scm-starter-class{margin:18px 0}.scm-starter-class h2{display:flex;justify-content:space-between;gap:12px;margin-top:0}.scm-starter-class h2 small{font-size:14px;color:var(--scm-gray)}.scm-table-scroll{overflow-x:auto}.scm-public-table{width:100%;border-collapse:collapse}.scm-public-table th,.scm-public-table td{padding:10px;border-bottom:1px solid var(--scm-border);text-align:left}.scm-public-table th{background:var(--scm-soft)}.scm-mobile-app{max-width:980px;margin:auto}.scm-mobile-head{position:sticky;top:0;z-index:5;margin-bottom:12px;padding:15px;border-radius:10px;color:#fff;background:var(--scm-dark);box-shadow:0 4px 14px rgba(0,0,0,.15)}.scm-mobile-head p{color:#d8dde1}.scm-live-dot{padding:6px 9px;border-radius:999px;background:var(--scm-red);font-size:12px;font-weight:900;letter-spacing:.05em}.scm-mobile-filters{display:grid;grid-template-columns:2fr 1fr auto;gap:8px;margin:12px 0}.scm-mobile-filters>*{margin:0!important}.scm-race-summary{justify-content:space-between;margin-bottom:12px;padding:10px 13px;border-radius:8px;background:#e9edf0;font-size:13px;font-weight:800}.scm-race-card{padding:15px;border:1px solid var(--scm-border);border-left:5px solid #aeb6bd;border-radius:10px;background:#fff;box-shadow:0 2px 8px rgba(0,0,0,.04)}.scm-race-card.is-open{border-left-color:var(--scm-red)}.scm-action-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.scm-action-grid button{width:100%;font-size:13px}.scm-onsite-box{margin-top:18px}.scm-onsite-box summary,.scm-race-card summary{cursor:pointer;font-weight:900}.scm-onsite-box[open] summary,.scm-race-card details[open] summary{margin-bottom:14px}.scm-onsite-class{display:grid;grid-template-columns:2fr 1fr;gap:10px;align-items:end;margin:8px 0;padding:10px;border-radius:8px;background:var(--scm-soft)}.scm-check-item{display:grid;grid-template-columns:1.5fr .8fr 1fr;gap:8px;align-items:end;margin:8px 0;padding:10px;border-radius:8px;background:var(--scm-soft)}.scm-check-item input,.scm-check-item select{margin:0}.scm-check-item strong{font-size:13px}@media(max-width:760px){.scm-layout-two,.scm-form-grid,.scm-class-fields{grid-template-columns:1fr}.scm-span-2{grid-column:auto}.scm-page-head{display:block}.scm-page-head .scm-button{margin-top:10px}.scm-class-fields{margin-left:0}.scm-tabs{overflow-x:auto}.scm-tabs button{white-space:nowrap}.scm-mobile-filters{grid-template-columns:1fr}.scm-status-grid{grid-template-columns:1fr}.scm-check-item{grid-template-columns:1fr}.scm-onsite-class{grid-template-columns:1fr}.scm-race-summary{justify-content:flex-start}.scm-public-table{min-width:620px}.scm-panel,.scm-card,.scm-event-hero,.scm-starter-class,.scm-onsite-box{padding:16px}}
.scm-action-grid input{width:100%;min-height:42px;padding:8px 10px;border:1px solid #b9c0c6;border-radius:7px;font:inherit}
.scm-mobile-app button.is-danger{background:#8a1f11}.scm-mobile-app button.is-danger:hover{background:#65160d}
.scm-tech-quick-form{margin:12px 0}.scm-mobile-app .scm-tech-pass-button{width:100%;min-height:54px;background:var(--scm-green);font-size:16px}.scm-mobile-app .scm-tech-pass-button:hover{background:#0f5c35}.scm-tech-hints{margin:12px 0 16px;padding:13px 15px;border-left:4px solid #66717b;border-radius:7px;background:var(--scm-soft)}.scm-tech-hints p{margin:3px 0 8px;color:var(--scm-gray);font-size:13px}.scm-tech-hints ul{margin:0;padding-left:20px}.scm-tech-result-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:12px}.scm-tech-result-grid button{width:100%;min-height:50px}.scm-mobile-app button.is-success{background:var(--scm-green)}.scm-mobile-app button.is-success:hover{background:#0f5c35}.scm-mobile-app button.is-warning{color:#332000!important;background:#f0b429}.scm-mobile-app button.is-warning:hover{background:#d99b13}@media(max-width:760px){.scm-tech-result-grid{grid-template-columns:1fr}}

.scm-scope-tabs {
    display: flex;
    gap: 8px;
    margin-bottom: 18px;
}
.scm-scope-tabs a {
    display: inline-flex;
    align-items: center;
    padding: 10px 14px;
    border: 1px solid #d4d9de;
    border-radius: 8px;
    background: #fff;
    color: inherit;
    font-weight: 700;
    text-decoration: none;
}
.scm-scope-tabs a.is-active {
    border-color: #ef3b33;
    background: #ef3b33;
    color: #fff;
}

/* Wertung und Punktestände */
.scm-score-filter {
    margin-bottom: 1rem;
}

.scm-score-table input,
.scm-score-table select {
    min-width: 82px;
}

.scm-score-table input[name$="[notes]"] {
    min-width: 150px;
}

.scm-standings-class {
    margin-top: 2rem;
}

.scm-standings-class .scm-public-table th,
.scm-standings-class .scm-public-table td {
    text-align: center;
    white-space: nowrap;
}

.scm-standings-class .scm-public-table th:nth-child(3),
.scm-standings-class .scm-public-table td:nth-child(3) {
    min-width: 190px;
    text-align: left;
}

@media (max-width: 760px) {
    .scm-score-table {
        min-width: 980px;
    }
}


.scm-button-link {
    padding: 0;
    border: 0;
    background: transparent;
    font: inherit;
    text-decoration: underline;
    cursor: pointer;
}

.scm-cancelled-panel {
    margin-top: 1rem;
}

/* 1.1.4: Kontrast, Filter und Live-Gesamtkosten */
.scm-mobile-head h1,
.scm-mobile-head h2,
.scm-mobile-head h3 {
    color: #fff !important;
}
.scm-mobile-head p,
.scm-mobile-head small {
    color: #d8dde1 !important;
}
.scm-filter-grid {
    grid-template-columns: repeat(auto-fit, minmax(145px, 1fr));
    align-items: stretch;
}
.scm-filter-grid button {
    min-width: 96px;
}
.scm-cost-summary {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 1px;
    margin: 18px 0;
    overflow: hidden;
    border: 1px solid var(--scm-border);
    border-radius: 10px;
    background: var(--scm-border);
}
.scm-cost-summary > div {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 4px;
    min-height: 72px;
    padding: 12px 14px;
    background: #fff;
}
.scm-cost-summary span {
    color: var(--scm-gray);
    font-size: 13px;
    font-weight: 700;
}
.scm-cost-summary strong {
    color: var(--scm-dark);
    font-size: 18px;
}
.scm-cost-summary .scm-cost-total {
    background: #fff1ef;
}
.scm-cost-summary .scm-cost-total strong {
    color: var(--scm-red-dark);
    font-size: 22px;
}
.scm-starter-filters {
    display: grid;
    grid-template-columns: minmax(260px, 2fr) minmax(160px, 1fr) minmax(150px, 1fr) auto;
    gap: 10px;
    align-items: end;
}
.scm-starter-filters label,
.scm-starter-filters select {
    width: 100%;
    max-width: none;
}
.scm-starter-filters button {
    min-height: 46px;
}
@media (max-width: 760px) {
    .scm-filter-grid,
    .scm-starter-filters {
        grid-template-columns: 1fr;
    }
    .scm-cost-summary {
        grid-template-columns: 1fr 1fr;
    }
    .scm-cost-summary .scm-cost-total {
        grid-column: 1 / -1;
    }
}

/* 1.1.7: klassenübergreifende Listen und Bedienungs-Feinschliff */
.scm-class-badge-list {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 7px;
}
.scm-class-badge {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    margin-top: 6px;
    padding: 4px 9px;
    border: 1px solid #f3b5af;
    border-radius: 999px;
    color: #9f2015;
    background: #fff0ee;
    font-size: 12px;
    font-weight: 800;
    line-height: 1.2;
}
.scm-vehicle-line {
    display: block;
    margin-top: 6px;
    color: var(--scm-gray);
}
.scm-class-choice {
    transition: border-color .15s ease, box-shadow .15s ease, background .15s ease;
}
.scm-class-choice.is-selected {
    border-color: var(--scm-red);
    background: #fff8f7;
    box-shadow: 0 0 0 2px rgba(237, 49, 36, .08);
}
.scm-filter-reset {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 9px 13px;
    border: 1px solid var(--scm-border);
    border-radius: 6px;
    color: var(--scm-dark);
    background: #fff;
    font-weight: 700;
    text-decoration: none;
}
.scm-filter-reset:hover,
.scm-filter-reset:focus {
    color: var(--scm-red-dark);
    border-color: var(--scm-red);
    background: #fff8f7;
}
.scm-mobile-filters select,
.scm-mobile-filters input,
.scm-mobile-filters button,
.scm-tech-pass-button,
.scm-action-grid button {
    min-height: 44px;
}
.scm-race-card .scm-card-head > div > strong {
    font-size: 17px;
    line-height: 1.25;
}
.scm-button-wide:disabled,
[data-scm-submit-price]:disabled {
    opacity: .55;
    cursor: not-allowed;
}
@media (max-width: 760px) {
    .scm-filter-reset {
        width: 100%;
    }
    .scm-class-badge {
        font-size: 13px;
    }
}

/* 1.1.9: Startnummer im Rennbüro deutlich vor dem Namen */
.scm-race-driver-heading {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 7px;
}
.scm-race-driver-heading > strong {
    font-size: 18px;
    line-height: 1.2;
}
.scm-race-start-number {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 54px;
    padding: 6px 10px;
    border-radius: 8px;
    color: #fff;
    background: var(--scm-red);
    font-size: 18px;
    font-weight: 900;
    line-height: 1;
    box-shadow: 0 2px 5px rgba(0,0,0,.12);
}



/* 1.2.0 – öffentliche Fahrer-Steckbriefe */
.scm-driver-profile-link {
    color: inherit;
    font-weight: 700;
    text-decoration: underline;
    text-decoration-style: dotted;
    text-underline-offset: 3px;
}
.scm-modal-open { overflow: hidden; }
.scm-profile-modal { position: fixed; inset: 0; z-index: 100000; display: grid; place-items: center; padding: 18px; }
.scm-profile-modal[hidden] { display: none; }
.scm-profile-modal-backdrop { position: absolute; inset: 0; background: rgba(0,0,0,.72); }
.scm-profile-modal-dialog { position: relative; z-index: 1; width: min(760px, 100%); max-height: calc(100vh - 36px); overflow: auto; border-radius: 14px; background: #fff; box-shadow: 0 20px 70px rgba(0,0,0,.35); }
.scm-profile-modal-content { padding: 28px; }
.scm-profile-modal-close { position: sticky; float: right; top: 10px; margin: 10px 10px -48px 0; z-index: 2; width: 40px; height: 40px; padding: 0; border-radius: 50%; font-size: 28px; line-height: 1; }
.scm-public-driver-head { display: grid; grid-template-columns: 150px 1fr; gap: 24px; align-items: center; margin-bottom: 24px; }
.scm-public-driver-head h2 { margin: 0 0 8px; font-size: clamp(28px, 5vw, 42px); }
.scm-public-driver-head p { margin: 3px 0; }
.scm-public-driver-photo { width: 150px; height: 150px; border-radius: 50%; overflow: hidden; display: grid; place-items: center; background: #eceff1; font-size: 44px; font-weight: 800; color: #555; }
.scm-public-driver-photo img { width: 100%; height: 100%; object-fit: cover; }
.scm-public-driver-profile section { border-top: 1px solid #e3e5e7; padding-top: 18px; margin-top: 18px; }
.scm-profile-season-list { display: grid; gap: 12px; }
.scm-profile-season-card { padding: 14px 16px; border-radius: 10px; background: #f4f5f6; }
.scm-profile-season-card h4 { margin: 0 0 4px; font-size: 22px; }
.scm-profile-season-card p { margin: 0 0 6px; }
.scm-profile-season-card ul { margin: 6px 0 0; }
.scm-current-profile-photo { display: flex; align-items: center; gap: 16px; }
.scm-current-profile-photo img { width: 90px; height: 90px; object-fit: cover; border-radius: 50%; }
.scm-help { color: #687078; }
@media (max-width: 600px) {
    .scm-public-driver-head { grid-template-columns: 90px 1fr; gap: 14px; }
    .scm-public-driver-photo { width: 90px; height: 90px; font-size: 30px; }
    .scm-profile-modal-content { padding: 20px; }
}


/* 1.2.3 – Alter und Sponsor im öffentlichen Fahrer-Steckbrief */
.scm-current-sponsor-logo {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 12px;
    border: 1px solid #e1e4e7;
    border-radius: 10px;
    background: #fafafa;
}
.scm-current-sponsor-logo img {
    width: auto;
    max-width: 190px;
    max-height: 80px;
    object-fit: contain;
}
.scm-public-driver-sponsor-inner {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 18px;
    padding: 14px 16px;
    border: 1px solid #e3e5e7;
    border-radius: 10px;
    background: #fafafa;
}
.scm-public-driver-sponsor-logo img {
    display: block;
    width: auto;
    max-width: 220px;
    max-height: 90px;
    object-fit: contain;
}
.scm-public-driver-sponsor-inner > strong {
    font-size: 20px;
}
@media (max-width: 600px) {
    .scm-public-driver-sponsor-inner {
        align-items: flex-start;
        flex-direction: column;
    }
    .scm-public-driver-sponsor-logo img {
        max-width: 180px;
        max-height: 75px;
    }
}

/* 1.3.7: Sortierung direkt über Tabellenüberschriften */
.scm-public-table th .scm-sort-link {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    color: inherit;
    font-weight: inherit;
    text-decoration: none;
    white-space: nowrap;
}
.scm-public-table th .scm-sort-link:hover,
.scm-public-table th .scm-sort-link:focus {
    color: var(--scm-red);
    text-decoration: underline;
}
.scm-public-table th .scm-sort-link.is-active {
    color: var(--scm-red);
    font-weight: 900;
}
.scm-sort-indicator {
    font-size: .72em;
    line-height: 1;
}
/* 1.3.8: SEPA-Überweisungs-QR-Code */
.scm-payment-qr{margin-top:12px;padding-top:10px;border-top:1px solid #d8dde1}.scm-payment-qr summary{cursor:pointer;font-weight:800;color:#1e2328}.scm-payment-qr-code{display:flex;align-items:center;justify-content:center;width:244px;max-width:100%;min-height:244px;margin:12px 0 8px;padding:12px;border:1px solid #dfe3e7;border-radius:10px;background:#fff}.scm-payment-qr-code canvas,.scm-payment-qr-code img,.scm-payment-qr-code svg{display:block;max-width:100%;height:auto!important}.scm-payment-qr p{max-width:430px;margin:6px 0 0;color:#65707a;font-size:13px}

