/* Korea Tourism Agency Admin Panel Custom Styles */ /* Brand Customization */ .brand-link { background-color: #1f2937 !important; } .brand-text { color: #f8f9fa !important; font-weight: 600 !important; } /* Sidebar Customization */ .main-sidebar { background: linear-gradient(180deg, #1f2937 0%, #111827 100%) !important; } .nav-sidebar .nav-item > .nav-link { color: #d1d5db !important; transition: all 0.3s ease; } .nav-sidebar .nav-item > .nav-link:hover { background-color: rgba(255, 255, 255, 0.1) !important; color: #ffffff !important; } .nav-sidebar .nav-item > .nav-link.active { background-color: #3b82f6 !important; color: #ffffff !important; border-radius: 0.375rem; margin: 0.125rem; } /* Cards Enhancement */ .card { box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06); border: none; border-radius: 0.5rem; } .card-header { background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); color: white; border-radius: 0.5rem 0.5rem 0 0 !important; } .card-header .card-title { color: white !important; font-weight: 600; } /* Small Boxes Enhancement */ .small-box { border-radius: 0.75rem; overflow: hidden; box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1); transition: transform 0.2s ease; } .small-box:hover { transform: translateY(-2px); } .small-box .icon { top: 10px; right: 10px; } /* Buttons Enhancement */ .btn { border-radius: 0.375rem; font-weight: 500; transition: all 0.2s ease; } .btn:hover { transform: translateY(-1px); box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1); } /* Table Enhancement */ .table { border-radius: 0.5rem; overflow: hidden; } .table thead th { background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%); border: none; font-weight: 600; color: #495057; } .table tbody tr:hover { background-color: #f8f9fa; } /* Form Enhancement */ .form-control { border-radius: 0.375rem; border: 1px solid #d1d5db; transition: all 0.2s ease; } .form-control:focus { border-color: #3b82f6; box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1); } /* Custom File Input */ .custom-file-label { border-radius: 0.375rem; } .custom-file-input:focus ~ .custom-file-label { border-color: #3b82f6; box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1); } /* Alert Enhancement */ .alert { border-radius: 0.5rem; border: none; } .alert-success { background: linear-gradient(135deg, #d4edda 0%, #c3e6cb 100%); color: #155724; } .alert-danger { background: linear-gradient(135deg, #f8d7da 0%, #f1b0b7 100%); color: #721c24; } .alert-warning { background: linear-gradient(135deg, #fff3cd 0%, #ffeaa7 100%); color: #856404; } /* Badge Enhancement */ .badge { font-size: 0.75rem; font-weight: 500; padding: 0.375rem 0.75rem; border-radius: 0.375rem; } /* Loading Spinner */ .loading { opacity: 0.7; pointer-events: none; } .spinner { border: 3px solid #f3f3f3; border-top: 3px solid #3b82f6; border-radius: 50%; width: 30px; height: 30px; animation: spin 1s linear infinite; margin: 10px auto; } @keyframes spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } } /* Mobile Responsiveness */ @media (max-width: 768px) { .card-header .card-title { font-size: 1rem; } .small-box .inner h3 { font-size: 1.5rem; } .btn-group .btn { padding: 0.25rem 0.5rem; } } /* Dark Mode Support */ @media (prefers-color-scheme: dark) { .card { background-color: #374151; color: #f9fafb; } .table { color: #f9fafb; } .form-control { background-color: #374151; color: #f9fafb; border-color: #4b5563; } } /* Korean Typography */ .korean-text { font-family: 'Noto Sans KR', 'Malgun Gothic', '맑은 고딕', sans-serif; } /* Success Animation */ .success-animation { animation: successPulse 0.6s ease-in-out; } @keyframes successPulse { 0% { transform: scale(1); } 50% { transform: scale(1.05); } 100% { transform: scale(1); } }