/* Reparaturaufträge: Anforderung, Auftragsbrett, Team-Gerät, Materialausgabe */

/* Link „Schaden melden“ im Stationskopf */
.station-repair-link {
    margin-left: auto;
    padding: 4px 10px;
    border: 1px solid rgba(255, 109, 0, 0.6);
    border-radius: 4px;
    color: #ffab66;
    font-family: var(--font-mono, monospace);
    font-size: 0.75rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    text-decoration: none;
    white-space: nowrap;
}
.station-repair-link:hover,
.station-repair-link:focus-visible { background: rgba(255, 109, 0, 0.15); }
.station-repair-link + .station-crew { margin-left: var(--space-md, 1rem); }

/* Grundbausteine */
.ro-page { padding: 1rem; display: flex; flex-direction: column; gap: 1rem; max-width: 900px; margin: 0 auto; }
.ro-intro { margin: 0.25rem 0.75rem 0.75rem; opacity: 0.8; }
.ro-empty { color: #8a93a3; font-style: italic; padding: 0.5rem 0.75rem; margin: 0; }
.ro-flash { margin: 0.5rem; padding: 0.5rem 0.75rem; border-radius: 4px; border: 1px solid rgba(74, 170, 255, 0.5);
            background: rgba(74, 170, 255, 0.1); }
.ro-flash.is-ok { border-color: rgba(0, 200, 100, 0.6); background: rgba(0, 200, 100, 0.1); }
.ro-flash.is-error { border-color: rgba(255, 80, 80, 0.7); background: rgba(255, 80, 80, 0.12); }
.ro-id { font-family: var(--font-mono, monospace); font-size: 0.75rem; color: #8ab4ff; }
.ro-wait { font-size: 0.8rem; opacity: 0.8; }
.ro-next { display: flex; flex-wrap: wrap; gap: 0.5rem; padding: 0.5rem 0.75rem 0.75rem; }

.ro-btn {
    display: inline-flex; align-items: center; justify-content: center;
    min-height: 44px; padding: 0.4rem 0.9rem;
    border: 1px solid rgba(255, 255, 255, 0.25); border-radius: 4px;
    background: rgba(255, 255, 255, 0.06); color: inherit;
    font: inherit; font-size: 0.8rem; letter-spacing: 0.05em; text-transform: uppercase;
    text-decoration: none; cursor: pointer;
}
.ro-btn:hover:not(:disabled) { background: rgba(255, 255, 255, 0.12); }
.ro-btn-primary { border-color: #f5b731; background: rgba(245, 183, 49, 0.18); color: #ffd98a; }
.ro-btn-primary:hover:not(:disabled) { background: rgba(245, 183, 49, 0.3); }
.ro-btn-ghost { border-color: transparent; background: transparent; opacity: 0.7; }
.ro-amount { width: 5rem; min-height: 44px; padding: 0 0.5rem; border-radius: 4px;
             border: 1px solid rgba(255, 255, 255, 0.25); background: rgba(0, 0, 0, 0.3); color: inherit; font: inherit; }
.ro-inline-form { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem; }

/* Teams */
.ro-teams { list-style: none; margin: 0.5rem; padding: 0; display: flex; flex-wrap: wrap; gap: 0.5rem; }
.ro-team { display: flex; flex-direction: column; padding: 0.4rem 0.7rem; border-radius: 4px;
           border: 1px solid rgba(255, 255, 255, 0.15); min-width: 9rem; }
.ro-team.is-ready { border-color: rgba(0, 200, 100, 0.5); }
.ro-team.is-busy { border-color: rgba(245, 183, 49, 0.5); }
.ro-team-name { font-weight: bold; font-size: 0.85rem; }
.ro-team-state { font-size: 0.75rem; opacity: 0.8; }

/* Auftragskarte */
.repair-board { display: flex; flex-direction: column; gap: 0.5rem; padding-bottom: 0.5rem; }
.ro-card { margin: 0 0.5rem; padding: 0.6rem 0.75rem; border-radius: 6px;
           border: 1px solid rgba(255, 255, 255, 0.12); border-left-width: 4px; background: rgba(255, 255, 255, 0.03); }
.ro-card-head { display: flex; align-items: baseline; gap: 0.5rem; }
.ro-label { font-weight: bold; flex: 1; }
.ro-health { font-family: var(--font-mono, monospace); color: #ff9d57; }
.ro-status { margin: 0.2rem 0 0.4rem; font-size: 0.8rem; text-transform: uppercase; letter-spacing: 0.06em; }
.ro-facts { display: grid; grid-template-columns: auto 1fr; gap: 0.1rem 0.75rem; margin: 0 0 0.5rem; font-size: 0.8rem; }
.ro-facts dt { opacity: 0.6; }
.ro-facts dd { margin: 0; }
.ro-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem; }
.ro-last { margin: 0.4rem 0 0; font-size: 0.75rem; opacity: 0.65; }
.ro-step { margin: 0.5rem 0; font-size: 1rem; line-height: 1.4; }

.ro-requested      { border-left-color: #ff6d00; }
.ro-acknowledged,
.ro-assessed,
.ro-material_requested,
.ro-material_issued { border-left-color: #f5b731; }
.ro-in_repair      { border-left-color: #4aaaff; }
.ro-awaiting_seal,
.ro-sealing        { border-left-color: #b388ff; }

.ro-closed { margin: 0 0.5rem; font-size: 0.8rem; opacity: 0.8; }
.ro-closed ul { list-style: none; padding: 0; margin: 0.3rem 0 0; display: flex; flex-direction: column; gap: 0.2rem; }
.ro-closed li { display: flex; gap: 0.5rem; }

/* Anforderungsliste */
.repair-request { padding-bottom: 0.5rem; }
.rr-list { list-style: none; margin: 0.5rem; padding: 0; display: flex; flex-direction: column; gap: 0.4rem; }
.rr-item { display: flex; flex-wrap: wrap; align-items: center; gap: 0.4rem 0.75rem; padding: 0.5rem 0.75rem;
           border: 1px solid rgba(255, 255, 255, 0.12); border-radius: 6px; }
.rr-item.is-breached { border-color: rgba(255, 80, 80, 0.6); }
.rr-label { font-weight: bold; }
.rr-health { font-family: var(--font-mono, monospace); color: #ff9d57; }
.rr-flag { font-size: 0.7rem; padding: 1px 6px; border-radius: 3px; background: rgba(255, 80, 80, 0.3); text-transform: uppercase; }
.rr-where { font-size: 0.8rem; opacity: 0.7; flex: 1; }
.rr-order { font-size: 0.8rem; color: #ffd98a; }

/* Matrix: Auftragskennung in der Zelle */
.sys-order-badge { margin-top: auto; align-self: flex-start; font-family: var(--font-mono, monospace); font-size: 0.7rem;
                   padding: 1px 6px; border-radius: 3px; border: 1px solid rgba(245, 183, 49, 0.6); color: #ffd98a; }

/* Rumpf-Seite */
.hull-request-area { margin-top: 1rem; }

/* Team-Gerät */
.ro-team-pick { display: flex; flex-wrap: wrap; gap: 0.5rem; }
.ro-scan { display: grid; grid-template-columns: 1fr auto; gap: 0.5rem; align-items: end; }
.ro-scan label { grid-column: 1 / -1; font-size: 0.8rem; text-transform: uppercase; letter-spacing: 0.08em; opacity: 0.8; }
.ro-scan input[name="tag"] { min-height: 52px; padding: 0 0.75rem; font-size: 1.1rem; font-family: var(--font-mono, monospace);
                             border-radius: 4px; border: 1px solid rgba(245, 183, 49, 0.6); background: rgba(0, 0, 0, 0.35); color: inherit; }
.ro-team-status { display: flex; flex-direction: column; gap: 0.5rem; }
.ro-team-head { display: flex; justify-content: space-between; gap: 0.5rem; }
.ro-team-status .ro-card { margin: 0; }

@media (max-width: 700px) {
    .station-repair-link { order: 5; margin-left: 0; }
    .ro-page { padding: 0.75rem 0.5rem; }
    .ro-actions .ro-btn, .ro-inline-form .ro-btn { flex: 1 1 100%; }
}
