/* --- Styly frontend-shortcode --- */
        .mrs-main-container { width: 100%; display: flex; flex-direction: column; align-items: center; background: #f9f9f9; padding: 40px 15px; border-radius: 20px; box-sizing: border-box; } 
		.mrs-screen {background: #34495e; height: 35px; width: 90%; max-width: 800px; margin: 0 auto 40px; border-radius: 5px 5px 50% 50%; color: #fff; text-align: center; line-height: 35px; font-size: 13px; font-weight: bold; letter-spacing: 8px; text-transform: uppercase; box-shadow: 0 4px 10px rgba(0,0,0,0.3); }
        .mrs-row { display: flex; align-items: center; justify-content: center; margin-bottom: 8px; } 
        .mrs-row-num { width: 35px; color: #aaa; font-weight: bold; font-size: 14px; text-align: center; } 
        .mrs-seat, .mrs-spacer { flex: 0 0 32px; height: 28px; margin: 3px; position: relative; } 
        .mrs-seat { border-radius: 6px 6px 2px 2px; cursor: pointer; transition: background 0.2s;  background: #d1d8e0; box-shadow: inset 0 -4px 0 rgba(0,0,0,0.2), 0 2px 4px rgba(0,0,0,0.1); border: 1px solid rgba(0,0,0,0.2); } 
        .mrs-seat.selected { background: #26de81 !important; } 
        .mrs-seat.occupied { background: #eb4d4b !important; cursor: not-allowed; } 
        .mrs-seat.blocked { background: #636e72; cursor: not-allowed; } 
        .mrs-seat.blocked::after { content: '×'; color: #fff; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); } 
        .mrs-legend { font-family:sans-serif; display: flex; flex-wrap: wrap; justify-content: center; gap: 20px; margin: 20px 0; background: #fff; padding: 15px; border-radius: 50px; font-size: 14px; } 
        .mrs-mobile-info { font-family:sans-serif; position: fixed; pointer-events: none; background: #333; color: #fff; padding: 8px 15px; border-radius: 8px; font-size: 13px; z-index: 9999; display: none; box-shadow: 0 4px 15px rgba(0,0,0,0.3); transform: translate(-50%, -130%); font-weight: bold; text-align: center; line-height: 1.4; } 
        .mrs-mobile-info.visible { display: block; } 
		.mrs-checkout-box { font-family: sans-serif; background: #fff; padding: 30px; border-radius: 15px; box-shadow: 0 10px 30px rgba(0,0,0,0.1); width: 100%; max-width: 500px; }
		.mrs-summary { background: #f8fafc; padding: 20px; border-radius: 12px; margin-bottom: 25px; border: 2px solid #edf2f7; }
        .mrs-summary-label { color: #64748b; font-size: 14px; font-weight: 500; }
        .mrs-summary-value { text-align: right; font-weight: bold; color: #2c3e50; font-size: 16px; }
		.mrs-summary-row { display: flex; justify-content: space-between; align-items: center; margin-bottom: 8px; }
		.mrs-hint { text-align: center; color: #d35400; font-size: 12px; margin-top: 25px; display:none; }
        .mrs-input-group { text-align: left; margin-bottom: 15px; }
        .mrs-input-group label { display: block; margin-bottom: 8px; font-weight: bold; font-size: 14px; color: #34495e; }
        .mrs-input-group input, .mrs-input-group select { width: 100%; padding: 12px; border: 2px solid #ddd; border-radius: 8px; box-sizing: border-box; font-size: 15px; outline: none; transition: 0.3s; } 
        .mrs-input-group input.mrs-invalid { border-color: #ff7675; }
        .mrs-input-group input.mrs-valid { border-color: #2ecc71; }
        .mrs-input-group input:focus { border-color: #0984e3; }
        .mrs-error-msg { color: #d63031; font-size: 11px; margin-top: 4px; display: none; font-weight: bold; }
        .mrs-phone-wrap { display: flex; gap: 8px; }
        .mrs-phone-wrap select { width: 110px; flex-shrink: 0; }
        #mrs-pay-btn { background: #bdc3c7; color: #fff; border: none; padding: 18px; width: 100%; border-radius: 10px; font-weight: bold; cursor: not-allowed; font-size: 16px; transition: 0.3s; margin-top: 10px; } 
        #mrs-pay-btn.active { background: #0984e3; cursor: pointer; box-shadow: 0 5px 15px rgba(9,132,227,0.3); }
		#mrs-pay-btn:not(:disabled):hover { background: #003d8a; transform: translateY(-1px); box-shadow: 0 4px 12px rgba(0,80,179,0.2); }

/* --- Styly Administrace-tab-stats --- */
    /* Kontejner pro karty - na PC flex, na mobilu blok */
    .mrs-stats-cards-wrapper { display: flex; gap: 20px; margin-top: 20px; margin-bottom: 30px; }
    .mrs-stats-card { background: #fff; padding: 20px; border-radius: 10px; flex: 1; box-shadow: 0 2px 5px rgba(0,0,0,0.1); }
    .mrs-stats-card span { font-size: 12px; color: #666; text-transform: uppercase; font-weight: bold; }
    .mrs-stats-card strong { font-size: 28px; display: block; margin-top: 5px; }

    /* Obal pro tabulku */
    .mrs-stats-scroll-wrapper { width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; border: 1px solid #ccd0d4; background: #fff; }

    @media screen and (max-width: 782px) { 
		/* Karty pod sebou */ 
		.mrs-stats-cards-wrapper { display: block !important; }
        .mrs-stats-card { width: 100% !important; margin: 0 0 15px 0 !important; box-sizing: border-box !important; }
        .mrs-stats-card strong { font-size: 24px !important; }

        /* Tabulka se nesmí smrsknout */
        .mrs-stats-table { display: table !important; min-width: 950px !important; }
        .mrs-stats-table td, .mrs-stats-table th { display: table-cell !important; white-space: nowrap !important; padding: 12px 10px !important; }
        .mrs-stats-table td:first-child { white-space: normal !important; min-width: 200px; }
    }

/* --- Styly Administrace-tab-debug --- */
	/* CSS pro šoupátko (toggle switch) */
    .mrs-switch-debug { position: relative; display: inline-block; width: 50px; height: 24px; }
    .mrs-switch-debug input { opacity: 0; width: 0; height: 0; }
    .mrs-slider-debug { position: absolute; cursor: pointer; top: 0; left: 0; right: 0; bottom: 0; background-color: #ccc; transition: .4s; border-radius: 24px; }
    .mrs-slider-debug:before { position: absolute; content: ""; height: 16px; width: 16px; left: 4px; bottom: 4px; background-color: white; transition: .4s; border-radius: 50%; }
    input:checked + .mrs-slider-debug { background-color: #2271b1; }
    input:checked + .mrs-slider-debug:before { transform: translateX(26px); }

/* --- Styly Parts-View editor --- */
    .mrs-top-flex { display: flex; flex-wrap: wrap; gap: 20px; align-items: flex-start; margin-bottom: 20px; }
    .mrs-flex-col { flex: 0 1 auto; }
    .mrs-flex-col strong { display: block; margin-bottom: 4px; }
    .mrs-flex-col small { color: #666; display: block; line-height: 1.2; margin-top: 4px; max-width: 190px; }
    
    .mrs-switch-container { display: inline-flex; align-items: center; background: #f9f9f9; padding: 10px 15px; border-radius: 8px; border: 1px solid #ddd; }
    .mrs-switch { position: relative; display: inline-block; width: 46px; height: 22px; margin: 0 10px; }
    .mrs-switch input { opacity: 0; width: 0; height: 0; }
    
    .mrs-slider { position: absolute; cursor: pointer; top: 0; left: 0; right: 0; bottom: 0; transition: .4s; border-radius: 22px; background-color: #ccc; }
    .mrs-slider:before { position: absolute; content: ""; height: 16px; width: 16px; left: 3px; bottom: 3px; background-color: white; transition: .4s; border-radius: 50%; }

	/* --- FINÁLNÍ OPRAVA VZHLEDU KARET --- */
	.mrs-mode-selector { background: #e0dede61; border: 1px solid #535351; padding: 5px; border-radius: 8px; display: flex; gap: 10px; margin-top: 5px; }
	.mrs-mode-card { /*flex: 1 1 0px;*/ cursor: pointer; }
	.mrs-mode-card .mrs-mode-content { background: #fff; border: 1px solid #ccc; text-align: center; padding: 10px 5px; border-radius: 5px; font-size: 11px; font-weight: bold; transition: 0.2s; color: #333; }
	/* Barevné aktivní stavy - !important zajistí, že to nic nepřebije */
	.mrs-mode-card.active[data-mode="theater"] .mrs-mode-content { background: #7b7575 !important; color: #fff !important; border: solid 2px #000 !important; }
	.mrs-mode-card.active[data-mode="simple"] .mrs-mode-content { background: #2196F3 !important; color: #fff !important; border: solid 2px #006bb9 !important; }
	.mrs-mode-card.active[data-mode="timer"] .mrs-mode-content { background-color: #8b5a2b !important; /* Hnědá */ border: 2px solid #5d3a1a !important; color: #ffffff; }
	/* Ikony v aktivních kartách */
	.mrs-mode-card.active .dashicons { color: #fff !important; }
	/* STAV PŘI NAJETÍ MYŠI (Hover) */
	.mrs-item-timer:hover { background-color: #6f4722 !important; /* Tmavší hnědá při najetí */ }
	/* STAV PŘI VYBRÁNÍ (Selected) */
	.mrs-item-timer.selected { background-color: #4a3116 !important; /* Velmi tmavá hnědá */ border-color: #d4a373 !important; /* Světle hnědý okraj pro zvýraznění */ }
    /* Stav AKTIVNÍ (defaultně bez checked, protože disable_pdf=0 znamená aktivní) */
    .label-on { color: #46b450; font-weight: bold; transition: .3s; }
    .label-off { color: #ccc; font-weight: bold; transition: .3s; }
    
    /* Stav VYPNUTO (input:checked znamená disable_pdf=1) */
    input:checked + .mrs-slider { background-color: #d63638; }
    input:checked + .mrs-slider:before { transform: translateX(24px); }
    input:checked ~ .label-on-text { color: #ccc; }
    input:checked ~ .label-off-text { color: #d63638; }
    
    /* Pomocné třídy pro barvy textu */
    .pdf-active-text { color: #46b450 !important; font-weight: bold !important; }
    .pdf-inactive-text { color: #d63638 !important; font-weight: bold !important; }
    .text-grey { color: #ccc !important; font-weight: bold !important; }
	
    .mrs-editor-scroll-wrapper { width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; margin-top: 10px; }
	.mrs-scroll-wrapper { overflow-x: auto; -webkit-overflow-scrolling: touch; margin-top: 10px; }

		/* RESPONZIVITA PRO MOBILY */
    .mrs-scroll-wrapper { /*width: 100%;*/ overflow-x: auto; -webkit-overflow-scrolling: touch; margin-top: 10px; }
	
	@media screen and (max-width: 782px) {
		#mrs-editor-table {
			min-width: 600px !important; /* Aby tabulka držela tvar a skrolovala */
			display: table !important;
		}
		#mrs-editor-table td, #mrs-editor-table th {
			display: table-cell !important;
		}
		
		.mrs-workshop-inner-flex {
        display: block !important; /* Zrušíme flex (vedle sebe) */
    }

    .mrs-workshop-inner-flex > div {
        width: 100% !important;
        margin-bottom: 15px !important; /* Mezery mezi poli pod sebou */
    }

    .mrs-workshop-inner-flex input, 
    .mrs-workshop-inner-flex select {
        width: 100% !important; /* Pole budou na celou šířku mobilu */
        height: 40px !important;
    }
	}

/* --- Styly Parts-View list --- */
    .mrs-admin-scroll-wrapper {
        width: 100%;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        margin: 20px 0;
        background: #fff;
        border: 1px solid #ccd0d4;
    }
    @media screen and (max-width: 782px) {
        .wp-list-table.widefat {
            display: table !important;
            table-layout: auto !important;
            min-width: 850px !important; /* Toto zajistí, že se tabulka nezmáčkne */
        }
        .wp-list-table.widefat td, .wp-list-table.widefat th {
            word-break: normal !important;
            white-space: nowrap !important;
            vertical-align: middle !important;
        }
        .wp-list-table.widefat td:first-child {
            white-space: normal !important;
            min-width: 200px;
        }
    }

/* --- Styly Parts-View reservations --- */

    /* 1. Obal pro horizontální posun */
    .mrs-res-scroll-wrapper { width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; margin-top: 20px; background: #fff; border: 1px solid #ccd0d4; }

    @media screen and (max-width: 782px) { /* 2. Reset WordPress mobilního chování pro tabulku */
        .wp-list-table.widefat { display: table !important; /* Tabulka zůstane tabulkou */ min-width: 900px !important; /* Šířka, aby se údaje nepomíchaly */ table-layout: auto !important; }
        .wp-list-table.widefat thead, 
        .wp-list-table.widefat tbody, 
        .wp-list-table.widefat tr { display: table-row-group !important; }
        .wp-list-table.widefat tr { display: table-row !important; }
        .wp-list-table.widefat td, 
        .wp-list-table.widefat th { display: table-cell !important; /* Každá buňka bude mít své místo v řádku */ white-space: nowrap !important; /* Zabrání lámání textu (jméno, email) */ padding: 12px 8px !important; vertical-align: middle !important; }
        /* 3. Tlačítka akcí (Odbavit, Zrušit atd.) pod sebou v buňce */
        .wp-list-table td:last-child { white-space: normal !important; /* Tady dovolíme zalomení pro tlačítka */ min-width: 150px; }
        .wp-list-table td:last-child .button { display: block !important; /*width: 100% !important;*/ margin-bottom: 5px !important; text-align: center; }
        /* 4. Horní ovládací prvky (Hledat, Export) pod sebou */
        .mrs-res-controls { display: block !important; }
        .mrs-res-controls .button, 
        .mrs-res-controls input { width: 100% !important; margin-bottom: 10px !important; height: 40px; }
    }
/* --- Styly pro View reservations --- */

/* Styly pro stavové štítky v administraci */
.mrs-status-tag { display: inline-block; margin-top: 5px; font-size: 10px; font-weight: bold; padding: 3px 8px; border-radius: 12px; line-height: 1; }
.mrs-status-active { color: #27ae60; background: #eafff2; border: 1px solid #2ecc71; }   /* ZELENÁ */
.mrs-status-finished { color: #7f8c8d; background: #f4f4f4; border: 1px solid #bdc3c7; } /* ŠEDÁ */
.mrs-status-upcoming { color: #2196F3; background: #e3f2fd; border: 1px solid #2196F3; } /* MODRÁ (Připraveno) */
.mrs-status-not-ready { color: #e67e22; background: #fff5e6; border: 1px solid #e67e22; }/* ORANŽOVÁ */