body { font-family: Arial, sans-serif; margin: 0; padding: 0; background-color: #f4f4f9; } .container { width: 100%; /* Ensure it spans the full width */ margin: 0 auto; /* Center the container */ padding: 0; /* Remove padding */ background: none; /* Remove white background */ border-radius: 0; /* Remove rounded corners */ box-shadow: none; /* Remove shadow */ } .login-page { display: flex; align-items: center; /* Vertically center the content */ justify-content: space-between; /* Space between the logo and the form container */ height: 100vh; /* Full height of the viewport */ background-color: #f4f4f9; padding: 0 20px; /* Add padding to the sides */ } header { padding: 10px 20px; display: flex; justify-content: space-between; align-items: center; border-bottom: 1px solid #ccc; } .header-content { display: flex; justify-content: space-between; width: 100%; align-items: center; } .left-header { display: flex; align-items: center; } .left-header .logo { width: 60px; /* Increased from 50px to 60px (20% larger) */ height: auto; margin-right: 10px; } .left-header .page-title { font-size: 1.5em; font-weight: bold; } .right-header { display: flex; align-items: center; } .right-header .user-info { margin-right: 15px; font-size: 1em; color: #333; } .right-header .logout-button { padding: 5px 10px; font-size: 1em; background-color: #007bff; color: #fff; text-decoration: none; border-radius: 5px; border: none; cursor: pointer; } .right-header .logout-button:hover { background-color: #0056b3; } .logo-container { width: 100%; /* Full width */ text-align: center; margin-bottom: 10px; /* Reduce padding between logo and login container */ } .login-logo { max-height: 90vh; /* Scale the logo to fit the page height */ width: auto; /* Maintain aspect ratio */ } .form-container { width: 600px; /* Fixed width for the login container */ background: #fff; padding: 15px 30px; /* Add padding inside the container */ border-radius: 5px; box-shadow: 0 0 10px rgba(0, 0, 0, 0.1); margin: 0; /* Remove any extra margin */ align-self: center; /* Vertically center the form container */ } .form-container h2 { text-align: center; margin-bottom: 15px; /* Reduce spacing below the title */ } .form-container form { display: flex; flex-direction: column; } .form-container label { margin-bottom: 5px; font-weight: bold; } .form-container input { margin-bottom: 10px; /* Reduce spacing between inputs */ padding: 10px; font-size: 1em; border: 1px solid #ccc; border-radius: 5px; } .form-container button { padding: 10px; font-size: 1em; background-color: #007bff; color: #fff; border: none; border-radius: 5px; cursor: pointer; } .form-container button:hover { background-color: #0056b3; } /* Light mode styles */ body.light-mode { background-color: #f4f4f9; color: #000; } header.light-mode { background-color: #f4f4f9; color: #000; } /* Light mode styles for user info */ body.light-mode .user-info { color: #333; /* Darker text for light mode */ } /* Dark mode styles */ body.dark-mode { background-color: #121212; color: #fff; } header.dark-mode { background-color: #1e1e1e; color: #fff; } /* Dark mode styles for user info */ body.dark-mode .user-info { color: #ccc; /* Lighter text for dark mode */ } /* Hide the header only on the login page */ body.light-mode.login-page header, body.dark-mode.login-page header { display: none; } /* Ensure the header is displayed on other pages */ body.light-mode header, body.dark-mode header { display: flex; } /* Common styles */ .theme-toggle { margin-right: 15px; padding: 5px 10px; font-size: 1em; background-color: #007bff; color: #fff; border: none; border-radius: 5px; cursor: pointer; } .theme-toggle:hover { background-color: #0056b3; } .logout-button { padding: 5px 10px; font-size: 1em; background-color: #007bff; color: #fff; text-decoration: none; border-radius: 5px; border: none; cursor: pointer; } .logout-button:hover { background-color: #0056b3; } /* Card styles for light mode */ body.light-mode .card { background: #fff; color: #000; border: 1px solid #ddd; } /* Card styles for dark mode */ body.dark-mode .card { background: #1e1e1e; color: #fff; border: 1px solid #444; } /* Common card styles */ .card { flex: 1 1 auto; /* Allow cards to grow and shrink */ max-width: none; /* Remove any fixed width */ background: #fff; border-radius: 5px; padding: 20px; box-shadow: 0 0 10px rgba(0, 0, 0, 0.1); text-align: center; } .card h3 { margin-bottom: 20px; font-size: 1.5em; } .card label { display: block; margin-bottom: 5px; font-weight: bold; } .card input { width: 100%; padding: 10px; margin-bottom: 15px; font-size: 1em; border: 1px solid #ccc; border-radius: 5px; } .card button { padding: 10px 20px; font-size: 1em; background-color: #007bff; color: #fff; border: none; border-radius: 5px; cursor: pointer; } .card button:hover { background-color: #0056b3; } .card p { margin-bottom: 20px; color: inherit; /* Inherit text color from the card */ } .card .btn { display: inline-block; padding: 10px 20px; font-size: 1em; color: #fff; background-color: #007bff; text-decoration: none; border-radius: 5px; transition: background-color 0.3s ease; } .card .btn:hover { background-color: #0056b3; } .user-list { list-style: none; padding: 0; margin: 0 0 20px 0; } .user-list li { display: flex; justify-content: space-between; align-items: center; padding: 10px 0; border-bottom: 1px solid #ddd; } .user-name { font-size: 1em; font-weight: bold; } .user-role { font-size: 0.9em; color: #555; margin-left: 10px; } .btn { padding: 5px 10px; font-size: 1em; color: #fff; background-color: #007bff; border: none; border-radius: 5px; cursor: pointer; transition: background-color 0.3s ease; } .btn:hover { background-color: #0056b3; } .create-btn { margin-top: 20px; background-color: #28a745; } .create-btn:hover { background-color: #218838; } .popup { display: none; position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0, 0, 0, 0.5); justify-content: center; align-items: center; } /* Light mode styles for pop-ups */ body.light-mode .popup-content { background: #fff; color: #000; border: 1px solid #ddd; } /* Dark mode styles for pop-ups */ body.dark-mode .popup-content { background: #1e1e1e; color: #fff; border: 1px solid #444; } /* Common styles for pop-ups */ .popup-content { padding: 20px; border-radius: 5px; width: 400px; text-align: center; transition: background-color 0.3s ease, color 0.3s ease, border 0.3s ease; } .popup-content h3 { margin-bottom: 20px; font-size: 1.2em; } .popup-content form { display: flex; flex-direction: column; } .popup-content label { margin-bottom: 5px; font-weight: bold; } .popup-content input, .popup-content select { margin-bottom: 15px; padding: 10px; font-size: 1em; border: 1px solid #ccc; border-radius: 5px; width: 100%; } .popup-content input[readonly] { background-color: #e9ecef; cursor: not-allowed; } .cancel-btn { background-color: #dc3545; } .cancel-btn:hover { background-color: #c82333; } .delete-confirm-btn { background-color: #dc3545; } .delete-confirm-btn:hover { background-color: #c82333; } .go-to-dashboard-btn { margin-left: 10px; padding: 5px 10px; font-size: 1em; background-color: #007bff; color: #fff; text-decoration: none; border-radius: 5px; border: none; cursor: pointer; transition: background-color 0.3s ease; } .go-to-dashboard-btn:hover { background-color: #0056b3; } .form-centered { display: flex; flex-direction: column; align-items: center; margin-bottom: 20px; } .form-centered label { width: 100%; text-align: left; margin-bottom: 5px; font-weight: bold; } .form-centered input { width: 80%; padding: 10px; margin-bottom: 15px; font-size: 1em; border: 1px solid #ccc; border-radius: 5px; } .scan-table { width: 100%; border-collapse: collapse; margin-top: 20px; } .scan-table th, .scan-table td { border: 1px solid #ddd; padding: 8px; text-align: center; } .scan-table th { background-color: #f4f4f4; font-weight: bold; } /* Dark mode styles for the scan table */ body.dark-mode .scan-table { background-color: #1e1e1e; /* Dark background for the table */ color: #fff; /* Light text for better contrast */ } body.dark-mode .scan-table th { background-color: #333; /* Darker background for table headers */ color: #fff; /* Light text for headers */ } body.dark-mode .scan-table td { color: #ddd; /* Slightly lighter text for table cells */ } body.dark-mode .scan-table tr:nth-child(even) { background-color: #2a2a2a; /* Slightly lighter background for even rows */ } body.dark-mode .scan-table tr:nth-child(odd) { background-color: #1e1e1e; /* Match the table background for odd rows */ } /* Container for the cards */ .card-container { display: flex; flex-wrap: wrap; /* Allow wrapping to the next row if needed */ justify-content: center; /* Center the cards horizontally */ gap: 20px; /* Add spacing between the cards */ margin: 20px auto; /* Center the container */ max-width: 1200px; /* Optional: Limit the maximum width of the container */ } /* Container for the scan page */ .scan-container { display: grid; grid-template-columns: 1fr 2fr; /* 1/3 and 2/3 layout */ gap: 20px; /* Add spacing between the columns */ margin: 20px; /* Add 20px space around the container */ max-width: calc(100% - 40px); /* Ensure it spans the full width minus the margin */ width: 100%; /* Ensure it takes the full width */ align-items: flex-start; /* Align items at the top */ overflow-x: hidden; /* Prevent horizontal overflow */ box-sizing: border-box; /* Include padding and borders in width calculations */ border-radius: 5px; /* Optional: Add rounded corners */ box-shadow: 0 0 10px rgba(0, 0, 0, 0.1); /* Optional: Add a subtle shadow */ } /* Input Form Card */ .scan-form-card { background: #fff; border-radius: 5px; padding: 20px; box-shadow: 0 0 10px rgba(0, 0, 0, 0.1); } /* Latest Scans Card */ .scan-table-card { background: #fff; border-radius: 5px; padding: 20px; box-shadow: 0 0 10px rgba(0, 0, 0, 0.1); overflow-x: auto; /* Allow horizontal scrolling for the table */ width: 100%; /* Ensure it takes the full width of its grid column */ max-width: 100%; /* Prevent it from exceeding the container width */ box-sizing: border-box; /* Include padding and borders in width calculations */ } /* Media query for smaller screens */ @media (max-width: 768px) { .scan-container { grid-template-columns: 1fr; /* Stack cards vertically on smaller screens */ } .scan-form-card, .scan-table-card { width: 100%; /* Make both cards take full width */ } } /* Dashboard container */ .dashboard-container { display: flex; flex-wrap: wrap; /* Allow cards to wrap to the next row if needed */ justify-content: space-between; /* Distribute cards evenly */ gap: 20px; /* Add spacing between the cards */ margin: 20px auto; /* Center the container */ max-width: 1200px; /* Optional: Limit the maximum width of the container */ } /* Individual cards for the dashboard */ .dashboard-card { flex: 1 1 calc(33.333% - 20px); /* Each card takes 1/3 of the row, minus the gap */ border: 1px solid #ddd; border-radius: 8px; padding: 16px; text-align: center; box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); background-color: #fff; } /* Ensure cards have consistent height */ .dashboard-card h3 { margin-bottom: 15px; font-size: 1.5em; } .dashboard-card p { margin-bottom: 20px; color: inherit; /* Inherit text color from the card */ } .dashboard-card .btn { display: inline-block; padding: 10px 20px; font-size: 1em; color: #fff; background-color: #007bff; text-decoration: none; border-radius: 5px; transition: background-color 0.3s ease; } .dashboard-card .btn:hover { background-color: #0056b3; } /* Dark mode styles for dashboard cards */ body.dark-mode .dashboard-card { background-color: #333; /* Dark background color */ color: #fff; /* Light text color */ border: 1px solid #444; /* Subtle border for dark mode */ } body.dark-mode .dashboard-card .btn { background-color: #555; /* Darker button background */ color: #fff; /* Light button text */ } body.dark-mode .dashboard-card .btn:hover { background-color: #777; /* Slightly lighter button background on hover */ } /* Responsive design for smaller screens */ @media (max-width: 768px) { .dashboard-card { flex: 1 1 100%; /* Stack cards vertically on smaller screens */ } } /* Style for the export description label */ .export-description { display: block; margin-bottom: 10px; font-size: 1em; font-weight: bold; color: #333; /* Default color for light mode */ } /* Dark mode styles for the export description label */ body.dark-mode .export-description { color: #fefdfd; /* Light color for dark mode */ } /* Style for the container holding the last two buttons */ .form-centered.last-buttons .button-row { display: flex; justify-content: flex-start; /* Align buttons to the left */ gap: 10px; /* Add spacing between the buttons */ } /* Style for the buttons */ .form-centered.last-buttons .btn { padding: 5px 10px; /* Make the buttons smaller */ font-size: 0.9em; /* Reduce the font size */ border-radius: 3px; /* Slightly smaller border radius */ } /* Style for the report-table container */ .report-table-container { max-height: 1000px; /* Set the maximum height */ overflow-y: auto; /* Enable vertical scrolling */ border: 1px solid #ddd; /* Optional: Add a border for better visibility */ margin-top: 10px; /* Optional: Add spacing above the table */ } /* Ensure the table takes full width */ .report-table-container table { width: 100%; /* Make the table take the full width of the container */ border-collapse: collapse; /* Optional: Collapse table borders */ } /* Optional: Add styles for table rows and cells */ .report-table-container th, .report-table-container td { padding: 8px; text-align: left; border: 1px solid #ddd; /* Add borders to table cells */ } /* Reports Grid Layout - Label and Button Side by Side */ .reports-grid { display: flex; flex-direction: column; gap: 8px; /* Reduced spacing between report rows */ margin-bottom: 25px; /* More space before separator */ } .report-column { display: flex; flex-direction: column; gap: 8px; } /* Specific styles for Quality Reports Card ONLY */ .report-form-card .form-centered { display: grid; grid-template-columns: 2fr 1fr; gap: 15px; align-items: center; padding: 6px 0; /* Reduced vertical padding */ } .report-form-card .form-centered .report-description { margin: 0; padding-right: 10px; font-size: 0.85em; /* Smaller text for quality reports */ line-height: 1.3; } .report-form-card .form-centered .btn { margin: 0; white-space: nowrap; font-size: 0.8em; /* Smaller button text for quality reports */ padding: 8px 12px; /* Adjust padding for smaller text */ } /* Keep original form-centered styles for other pages */ .form-centered:not(.report-form-card .form-centered) { display: flex; flex-direction: column; align-items: center; margin: 20px 0; } /* Separator between reports and export section */ .report-separator { width: 100%; height: 2px; background: linear-gradient(to right, #ddd, #999, #ddd); margin: 25px 0 20px 0; /* More space above, good space below */ border-radius: 1px; } /* Export section styling - specific to quality reports */ .export-section { padding-top: 5px; margin-bottom: 15px; /* Add space at bottom of card */ } .report-form-card .export-section .export-description { font-size: 0.85em; /* Smaller export label text */ margin-bottom: 8px; /* Reduced margin */ } .report-form-card .export-section .btn { font-size: 0.8em; /* Smaller export button text */ padding: 8px 12px; } .test-db-btn { background-color: #6c757d !important; /* Gray color for test button */ border-color: #6c757d !important; } .test-db-btn:hover { background-color: #5a6268 !important; border-color: #545b62 !important; } .report-form-card .export-section .form-centered.last-buttons { padding: 5px 0; /* Reduced padding for export section */ } /* Responsive design for Quality Reports Card only */ @media (max-width: 768px) { .report-form-card .form-centered { grid-template-columns: 1fr; gap: 10px; text-align: center; } .report-form-card .form-centered .report-description { padding-right: 0; margin-bottom: 5px; font-size: 0.8em; /* Even smaller on mobile */ } .report-form-card .form-centered .btn { font-size: 0.75em; /* Smaller buttons on mobile */ } } .go-to-main-etichete-btn { background-color: #28a745; /* Green background */ color: #fff; /* White text */ padding: 10px 20px; border-radius: 5px; text-decoration: none; margin-left: 10px; transition: background-color 0.3s ease; } .go-to-main-etichete-btn:hover { background-color: #218838; /* Darker green on hover */ } .draggable-field { cursor: move; padding: 5px; background-color: #f9f9f9; border: 1px solid #ddd; border-radius: 4px; text-align: center; user-select: none; } .draggable-field.dragging { opacity: 0.5; } .label-preview-container { display: flex; justify-content: center; /* Center horizontally */ align-items: center; /* Center vertically */ height: 100%; /* Full height of the parent container */ position: relative; /* Ensure proper positioning */ } #label-preview { border: 1px solid #ddd; padding: 10px; min-height: 400px; position: relative; background-color: #f8f9fa; /* Light gray background */ box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); /* Subtle shadow for better visibility */ } /* Calendar Modal Styles */ .modal { display: none; position: fixed; z-index: 1000; left: 0; top: 0; width: 100%; height: 100%; background-color: rgba(0,0,0,0.5); } .modal-content { background-color: #ffffff; margin: 5% auto; padding: 0; border-radius: 8px; width: 400px; max-width: 90%; box-shadow: 0 4px 20px rgba(0,0,0,0.3); border: 1px solid #ddd; } .modal-header { display: flex; justify-content: space-between; align-items: center; padding: 15px 20px; background-color: #f4f4f9; border-radius: 8px 8px 0 0; border-bottom: 1px solid #ddd; } .modal-header h4 { margin: 0; color: #333; font-size: 1.2em; } .close-modal { font-size: 24px; font-weight: bold; cursor: pointer; color: #666; line-height: 1; transition: color 0.2s ease; } .close-modal:hover { color: #333; } .modal-body { padding: 20px; background-color: #ffffff; } .modal-footer { display: flex; justify-content: flex-end; gap: 10px; padding: 15px 20px; border-top: 1px solid #ddd; border-radius: 0 0 8px 8px; background-color: #f4f4f9; } /* Dark Mode Support for Calendar Modal */ body.dark-mode .modal-content { background-color: #2c2c2c; border: 1px solid #555; } body.dark-mode .modal-header { background-color: #1e1e1e; border-bottom: 1px solid #555; } body.dark-mode .modal-header h4 { color: #fff; } body.dark-mode .close-modal { color: #ccc; } body.dark-mode .close-modal:hover { color: #fff; } body.dark-mode .modal-body { background-color: #2c2c2c; } body.dark-mode .modal-footer { background-color: #1e1e1e; border-top: 1px solid #555; } /* Modal Button Styling */ .modal-footer .btn { padding: 8px 16px; font-size: 0.9em; border-radius: 4px; border: none; cursor: pointer; transition: all 0.2s ease; } .modal-footer .btn-primary { background-color: #007bff; color: white; } .modal-footer .btn-primary:hover { background-color: #0056b3; } .modal-footer .btn-primary:disabled { background-color: #6c757d; cursor: not-allowed; opacity: 0.6; } .modal-footer .btn-secondary { background-color: #6c757d; color: white; } .modal-footer .btn-secondary:hover { background-color: #545b62; } /* Dark Mode Modal Buttons */ body.dark-mode .modal-footer .btn-primary { background-color: #007bff; } body.dark-mode .modal-footer .btn-primary:hover { background-color: #0056b3; } body.dark-mode .modal-footer .btn-secondary { background-color: #6c757d; } body.dark-mode .modal-footer .btn-secondary:hover { background-color: #545b62; } /* Date Range Modal Styles */ .date-range-container { padding: 20px 0; } .date-input-group { margin-bottom: 20px; } .date-input-group label { display: block; font-weight: 600; margin-bottom: 8px; color: #333; font-size: 0.95em; } .date-input { width: 100%; padding: 12px 15px; border: 2px solid #ddd; border-radius: 8px; font-size: 1em; background-color: #fff; transition: border-color 0.3s ease; box-sizing: border-box; } .date-input:focus { outline: none; border-color: #007bff; box-shadow: 0 0 0 3px rgba(0, 123, 255, 0.1); } .date-help { display: block; font-size: 0.8em; color: #666; margin-top: 5px; font-style: italic; } /* Dark mode styles for date range modal */ body.dark-mode .date-input-group label { color: #e0e0e0; } body.dark-mode .date-input { background-color: #2d3748; border-color: #4a5568; color: #e0e0e0; } body.dark-mode .date-input:focus { border-color: #63b3ed; box-shadow: 0 0 0 3px rgba(99, 179, 237, 0.1); } body.dark-mode .date-help { color: #a0aec0; } /* Calendar Styles */ .calendar-container { width: 100%; } .calendar-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 15px; } .calendar-header h3 { margin: 0; color: #333; font-size: 1.1em; } .calendar-nav { background-color: #f4f4f9; border: 1px solid #ddd; border-radius: 4px; padding: 8px 12px; cursor: pointer; font-size: 14px; color: #333; transition: all 0.2s ease; } .calendar-nav:hover { background-color: #007bff; color: white; border-color: #007bff; } .calendar-grid { width: 100%; } .calendar-weekdays { display: grid; grid-template-columns: repeat(7, 1fr); gap: 2px; margin-bottom: 5px; } .calendar-weekdays div { padding: 8px 4px; text-align: center; font-weight: bold; font-size: 0.85em; color: #666; background-color: #f4f4f9; border-radius: 4px; } .calendar-days { display: grid; grid-template-columns: repeat(7, 1fr); gap: 2px; } .calendar-day { padding: 10px 4px; text-align: center; cursor: pointer; border-radius: 4px; font-size: 0.9em; min-height: 35px; display: flex; align-items: center; justify-content: center; transition: all 0.2s ease; background-color: #ffffff; border: 1px solid transparent; } .calendar-day:hover { background-color: #e9ecef; border-color: #007bff; } .calendar-day.other-month { color: #ccc; background-color: #f8f9fa; } .calendar-day.today { background-color: #007bff; color: white; font-weight: bold; } .calendar-day.selected { background-color: #28a745; color: white; font-weight: bold; } .calendar-day.selected:hover { background-color: #218838; } /* Dark Mode Calendar Styles */ body.dark-mode .calendar-header h3 { color: #fff; } body.dark-mode .calendar-nav { background-color: #3c3c3c; border-color: #555; color: #fff; } body.dark-mode .calendar-nav:hover { background-color: #007bff; border-color: #007bff; } body.dark-mode .calendar-weekdays div { background-color: #3c3c3c; color: #ccc; } body.dark-mode .calendar-day { background-color: #2c2c2c; color: #fff; } body.dark-mode .calendar-day:hover { background-color: #444; border-color: #007bff; } body.dark-mode .calendar-day.other-month { color: #666; background-color: #333; } body.dark-mode .calendar-day.today { background-color: #007bff; color: white; } body.dark-mode .calendar-day.selected { background-color: #28a745; color: white; } /* Responsive Calendar */ @media (max-width: 480px) { .modal-content { margin: 10% auto; width: 95%; } .calendar-day { min-height: 30px; font-size: 0.8em; } }