body { background-color: #f0f2f5; font-family: 'Segoe UI', sans-serif; }
.main-container { max-width: 1100px; margin: 20px auto; padding: 20px; }
.auth-nav { display: flex; justify-content: space-between; align-items: center; background: #275078; color: white; padding: 10px 20px; border-radius: 10px; margin-bottom: 20px; }
.auth-nav h4 { margin: 0; color: white; }
.controls-panel { background: white; padding: 20px; border-radius: 10px; box-shadow: 0 4px 6px rgba(6, 6, 6, 0.1); display: flex; justify-content: space-between; align-items: center; margin-bottom: 25px; }
.date-display { font-size: 1.5rem; font-weight: 700; color: #2c3e50; }
.table-wrap { background: white; border-radius: 10px; box-shadow: 0 5px 15px rgba(0,0,0,0.05); overflow: hidden; }
table { margin-bottom: 0 !important; width: 100%; table-layout: fixed; }
th { background: #275078 !important; color: white; text-align: center; padding: 15px !important; }
td { height: 100px; vertical-align: middle !important; text-align: center; border: 1px solid #dee2e6; }
.slot-free { background-color: #e8f5e9; color: #198754; cursor: pointer; font-size: 2rem; transition: 0.2s; }
.slot-free:hover { background-color: #c3e6cb; transform: scale(1.02); }
.slot-free.disabled { background-color: #f8f9fa; color: #ccc; cursor: not-allowed; }
.slot-occupied { background-color: #fff3cd; position: relative; }
.user-name { font-weight: bold; display: block; font-size: 0.95rem; }
.user-spz { font-family: monospace; font-size: 1.1rem; color: #555; display: block; margin: 4px 0; }
.btn-del { background: #dc3545; color: white; border: none; padding: 4px 10px; border-radius: 5px; font-size: 0.8rem; cursor: pointer; margin-top: 5px; }
.btn-del:hover { background: #bb2d3b; }
.weekend-row { background-color: #f8f9fa; }
.print-show { display: none; }

@media print {
    .controls-panel button, .auth-nav, .btn-del, .print-hide { display: none !important; }
    .controls-panel { justify-content: center !important; box-shadow: none !important; margin-bottom: 10px !important; padding: 0 !important; }
    .print-show { display: block !important; color: #198754; font-weight: bold; font-size: 1.2rem; }
    body { background-color: white !important; }
    .table-wrap { box-shadow: none !important; border: 1px solid #ccc; }
}