.btn, .modal-content, .table { overflow: hidden } .font-switcher { margin-left: 1rem } .font-btn { border: none; background: 0 0; font-size: 1.1em; margin-right: .3rem; cursor: pointer; color: #2563eb; transition: color .2s } .modal-footer, .modal-footer .btn:hover, .modal-header { background: linear-gradient(90deg, #2563eb 0, #38bdf8 100%) !important } .font-btn.active { font-weight: 700; text-decoration: underline; color: #0ea5e9 } .network-status { margin-left: 1.2rem; font-size: 1.1em; font-weight: 500 } .network-status.online { color: #10b981 } .network-status.offline { color: #ef4444 } .navbar { box-shadow: 0 8px 32px #2563eb22, 0 1.5px 0 #38bdf8; border-radius: 0 0 1.5rem 1.5rem } .navbar-brand { font-size: 1.5em; letter-spacing: 1px } .navbar .btn-link { font-weight: 500; font-size: 1.08em } .navbar-clock { color: #fff; font-weight: 500; font-size: 1.1em; margin-left: 1.5rem; letter-spacing: .5px } .modal-footer, .modal-header { color: #fff !important; border: none; box-shadow: 0 2px 12px #2563eb22 } .modal-body { background: #f8fafc !important; border-radius: 0 0 1.5rem 1.5rem; font-size: 1.08em } .modal-content { background: rgba(255, 255, 255, .97) !important } .modal-footer .btn { border: 1.5px solid #38bdf8; font-weight: 600; box-shadow: 0 2px 8px #2563eb22; transition: background .2s, color .2s, border .2s } .modal-footer .btn:hover { color: #fff !important; border-color: #2563eb } .modal-body input, .modal-body select, .modal-body textarea { background: #fff !important; color: #222 !important; border: 1.5px solid #38bdf8; border-radius: 1.1rem !important; box-shadow: 0 1px 4px #2563eb22; margin-bottom: .5rem; font-size: 1em } .modal-body input:focus, .modal-body select:focus, .modal-body textarea:focus { border-color: #2563eb; box-shadow: 0 2px 8px #38bdf8cc } @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 } .navbar-brand { font-size: 1.1em } .modal-body { font-size: 1em } } .modal-body, .modal-content, .modal-footer, .modal-header, .modal-title { color: #fff !important } .modal-footer .btn { color: #2563eb !important; background: #fff !important; border: none } .badge.bg-gradient, .card-title, .modal-header, .modal-title { letter-spacing: .5px; color: #fff } .card, .modal-content { border-radius: 1.5rem !important; box-shadow: 0 8px 32px #2563eb22, 0 1.5px 0 #38bdf8, 0 .5px 0 #fff4 inset; border: 2px solid rgba(56, 189, 248, .1); background: rgba(255, 255, 255, .85); backdrop-filter: blur(8px) saturate(1.2); transition: box-shadow .3s, background .3s, border .3s } .card:hover, .modal-content:hover { box-shadow: 0 16px 48px #2563eb44, 0 2px 0 #38bdf8; background: rgba(236, 245, 255, .97); border-color: #38bdf8 } .card-title, .modal-title { font-weight: 700; text-shadow: 0 2px 8px #38bdf822, 0 1px 0 #fff; transition: color .2s, text-shadow .2s } .modal-header { border-radius: 1.5rem 1.5rem 0 0 !important; background: linear-gradient(90deg, #2563eb 0, #38bdf8 100%); border: none; box-shadow: 0 2px 12px #2563eb22 } .modal-footer { border-radius: 0 0 1.5rem 1.5rem !important; background: rgba(236, 245, 255, .85); color: #2563eb; border: none; box-shadow: 0 -2px 12px #38bdf822 } .badge.bg-gradient { background: linear-gradient(90deg, #06b6d4, #2563eb, #38bdf8, #06b6d4) !important; animation: 2.5s linear infinite badgeGradient, .7s cubic-bezier(.4, 0, .2, 1) badgePop; box-shadow: 0 2px 8px #2563eb22, 0 .5px 0 #fff4 inset; font-size: 1em; padding: .6em 1.1em; border-radius: 1.2em; font-weight: 600; text-shadow: 0 1px 4px #2563eb33 } @keyframes badgeGradient { 0% { background-position: 0 50% } 100% { background-position: 100% 50% } } .badge, .badge.bg-secondary, .badge.bg-success { border-radius: 1em; font-size: .98em; padding: .5em 1em; box-shadow: 0 1px 4px #2563eb22; font-weight: 500; background: rgba(236, 245, 255, .85); color: #2563eb; transition: background .2s, color .2s } .badge.bg-success { background: linear-gradient(90deg, #10b981, #38bdf8) !important; color: #fff } .badge.bg-secondary { background: linear-gradient(90deg, #64748b, #a5b4fc) !important; color: #fff } .table { border-radius: 1.2rem !important; background: #fff } .table thead { background: #f1f5f9; font-weight: 600 } .table tbody 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 } .table td, .table th { vertical-align: middle !important } .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 } .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 { position: relative } ::-webkit-scrollbar { width: 8px; background: #e0e7ff } ::-webkit-scrollbar-thumb { background: #a5b4fc; border-radius: 8px } .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 } .navbar-brand { font-size: 1.1em } }