/*
 * CC_101 — Fleet Dashboard & Tactical Map Styles
 * Konsistent mit dem StarshipOS Dark-Theme (gruene Terminal-Aesthetik).
 */

/* ── Fleet Dashboard Layout ──────────────────────────────────────── */

.fleet-dashboard-layout {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
    padding: 1rem;
    color: #00ff00;
    font-family: 'Courier New', monospace;
}

.fleet-header {
    border-bottom: 1px solid #003300;
    padding-bottom: 0.75rem;
}

.fleet-title {
    font-size: 1.5rem;
    color: #00ff00;
    text-transform: uppercase;
    letter-spacing: 2px;
    margin: 0;
}

.fleet-subtitle {
    font-size: 0.9rem;
    color: #009900;
    margin: 0.25rem 0 0;
}

.fleet-no-fleet {
    color: #666600;
    font-style: italic;
}

/* ── Ship Status Grid ────────────────────────────────────────────── */

.fleet-ship-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 1rem;
}

.fleet-ship-card {
    background: #0a0a0a;
    border: 1px solid #003300;
    border-radius: 4px;
    padding: 0.75rem;
    transition: border-color 0.3s;
}

.fleet-ship-card:hover {
    border-color: #00ff00;
}

.fleet-ship-card.ship-warning {
    border-color: #cccc00;
}

.fleet-ship-card.ship-critical {
    border-color: #cc0000;
    animation: pulse-critical 1.5s infinite;
}

@keyframes pulse-critical {
    0%, 100% { border-color: #cc0000; }
    50% { border-color: #ff3333; }
}

.ship-card-header {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    margin-bottom: 0.5rem;
    border-bottom: 1px solid #1a1a1a;
    padding-bottom: 0.4rem;
}

.ship-name {
    font-weight: bold;
    font-size: 1rem;
    color: #00ff00;
}

.ship-class {
    font-size: 0.75rem;
    color: #006600;
    text-transform: uppercase;
}

.ship-card-body {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
}

.ship-stat {
    display: grid;
    grid-template-columns: 60px 1fr 50px;
    align-items: center;
    gap: 0.5rem;
}

.stat-label {
    font-size: 0.75rem;
    color: #006600;
    text-transform: uppercase;
}

.stat-bar {
    height: 8px;
    background: #1a1a1a;
    border-radius: 2px;
    overflow: hidden;
}

.stat-bar-fill {
    height: 100%;
    transition: width 0.3s;
    border-radius: 2px;
}

.hull-bar {
    background: linear-gradient(90deg, #cc0000, #00cc00);
}

.shield-bar {
    background: linear-gradient(90deg, #0066cc, #00ccff);
}

.stat-value {
    font-size: 0.75rem;
    color: #009900;
    text-align: right;
}

.ship-stat-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 0.25rem;
}

.alert-badge {
    padding: 2px 8px;
    border-radius: 3px;
    font-size: 0.7rem;
    font-weight: bold;
    text-transform: uppercase;
}

.alert-green { background: #003300; color: #00ff00; }
.alert-yellow { background: #333300; color: #ffff00; }
.alert-red { background: #330000; color: #ff0000; }

.crew-count {
    font-size: 0.75rem;
    color: #009900;
}

.ship-systems-row {
    display: flex;
    gap: 0.75rem;
    font-size: 0.7rem;
}

.sys-online { color: #00cc00; }
.sys-degraded { color: #cccc00; }
.sys-offline { color: #cc0000; }

/* ── Inter-Ship Comms ────────────────────────────────────────────── */

.fleet-comms-section {
    border-top: 1px solid #003300;
    padding-top: 1rem;
}

.comms-log {
    background: #050505;
    border: 1px solid #1a1a1a;
    border-radius: 4px;
    padding: 0.5rem;
    max-height: 300px;
    overflow-y: auto;
    font-size: 0.8rem;
}

.comms-message {
    padding: 4px 0;
    border-bottom: 1px solid #0a0a0a;
    display: flex;
    gap: 0.5rem;
    align-items: baseline;
}

.comms-time { color: #006600; }
.comms-channel { color: #009900; font-weight: bold; }
.comms-from { color: #00cc00; }
.comms-arrow { color: #003300; }
.comms-to { color: #00cc00; }
.comms-content { color: #00ff00; flex: 1; }
.comms-empty { color: #333300; font-style: italic; text-align: center; }

.channel-emergency .comms-channel { color: #ff0000; }
.channel-tactical .comms-channel { color: #ffff00; }
.channel-command .comms-channel { color: #00ccff; }

.broadcast-form {
    display: flex;
    gap: 0.5rem;
    margin-top: 0.75rem;
}

.broadcast-channel {
    background: #0a0a0a;
    color: #00ff00;
    border: 1px solid #003300;
    padding: 4px 8px;
    font-family: inherit;
    font-size: 0.8rem;
}

.broadcast-input {
    flex: 1;
    background: #0a0a0a;
    color: #00ff00;
    border: 1px solid #003300;
    padding: 4px 8px;
    font-family: inherit;
    font-size: 0.8rem;
}

.broadcast-input::placeholder {
    color: #333300;
}

.broadcast-btn {
    background: #003300;
    color: #00ff00;
    border: 1px solid #00ff00;
    padding: 4px 12px;
    cursor: pointer;
    font-family: inherit;
    font-size: 0.8rem;
    text-transform: uppercase;
}

.broadcast-btn:hover {
    background: #006600;
}

/* ── Tactical Map ────────────────────────────────────────────────── */

.fleet-tactical-layout {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    padding: 1rem;
    color: #00ff00;
    font-family: 'Courier New', monospace;
}

.tactical-header {
    border-bottom: 1px solid #003300;
    padding-bottom: 0.5rem;
}

.tactical-title {
    font-size: 1.3rem;
    color: #00ff00;
    text-transform: uppercase;
    letter-spacing: 2px;
    margin: 0;
}

.tactical-subtitle {
    font-size: 0.85rem;
    color: #009900;
    margin: 0.25rem 0 0;
}

.tactical-map-section {
    background: #050505;
    border: 1px solid #1a3a1a;
    border-radius: 4px;
    padding: 0.5rem;
}

.tactical-svg {
    width: 100%;
    max-height: 600px;
}

.tactical-ship-list {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    font-size: 0.8rem;
}

.tactical-ship-entry {
    display: flex;
    gap: 1rem;
    padding: 4px 8px;
    background: #0a0a0a;
    border: 1px solid #1a1a1a;
    border-radius: 2px;
}

.ship-id { color: #00cc00; font-weight: bold; min-width: 100px; }
.ship-pos { color: #006600; min-width: 200px; }
.ship-hull { color: #009900; }

/* ── GM Fleet-Verwaltung ─────────────────────────────────────────── */

.fleet-error {
    color: #ff3333;
}

.fleet-link {
    color: #00ccff;
}

.fleet-create-form {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    max-width: 640px;
}

.fleet-form-row {
    display: flex;
    gap: 0.5rem;
    align-items: center;
}

.fleet-form-row .stat-label {
    min-width: 9rem;
}
