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 wrapping 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 */ } /* Full-width card for the dashboard */ .dashboard-full-width-card { flex: 0 0 100%; /* Take up the full width of the container */ text-align: center; padding: 20px; border-radius: 5px; box-shadow: 0 0 10px rgba(0, 0, 0, 0.1); transition: background-color 0.3s ease, color 0.3s ease, box-shadow 0.3s ease; } /* Individual cards for the dashboard */ .dashboard-card { flex: 1 1 calc(25% - 20px); /* Ensure cards are evenly distributed */ padding: 20px; border-radius: 5px; box-shadow: 0 0 10px rgba(0, 0, 0, 0.1); text-align: center; transition: background-color 0.3s ease, color 0.3s ease, box-shadow 0.3s ease; } /* Light mode styles for dashboard cards */ body.light-mode .dashboard-card, body.light-mode .dashboard-full-width-card { background: #fff; color: #000; border: 1px solid #ddd; } /* Dark mode styles for dashboard cards */ body.dark-mode .dashboard-card, body.dark-mode .dashboard-full-width-card { background: #1e1e1e; color: #fff; border: 1px solid #444; } /* 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; } /* Responsive design for smaller screens */ @media (max-width: 768px) { .dashboard-card { flex: 1 1 100%; /* Stack cards vertically on smaller screens */ } .dashboard-full-width-card { flex: 1 1 100%; /* Ensure the full-width card spans the entire width */ } } /* 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 */ }