﻿    .flatpickr-day.today { border: 2px solid #2563eb !important; font-weight: 900 !important; color: #1e40af !important; background-color: #dbeafe !important; }
    .flatpickr-day.selected { background-color: #2563eb !important; border-color: #2563eb !important; }
    ::-webkit-scrollbar { width: 6px; }
    ::-webkit-scrollbar-track { background: transparent; }
    ::-webkit-scrollbar-thumb { background-color: #cbd5e1; border-radius: 10px; }
    
    .toast { transition: opacity 0.3s ease, transform 0.3s ease; transform: translate(-50%, 150%); opacity: 0; }
    .toast.show { transform: translate(-50%, 0); opacity: 1; }

    @media (min-width: 1024px) {
      .hover-card { transition: all 0.2s; }
      .hover-card:hover { transform: translateX(4px); box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1); }
      .active-card { background-color: #eff6ff !important; border-color: #3b82f6 !important; border-left-width: 6px !important; opacity: 1 !important; }
    }

    /* Print Styles: Fixed visibility logic */
    @media print {
      body { background: white !important; }
      header, main, #toast { display: none !important; }
      #print-container { display: block !important; position: relative !important; width: 100%; margin: 0; padding: 0; background: white; visibility: visible !important; }
      .print-page { 
        width: 210mm; 
        min-height: 297mm; 
        padding: 15mm; 
        margin: 0 auto; 
        background: white; 
        font-family: 'Malgun Gothic', '맑은 고딕', sans-serif; 
        box-sizing: border-box;
        -webkit-print-color-adjust: exact !important; 
        print-color-adjust: exact !important;
      }

    }
