/* ============================================
   OVLÁDACÍ PANEL - MAPA SKŘÍNĚK
   Verze: 7.1 (Vyčištěná verze)
   ============================================ */

/* === OVLÁDACÍ PANEL (Kontejner) === */
.control-panel {
    background: #fff;
    padding: var(--spacing-xl);
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius-large);
    box-shadow: var(--shadow-medium);
    display: flex;
    flex-direction: column;
    gap: var(--spacing-lg);
}

/* === HLAVIČKA PANELU === */
.control-panel-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: var(--spacing-lg);
    padding-bottom: var(--spacing-sm);
    border-bottom: 2px solid var(--primary-color);
}

.control-panel-header h2 {
    margin: 0;
    color: var(--primary-color);
    font-size: 1.5em;
}

.control-panel-header .print-btn {
    white-space: nowrap;
}

/* === EDITAČNÍ FORMULÁŘ === */
.edit-form {
    background: #f9f9f9;
    padding: var(--spacing-lg);
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius-medium);
    margin-bottom: var(--spacing-lg);
}

.edit-form h3 {
    margin: 0;
    margin-bottom: var(--spacing-md);
    font-size: 1.1em;
    color: var(--text-color);
}

.tip-text {
    margin: 0;
    color: var(--text-muted);
    font-size: var(--font-size-small);
}

/* === 3-BLOKOVÝ LAYOUT === */

/* Grid kontejner pro Blok 1 a Blok 2 */
.edit-form-row {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: var(--spacing-lg);
    margin-bottom: var(--spacing-lg);
}

/* --- BLOK 1: TEXTAREA (66%) --- */
.edit-form-block-large {
    display: flex;
    flex-direction: column;
}

.edit-form-block-large .form-group {
    height: 100%;
    display: flex;
    flex-direction: column;
}

.edit-form-block-large textarea {
    flex: 1;
    min-height: 150px;
}

/* --- BLOK 2: ULOŽIT DO (34%) --- */
/* --- BLOK 2: ULOŽIT DO (34%) === */
.edit-form-block-small {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    gap: var(--spacing-md);
}

/* === ČÁST 1: Form Group (Label nahoře, Text + Input dole) === */
.save-input-group {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-xs);
    width: 100%;
}

.save-input-group label {
    font-size: var(--font-size-small);
    color: var(--text-color);
    font-weight: bold;
    margin: 0;
}

.save-input-row {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: var(--spacing-sm);
    width: 100%;
}

.save-text {
    font-size: var(--font-size-small);
    color: var(--text-muted);
    font-style: italic;
    white-space: nowrap;
}

.input-cell-id {
    width: 4rem !important;
    padding: var(--spacing-sm);
    text-align: center;
    font-weight: bold;
    box-sizing: border-box;
}

/* === ČÁST 2: Tlačítka v mřížce 2×2 === */
.save-buttons-grid {
    display: grid;
    grid-template-columns: 1fr 1fr; /* 2 sloupce */
    grid-template-rows: auto auto;   /* 2 řádky */
    gap: var(--spacing-sm);
    width: 100%;
}

.save-buttons-grid .btn {
    width: 100%; /* Tlačítko vyplní svou buňku */
    text-align: center;
    padding: var(--spacing-sm);
    font-size: 0.85em;
    white-space: nowrap;
    box-sizing: border-box;
}

/* Placeholder pro text "Nebo odložit" (3. buňka v gridu) */
.save-clipboard-placeholder {
    display: flex;
    align-items: center;
    justify-content: flex-end; /* Text zarovnaný doprava */
    padding: var(--spacing-sm);
}

.save-clipboard-text {
    font-size: var(--font-size-small);
    color: var(--text-muted);
    white-space: nowrap;
}

/* Tlačítko Schránka (4. buňka v gridu) */
.save-buttons-grid .btn-success {
    background: var(--btn-success-bg);
}

.save-buttons-grid .btn-success:hover {
    background: var(--btn-success-hover);
}

/* Barevné varianty */
.save-buttons-grid .btn-primary { background: var(--btn-primary-bg); }
.save-buttons-grid .btn-secondary { background: var(--btn-secondary-bg); }

/* --- BLOK 3: HISTORIE (Plná šířka) --- */
.edit-form-block-history {
    background: #fff;
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius-medium);
    padding: var(--spacing-md);
    margin-top: 0; /* Je součástí gridu, margin řeří gap */
}

.no-history {
    margin: 0;
    color: var(--text-muted);
    font-size: var(--font-size-small);
    font-style: italic;
    text-align: center;
    padding: var(--spacing-md);
}

/* === HISTORIE (Accordion) === */
.history-details {
    margin-top: var(--spacing-xs);
    border: 1px solid #e9ecef;
    border-radius: var(--border-radius-medium);
    background: #fff;
    overflow: hidden;
}

.history-summary {
    padding: var(--spacing-sm) var(--spacing-md);
    background: #f8f9fa;
    cursor: pointer;
    font-weight: bold;
    font-size: 0.9em;
    list-style: none;
    display: flex;
    align-items: center;
    justify-content: space-between;
    transition: background 0.2s ease;
}

.history-summary::-webkit-details-marker {
    display: none;
}

.history-summary::after {
    content: "▼";
    font-size: 0.8em;
    color: var(--text-muted);
}

.history-details[open] .history-summary {
    background: #e9ecef;
    border-bottom: 1px solid #e9ecef;
}

.history-details[open] .history-summary::after {
    content: "▲";
}

/* === OBSAH HISTORIE S SCROLLEM === */
.history-content {
    padding: var(--spacing-md);
    border-top: 1px solid #e9ecef;
    max-height: 200px; /* OMEZENÍ VÝŠKY */
    overflow-y: auto;  /* SCROLLBAR */
}

/* === INDIVIDUÁLNÍ ZÁZNAM === */
.history-item {
    background: #f8f9fa;
    border: 1px solid #e9ecef;
    border-radius: var(--border-radius-medium);
    padding: var(--spacing-md);
    margin-bottom: var(--spacing-md);
}

.history-item:last-child {
    margin-bottom: 0;
}

.history-meta {
    font-size: 0.85em;
    color: var(--text-muted);
    margin-bottom: var(--spacing-sm);
}

.history-meta strong {
    color: var(--text-color);
}

.history-values {
    display: flex;
    gap: var(--spacing-md);
    align-items: center;
    margin-bottom: var(--spacing-md);
    flex-wrap: wrap;
}

.history-old, .history-new {
    flex: 1;
    background: white;
    padding: var(--spacing-sm);
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius-small);
    font-size: 0.9em;
    word-break: break-all;
}

.history-old {
    border-left: 3px solid var(--text-muted);
}

.history-new {
    border-left: 3px solid var(--success-text);
}

.history-arrow {
    color: var(--text-muted);
    font-weight: bold;
    flex-shrink: 0;
    font-size: 1.2em;
}

.btn-restore {
    background: var(--btn-success-bg);
    color: white;
    border: none;
    padding: var(--spacing-xs) var(--spacing-sm);
    border-radius: var(--border-radius-small);
    cursor: pointer;
    font-size: 0.85em;
    width: 100%;
}

.btn-restore:hover {
    background: var(--btn-success-hover);
}

/* === SCROLLBAR STYLING === */
.history-content::-webkit-scrollbar {
    width: 6px;
}

.history-content::-webkit-scrollbar-track {
    background: #f1f1f1;
    border-radius: var(--border-radius-small);
}

.history-content::-webkit-scrollbar-thumb {
    background: #ccc;
    border-radius: var(--border-radius-small);
}

.history-content::-webkit-scrollbar-thumb:hover {
    background: #aaa;
}

/* === KONFLIKT VAROVÁNÍ === */
/* Pouze pro konzistenci v této komponentě - globální definice je v messages.css */
.conflict-warning {
    background: var(--warning-bg);
    border: 1px solid var(--warning-border);
    padding: var(--spacing-md);
    border-radius: var(--border-radius-medium);
    margin-bottom: var(--spacing-lg);
    font-size: var(--font-size-small);
    color: var(--warning-text);
}

.conflict-warning strong {
    color: var(--warning-text);
}

.conflict-warning em {
    font-style: italic;
    color: var(--text-color);
}

/* === FORM ACTIONS === */
.form-actions {
    margin-top: var(--spacing-xl);
    display: flex;
    gap: var(--spacing-md);
    flex-wrap: wrap;
}

/* === RESPONZIVITA === */
@media (max-width: 900px) {
    .control-panel {
        padding: var(--spacing-lg);
    }

    .edit-form-row {
        grid-template-columns: 1fr;
    }

    .edit-form-block-history {
        margin-top: var(--spacing-md);
    }
}

@media (max-width: 480px) {
    .control-panel {
        padding: var(--spacing-md);
    }

    .edit-form {
        padding: var(--spacing-md);
    }

    .edit-form h3 {
        font-size: 1em;
    }

    .edit-form input[type="text"],
    .edit-form input[type="number"],
    .edit-form textarea {
        font-size: 16px;
    }

    .form-actions {
        flex-direction: column;
    }

    .form-actions .btn {
        width: 100%;
    }

    .save-buttons .btn {
        padding: var(--spacing-md);
    }

    .history-values {
        flex-direction: column;
    }

    .history-arrow {
        transform: rotate(90deg);
        margin: var(--spacing-xs) 0;
    }
}