.navbar, .navbar.scrolled { background: linear-gradient(90deg, #2563eb 0, #38bdf8 100%) !important } .btn, .modal-content, .modal-dialog { position: relative } .card-title, .display-5, .modal-title { text-shadow: 0 2px 8px #38bdf822 } body { background: linear-gradient(120deg, #e0e7ff 0, #f0fdfa 100%); min-height: 100vh; font-family: 'Segoe UI', Roboto, Arial, sans-serif; overflow-x: hidden } main { background: linear-gradient(120deg, #f8fafc 60%, #e0e7ff 100%); border-radius: 2rem; box-shadow: 0 12px 48px #2563eb33, 0 1.5px 0 #38bdf8; padding: 2.8rem 1.5rem; margin-bottom: 2.5rem; max-width: 1200px; margin-left: auto; margin-right: auto; border: 2.5px solid rgba(56, 189, 248, .18); animation: 1.1s cubic-bezier(.4, 0, .2, 1) fadeInMain } @keyframes fadeInMain { from { opacity: 0; transform: translateY(48px) scale(.98) } to { opacity: 1; transform: none } } .navbar { border-bottom: 2.5px solid rgba(56, 189, 248, .18); box-shadow: 0 8px 32px #2563eb22, 0 1.5px 0 #38bdf8; transition: box-shadow .3s } .navbar.scrolled { box-shadow: 0 16px 48px #2563eb44, 0 1.5px 0 #38bdf8 } .btn:active::after { content: ''; position: absolute; left: 50%; top: 50%; width: 120%; height: 120%; background: rgba(56, 189, 248, .18); border-radius: 50%; transform: translate(-50%, -50%) scale(0); animation: .5s linear ripple; z-index: 1 } @keyframes ripple { to { transform: translate(-50%, -50%) scale(1.2); opacity: 0 } } .btn { overflow: hidden } .table tr { transition: box-shadow .2s, background .2s } .table tbody tr:hover { background: #e0f2fe !important; box-shadow: 0 4px 24px #38bdf888; cursor: pointer; filter: brightness(1.04); z-index: 2; position: relative } .btn, .form-control, .form-select { border-radius: 1.1rem !important; transition: box-shadow .2s, background .2s, color .2s; margin-right: .35rem; margin-bottom: .25rem } .btn-danger, .btn-info, .btn-primary, .btn-success, .btn-warning { box-shadow: 0 2px 12px #2563eb22; background: linear-gradient(90deg, #2563eb 0, #38bdf8 100%); border: none; color: #fff; margin-right: .35rem; margin-bottom: .25rem } .btn-danger:hover, .btn-info:hover, .btn-primary:hover, .btn-success:hover, .btn-warning:hover { filter: brightness(1.13) drop-shadow(0 2px 8px #38bdf8cc); box-shadow: 0 6px 24px #2563eb33 } .btn-outline-danger, .btn-outline-info, .btn-outline-primary, .btn-outline-secondary, .btn-outline-success, .btn-outline-warning { background: rgba(255, 255, 255, .7); border-width: 2px; margin-right: .35rem; margin-bottom: .25rem } .btn-outline-danger:hover, .btn-outline-info:hover, .btn-outline-primary:hover, .btn-outline-secondary:hover, .btn-outline-success:hover, .btn-outline-warning:hover { background: linear-gradient(90deg, #2563eb 0, #38bdf8 100%); color: #fff !important; border-color: #2563eb; box-shadow: 0 4px 16px #2563eb33 } .card { border-radius: 1.5rem !important; box-shadow: 0 8px 32px #2563eb22, 0 1.5px 0 #38bdf8; background: #fff; border: 2px solid rgba(56, 189, 248, .1) } .modal-content { border-radius: 1.5rem !important; box-shadow: 0 20px 60px rgba(37, 99, 235, .4), 0 1.5px 0 #38bdf8; background: #fff !important; border: 2px solid rgba(56, 189, 248, .15); z-index: 1060 !important } .modal-backdrop { z-index: 1055 !important; background: rgba(30, 41, 59, .6) !important } .modal { z-index: 1056 !important } .modal-dialog { z-index: 1060 !important } .card-title, .modal-title { letter-spacing: .5px; font-weight: 700; color: #2563eb } .modal-header { border-radius: 1.5rem 1.5rem 0 0 !important; background: linear-gradient(90deg, #2563eb 0, #38bdf8 100%); color: #fff; border: none } .modal-footer { border-radius: 0 0 1.5rem 1.5rem !important; background: rgba(236, 245, 255, .7); color: #2563eb; border: none } ::-webkit-scrollbar { width: 8px; background: #e0e7ff } ::-webkit-scrollbar-thumb { background: #a5b4fc; border-radius: 8px } .tab { animation: .5s fadeIn } @keyframes fadeIn { from { opacity: 0; transform: translateY(24px) } to { opacity: 1; transform: none } } .badge.bg-gradient { background: linear-gradient(90deg, #06b6d4, #2563eb) !important; box-shadow: 0 2px 8px #2563eb22; font-size: 1em; padding: .6em 1.1em; letter-spacing: .5px; animation: .7s cubic-bezier(.4, 0, .2, 1) badgePop } @keyframes badgePop { 0% { transform: scale(.7); opacity: 0 } 60% { transform: scale(1.15); opacity: 1 } 100% { transform: scale(1) } } .shadow-sm { box-shadow: 0 2px 8px #2563eb22 !important } .shadow { box-shadow: 0 4px 16px #2563eb33 !important } .hidden { display: none !important } @media (max-width:768px) { main { padding: 1rem .2rem } .table-responsive { font-size: .95em } .navbar { padding: .5rem !important } .card, .modal-content { border-radius: 1rem !important } .btn, .form-control, .form-select { font-size: .98em } }