/* ── LAN Addon Bar & Modal ───────────────────────────────────────────────── */

/* Notification Bar - gleiche dezente Kartenoptik wie .lan-notice-info in
   frontend-seatmap.css (selbe "Hinweis, kein Blocker"-Familie), damit
   mehrere Hinweise auf der Sitzplan-Seite als EIN zusammengehöriger Bereich
   wirken statt als gestapelte, unterschiedlich eingefärbte Boxen. Wird jetzt
   INNERHALB von .lan-status-bar eingefügt (siehe frontend-addon-modal.js),
   daher kein eigener margin-bottom mehr nötig - der "gap" des
   Eltern-Containers sorgt für gleichmässigen Abstand zu Nachbar-Hinweisen. */
.lan-addon-bar {
    box-sizing: border-box;
    width: 100%;
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    margin-top: 10px;
    padding: 8px 12px;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-left: 3px solid #38bdf8;
    border-radius: 6px;
    font-size: 12.5px;
    line-height: 1.45;
    color: #bae6fd;
}
.lan-addon-bar-icon { font-size: 16px; flex-shrink: 0; }
.lan-addon-bar-btn {
    margin-left: auto;
    padding: 6px 14px;
    background: #38bdf8;
    color: #0c2a3a;
    border: none;
    border-radius: 6px;
    font-size: 12.5px;
    font-weight: 700;
    cursor: pointer;
    transition: background 0.15s;
}
.lan-addon-bar-btn:hover { background: #7dd3fc; }

/* Overlay */
.lan-addon-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,.55);
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 16px;
}

/* Modal */
.lan-addon-modal {
    background: #1e293b;
    border: 1px solid #334155;
    border-radius: 12px;
    width: 100%;
    max-width: 520px;
    max-height: 85vh;
    display: flex;
    flex-direction: column;
    box-shadow: 0 20px 60px rgba(0,0,0,.5);
    overflow: hidden;
    outline: none;
    color: #e2e8f0;
}

.lan-addon-modal-header {
    display: flex;
    align-items: center;
    padding: 16px 20px;
    border-bottom: 1px solid #334155;
    background: #0f172a;
}
.lan-addon-modal-header h2 { margin: 0; font-size: 18px; flex: 1; color: #f1f5f9; }
.lan-addon-modal-close {
    background: none; border: none; font-size: 18px; cursor: pointer;
    color: #94a3b8; padding: 4px 8px; border-radius: 4px;
    transition: all 0.15s;
}
.lan-addon-modal-close:hover { background: #334155; color: #fff; }

.lan-addon-modal-body {
    padding: 20px;
    overflow-y: auto;
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

/* Addon-Item */
.lan-addon-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px;
    background: #0f172a;
    border: 1px solid #334155;
    border-radius: 8px;
    flex-wrap: wrap;
}
.lan-addon-item-info { display: flex; align-items: center; gap: 10px; flex: 1; }
.lan-addon-icon { font-size: 28px; }
.lan-addon-item-info > div { display: flex; flex-direction: column; gap: 2px; }
.lan-addon-item-info strong { font-size: 14px; color: #f1f5f9; }
.lan-addon-type-label { font-size: 12px; color: #94a3b8; }
.lan-addon-qty { font-size: 12px; color: #60a5fa; font-weight: 600; }

.lan-addon-seat-hint { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.lan-addon-seat-selected strong { color: #60a5fa; }
.lan-addon-hint-text { font-size: 13px; color: #64748b; font-style: italic; }

/* Bereits zugewiesene Addons */
.lan-addon-assigned-wrap {
    border-top: 1px solid #334155;
    padding-top: 12px;
}
.lan-addon-assigned-wrap h3 { font-size: 14px; color: #94a3b8; margin: 0 0 8px; }
.lan-addon-assigned-row {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 6px 10px;
    background: #052e16;
    border: 1px solid #166534;
    border-radius: 6px;
    margin-bottom: 6px;
    font-size: 13px;
    color: #86efac;
}
.lan-addon-assigned-row { flex-wrap: wrap; }
.lan-addon-assigned-row > span:nth-of-type(2) { margin-left: auto; color: #94a3b8; }

/* Addon auf anderen eigenen Sitz verschieben */
.lan-addon-assigned-row > .lan-addon-move {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-left: 0;
}
.lan-addon-move-select {
    max-width: 9rem;
    padding: 3px 6px;
    font-size: 12px;
}
.lan-addon-auto-hint { font-size: 12px; color: #94a3b8; margin: 0 0 10px; }

.lan-addon-all-done { color: #86efac; font-weight: 600; text-align: center; padding: 20px 0; }

/* Modal Feedback */
.lan-addon-modal-feedback {
    padding: 10px 20px;
    border-top: 1px solid #334155;
    font-size: 13px;
    text-align: center;
}
.lan-success { color: #86efac; }
.lan-error   { color: #fca5a5; }

/* Buttons (shared with tournaments) */
.lan-btn {
    display: inline-flex; align-items: center; gap: 5px;
    padding: 8px 16px; border-radius: 6px; border: none;
    cursor: pointer; font-size: 14px; font-weight: 600; transition: opacity .15s, background .15s;
}
.lan-btn:disabled { opacity: .5; cursor: not-allowed; }
.lan-btn--primary { background: #2563eb; color: #fff; }
.lan-btn--primary:hover:not(:disabled) { background: #1d4ed8; }
.lan-btn--danger  { background: #7f1d1d; color: #fca5a5; border: 1px solid #991b1b; }
.lan-btn--danger:hover:not(:disabled) { background: #991b1b; color: #fff; }
.lan-btn--sm { padding: 3px 8px; font-size: 12px; }