/* STEM Náves – minimálny custom CSS */

/* Smooth transitions */
* { transition-property: background-color, border-color, color, opacity; transition-duration: 150ms; }

/* Slot block base */
.slot-block {
    display: flex;
    flex-direction: column;
    gap: 1px;
    border-left-width: 3px;
    border-left-style: solid;
    border-radius: 5px;
    padding: 5px 8px;
    margin-bottom: 4px;
    user-select: none;
    overflow: hidden;
}
.slot-hoverable:hover { opacity: 0.82; }

.slot-time {
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.01em;
    line-height: 1.2;
}
.slot-label {
    font-size: 0.68rem;
    font-weight: 500;
    opacity: 0.75;
    line-height: 1.2;
}
.slot-booker {
    font-size: 0.65rem;
    opacity: 0.65;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    margin-top: 2px;
    border-top: 1px solid currentColor;
    padding-top: 2px;
    opacity: 0.5;
}

/* Slot farby */
.slot-available  { background-color: #f0fdf4; border-color: #16a34a; color: #15803d; }
.slot-locked     { background-color: #fefce8; border-color: #ca8a04; color: #a16207; }
.slot-submitted  { background-color: #fffbeb; border-color: #d97706; color: #92400e; }
.slot-approved   { background-color: #eef1f9; border-color: #1B3F92; color: #1B3F92; }
.slot-blocked    { background-color: #fef2f2; border-color: #dc2626; color: #b91c1c; }
.slot-full       { background-color: #f9fafb; border-color: #9ca3af; color: #4b5563; }

/* Status badges */
.badge-draft     { background: #f3f4f6; color: #374151; }
.badge-submitted { background: #fef3c7; color: #b45309; }
.badge-approved  { background: #c6cfe8; color: #1B3F92; }
.badge-rejected  { background: #fee2e2; color: #b91c1c; }
.badge-cancelled { background: #f3f4f6; color: #6b7280; }
.badge-completed { background: #d1fae5; color: #065f46; }

/* Brand color utilities (fallback pre Tailwind CDN custom farby) */
.bg-brand-600 { background-color: #1B3F92 !important; }
.bg-brand-500 { background-color: #5f79b3 !important; }
.bg-brand-700 { background-color: #152f6e !important; }
.bg-brand-50  { background-color: #eef1f9 !important; }
.hover\:bg-brand-600:hover { background-color: #1B3F92 !important; }
.hover\:bg-brand-500:hover { background-color: #5f79b3 !important; }
.text-brand-600 { color: #1B3F92 !important; }
.text-brand-700 { color: #152f6e !important; }
.text-brand-500 { color: #5f79b3 !important; }
.text-brand-900 { color: #091432 !important; }
.hover\:text-brand-700:hover { color: #152f6e !important; }
.border-brand-200 { border-color: #c6cfe8 !important; }
.focus\:ring-brand-500:focus { --tw-ring-color: #5f79b3 !important; }
.focus\:border-brand-500:focus { border-color: #5f79b3 !important; }

/* Neutral color utilities (fallback) */
.bg-neutral-50  { background-color: #fafaf9 !important; }
.bg-neutral-100 { background-color: #f5f5f4 !important; }
.bg-neutral-200 { background-color: #e7e5e4 !important; }
.bg-neutral-900 { background-color: #1c1917 !important; }
.text-neutral-400 { color: #a8a29e !important; }
.text-neutral-500 { color: #78716c !important; }
.text-neutral-600 { color: #57534e !important; }
.text-neutral-700 { color: #44403c !important; }
.text-neutral-900 { color: #1c1917 !important; }
.border-neutral-200 { border-color: #e7e5e4 !important; }
.border-neutral-300 { border-color: #d6d3d1 !important; }
.hover\:bg-neutral-50:hover  { background-color: #fafaf9 !important; }
.hover\:bg-neutral-100:hover { background-color: #f5f5f4 !important; }
.hover\:border-neutral-300:hover { border-color: #d6d3d1 !important; }
.divide-neutral-100 > * + * { border-color: #f5f5f4 !important; }

/* Flash message fadeout */
#flash-msg > div {
    animation: fadeSlideIn 0.3s ease;
}
@keyframes fadeSlideIn {
    from { opacity: 0; transform: translateY(-8px); }
    to   { opacity: 1; transform: translateY(0); }
}

/* Wizard overlay */
#wizard-overlay {
    backdrop-filter: blur(2px);
}

/* Print */
@media print {
    nav, footer, .no-print { display: none !important; }
}
