@media (min-width: 768px) { html { font-size: 16px; } } /* ─── EXPORT BUTTONS ───────────────────────────────────────── */ .dt-buttons .btn, .dt-button { border-radius: 7px !important; font-size: 13px !important; font-weight: 500 !important; padding: 7px 16px !important; transition: all 0.25s ease !important; border: none !important; box-shadow: 0 2px 8px rgba(0,0,0,0.1) !important; } .btn.btn-secondary, .dt-button.btn-secondary { background: linear-gradient(135deg, #546e7a, #78909c) !important; color: white !important; } .btn.btn-success, .dt-button.btn-success { background: linear-gradient(135deg, #2e7d32, #43a047) !important; color: white !important; } .btn.btn-danger, .dt-button.btn-danger { background: linear-gradient(135deg, #c62828, #e53935) !important; color: white !important; } .dt-buttons .btn:hover, .dt-button:hover { transform: translateY(-1px) !important; box-shadow: 0 4px 12px rgba(0,0,0,0.18) !important; filter: brightness(1.08) !important; } /* ─── SEARCH INPUTS ────────────────────────────────────────── */ .input-group, .form-control, select.form-control, input.form-control { border-radius: 8px !important; border: 1.5px solid rgba(0, 150, 136, 0.25) !important; transition: all 0.3s ease !important; font-size: 13.5px !important; color: #333 !important; } .form-control:focus, select.form-control:focus { border-color: #00acc1 !important; box-shadow: 0 0 0 3px rgba(0, 172, 193, 0.12) !important; outline: none !important; } /* ─── TABLE ROWS ───────────────────────────────────────────── */ table.dataTable tbody tr { transition: background 0.2s ease; } table.dataTable tbody td { border-bottom: 1px solid rgba(0, 150, 136, 0.08) !important; padding: 6px !important; line-height: 1 !important; font-size: 12px; color: #2d2d2d; vertical-align: middle; } /* DataTable header gradient */ table.dataTable thead th { background: linear-gradient(135deg, #00695c 0%, #00acc1 100%) !important; color: white !important; border-bottom: none !important; font-weight: 600; font-size: 13px; letter-spacing: 0.4px; text-shadow: 0 1px 3px rgba(0,0,0,0.15); } table.dataTable thead th:not(:last-child) { border-right: 1px solid rgba(255,255,255,0.12) !important; } table.dataTable thead th.sorting::before, table.dataTable thead th.sorting::after, table.dataTable thead th.sorting_asc::before, table.dataTable thead th.sorting_desc::after { color: rgba(255,255,255,0.6) !important; opacity: 1 !important; } table.dataTable thead th:not(:last-child) { border-right: 1px solid rgba(255,255,255,0.15) !important; } .form-check-label { font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; font-size: 16px; font-weight: 500; color: #333; margin-left: 4px; } .form-group-modern { position: relative; margin-bottom: 1.5rem; } .form-floating .bi-question-circle { font-size: 1.2rem; color: #6c757d; z-index: 9999 !important; font-size: 0.9rem; opacity: 1 !important; } .form-floating .bi-question-circle:hover { color: #0d6efd; } .form-group-modern input, .form-group-modern textarea { width: 100%; padding: 10px 10px 10px 5px; border: none; border-bottom: 2px solid #ccc; outline: none; background: transparent; transition: all 0.3s ease; } .form-group-modern input:focus, .form-group-modern textarea:focus { border-bottom: 2px solid #00796B; /* teal highlight */ } .form-group-modern label { position: absolute; top: 10px; left: 5px; font-size: 14px; color: #999; pointer-events: none; transition: 0.3s ease all; } .form-group-modern input:focus ~ label, .form-group-modern input:not(:placeholder-shown) ~ label, .form-group-modern textarea:focus ~ label, .form-group-modern textarea:not(:placeholder-shown) ~ label { top: -10px; left: 0; font-size: 12px; color: #00796B; } .btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus { box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb; } .modal-content { -webkit-border-radius: 10px !important; -moz-border-radius: 10px !important; border-radius: 10px !important; } /* ─── MODAL HEADER ─────────────────────────────────────────── */ .modal-header { margin-top: -15px !important; background: linear-gradient(135deg, #00695c 0%, #00acc1 100%); color: white; padding: 16px 20px; border-radius: 8px 8px 0 0; text-align: center; box-shadow: 0 4px 15px rgba(0, 150, 136, 0.3); border-bottom: none; position: relative; overflow: hidden; } .modal-header::before { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 50%; background: linear-gradient(to bottom, rgba(255,255,255,0.12), transparent); pointer-events: none; } .modal-header .modal-title { font-weight: 600; font-size: 1.05rem; letter-spacing: 0.4px; text-shadow: 0 1px 3px rgba(0,0,0,0.2); position: relative; z-index: 1; } .modal-header .close, .modal-header .btn-close { color: white !important; opacity: 0.85; text-shadow: none; position: relative; z-index: 1; transition: opacity 0.2s; } .modal-header .close:hover, .modal-header .btn-close:hover { opacity: 1; } /* ─── SCROLLBAR ────────────────────────────────────────────── */ ::-webkit-scrollbar { width: 6px; height: 6px; } ::-webkit-scrollbar-track { background: #f0fdfa; } ::-webkit-scrollbar-thumb { background: linear-gradient(180deg, #00695c, #00acc1); border-radius: 10px; } ::-webkit-scrollbar-thumb:hover { background: #00897b; } /* Custom CSS to change cart icon color to orange */ .navbar-nav .fa-shopping-cart { color: green; } #itemPictureImage { display: block; margin: 0 auto; } .section-container { margin-bottom: 25px; } /* header-container for all pages */ .header-container { margin-top: -65px !important; background: linear-gradient( 270deg, #004d40, #00695c, #00897b, #00acc1, #00897b, #00695c, #004d40 ); background-size: 300% 100%; animation: gradientShimmer 6s ease infinite; color: white; padding: 22px 20px; border-radius: 12px; text-align: center; box-shadow: 0 6px 20px rgba(0, 150, 136, 0.35); position: relative; overflow: hidden; } @keyframes gradientShimmer { 0% { background-position: 0% 50%; } 50% { background-position: 100% 50%; } 100% { background-position: 0% 50%; } } /* Shining light sweep effect on top of the gradient */ .header-container::before { content: ''; position: absolute; top: 0; left: -100%; width: 60%; height: 100%; background: linear-gradient( 120deg, transparent 0%, rgba(255,255,255,0.08) 40%, rgba(255,255,255,0.18) 50%, rgba(255,255,255,0.08) 60%, transparent 100% ); animation: lightSweep 4s ease-in-out infinite; pointer-events: none; } @keyframes lightSweep { 0% { left: -100%; } 50% { left: 150%; } 100% { left: 150%; } } /* Keep text crisp above animations */ .header-container h1, .header-container h2, .header-container h3, .header-container h4, .header-container h5, .header-container p, .header-container span { font-weight: 700; letter-spacing: 0.5px; text-shadow: 0 2px 6px rgba(0,0,0,0.2); position: relative; z-index: 1; margin: 0; } /* Subtle shine overlay */ .header-container::before { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 50%; background: linear-gradient(to bottom, rgba(255,255,255,0.1), transparent); pointer-events: none; } /* Decorative circle accents */ .header-container::after { content: ''; position: absolute; right: -30px; top: -30px; width: 120px; height: 120px; border-radius: 50%; background: rgba(255,255,255,0.06); pointer-events: none; } .header-container h1, .header-container h2, .header-container h3, .header-container h4, .header-container h5, .header-container p, .header-container span { font-weight: 700; letter-spacing: 0.5px; text-shadow: 0 2px 6px rgba(0,0,0,0.15); position: relative; z-index: 1; margin: 0; } .column-search-container { background-color: #f8f9fa; border-radius: 5px; padding: 10px; margin-bottom: 10px; } .column-search-input { font-size: 0.875rem; } .column-search-container .form-label { margin-bottom: 2px; font-weight: 500; color: #495057; } thead { background-color: teal; color: white; } table { border-collapse: separate; border-spacing: 0; border-radius: 10px; overflow: hidden; } thead th:first-child { border-top-left-radius: 8px; } thead th:last-child { border-top-right-radius: 8px; } tbody tr:last-child td:first-child { border-bottom-left-radius: 8px; } tbody tr:last-child td:last-child { border-bottom-right-radius: 8px; } @media print { * { -webkit-print-color-adjust: exact !important; print-color-adjust: exact !important; } } #itemPictureImage { max-width: 100%; max-height: 350px; /* Adjust height limit to fit your modal */ width: auto; height: auto; object-fit: contain; /* Keeps aspect ratio without cropping */ border-radius: 15px; box-shadow: 0 4px 10px rgba(0,0,0,0.2); } @keyframes ftDots { 0% { content: '.'; } 33% { content: '..'; } 66% { content: '...'; } 100% { content: ''; } }