317 lines
7.1 KiB
CSS
317 lines
7.1 KiB
CSS
/* General Body and Container Styles */
|
|
body {
|
|
font-family: Arial, Helvetica, sans-serif;
|
|
margin: 0;
|
|
padding: 0;
|
|
background-color: #f4f4f4;
|
|
color: #333;
|
|
line-height: 1.6;
|
|
}
|
|
|
|
.container {
|
|
width: 90%;
|
|
max-width: 1200px;
|
|
margin: 20px auto;
|
|
background-color: #fff;
|
|
padding: 20px;
|
|
border-radius: 8px;
|
|
box-shadow: 0 0 15px rgba(0, 0, 0, 0.1);
|
|
}
|
|
|
|
/* Navigation Links */
|
|
.nav-links {
|
|
background-color: #e9ecef;
|
|
padding: 10px 15px;
|
|
margin-bottom: 25px;
|
|
border-radius: 5px;
|
|
display: flex;
|
|
justify-content: space-between;
|
|
align-items: center;
|
|
}
|
|
|
|
.nav-links a {
|
|
margin-right: 15px;
|
|
text-decoration: none;
|
|
color: #007bff;
|
|
font-weight: bold;
|
|
padding: 5px 0;
|
|
}
|
|
.nav-links a:hover {
|
|
text-decoration: underline;
|
|
}
|
|
.nav-links .logout-link { /* Specific class for logout if needed for positioning */
|
|
margin-left: auto; /* Pushes logout to the right */
|
|
}
|
|
|
|
|
|
/* Headings */
|
|
h1, h2, h3, h4, h5, h6 {
|
|
color: #333;
|
|
margin-top: 0;
|
|
margin-bottom: 0.75em;
|
|
}
|
|
h1 { font-size: 2em; margin-bottom: 1em; }
|
|
h2 { font-size: 1.75em; border-bottom: 1px solid #eee; padding-bottom: 0.3em; margin-top: 1.5em; }
|
|
h3 { font-size: 1.5em; margin-top: 1.25em;}
|
|
|
|
/* Tables */
|
|
table {
|
|
width: 100%;
|
|
border-collapse: collapse;
|
|
margin-bottom: 25px;
|
|
}
|
|
|
|
th, td {
|
|
padding: 12px 15px; /* Increased padding */
|
|
border: 1px solid #ddd;
|
|
text-align: left;
|
|
word-break: break-word; /* Keep this for long strings */
|
|
}
|
|
|
|
th {
|
|
background-color: #f0f0f0;
|
|
font-weight: bold;
|
|
}
|
|
|
|
tbody tr:nth-child(odd) {
|
|
background-color: #f9f9f9; /* Subtle striping for readability */
|
|
}
|
|
tbody tr:hover {
|
|
background-color: #f1f1f1; /* Hover effect for rows */
|
|
}
|
|
|
|
/* Actions in tables */
|
|
.actions a, .actions button {
|
|
margin-right: 8px;
|
|
text-decoration: none;
|
|
color: #007bff;
|
|
border: none;
|
|
background: none;
|
|
cursor: pointer;
|
|
padding: 5px;
|
|
font-size: 0.9em;
|
|
display: inline-block; /* Align items better */
|
|
vertical-align: middle;
|
|
}
|
|
.actions a:hover, .actions button:hover {
|
|
text-decoration: underline;
|
|
}
|
|
|
|
.actions button.delete,
|
|
.actions button.reject {
|
|
color: #dc3545;
|
|
}
|
|
.actions button.delete:hover,
|
|
.actions button.reject:hover {
|
|
color: #a71d2a;
|
|
}
|
|
|
|
.actions button.approve {
|
|
color: #28a745;
|
|
}
|
|
.actions button.approve:hover {
|
|
color: #1c7430;
|
|
}
|
|
|
|
/* Forms */
|
|
.form-group {
|
|
margin-bottom: 20px;
|
|
}
|
|
|
|
.form-group label {
|
|
display: block;
|
|
margin-bottom: 8px; /* Increased spacing */
|
|
font-weight: bold;
|
|
color: #555;
|
|
}
|
|
|
|
.form-group input[type="text"],
|
|
.form-group input[type="password"],
|
|
.form-group input[type="checkbox"],
|
|
.form-group textarea,
|
|
.form-group select {
|
|
width: 100%; /* Full width */
|
|
padding: 10px;
|
|
border: 1px solid #ccc;
|
|
border-radius: 4px;
|
|
box-sizing: border-box; /* Important for width: 100% and padding */
|
|
}
|
|
.form-group input[type="checkbox"] {
|
|
width: auto; /* Checkboxes shouldn't be full width */
|
|
margin-right: 5px;
|
|
vertical-align: middle;
|
|
}
|
|
.form-group label input[type="checkbox"] { /* For labels wrapping checkboxes */
|
|
margin-right: 8px;
|
|
}
|
|
|
|
|
|
.form-group textarea {
|
|
min-height: 100px;
|
|
resize: vertical; /* Allow vertical resize */
|
|
}
|
|
.form-group select {
|
|
appearance: none; /* Basic reset for select */
|
|
background-image: url('data:image/svg+xml;charset=US-ASCII,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M5%208l5%205%205-5z%22%20fill%3D%22%23555%22%2F%3E%3C%2Fsvg%3E');
|
|
background-repeat: no-repeat;
|
|
background-position: right 10px center;
|
|
background-size: 12px;
|
|
padding-right: 30px; /* Make space for arrow */
|
|
}
|
|
|
|
.form-group input[readonly], .form-group textarea[readonly] {
|
|
background-color: #e9ecef;
|
|
cursor: not-allowed;
|
|
}
|
|
.form-control-plaintext { /* From Bootstrap for readonly fields that look like text */
|
|
display: block;
|
|
width: 100%;
|
|
padding-top: .375rem;
|
|
padding-bottom: .375rem;
|
|
margin-bottom: 0;
|
|
line-height: 1.5;
|
|
background-color: transparent;
|
|
border: solid transparent;
|
|
border-width: 1px 0;
|
|
box-sizing: border-box;
|
|
}
|
|
|
|
|
|
/* Buttons */
|
|
.btn {
|
|
padding: 10px 18px; /* Slightly adjusted padding */
|
|
background-color: #007bff;
|
|
color: white;
|
|
border: none;
|
|
border-radius: 4px;
|
|
cursor: pointer;
|
|
text-decoration: none;
|
|
display: inline-block;
|
|
font-size: 0.95em;
|
|
transition: background-color 0.2s ease-in-out;
|
|
}
|
|
.btn:hover {
|
|
background-color: #0056b3;
|
|
color: white; /* Ensure text color remains on hover */
|
|
text-decoration: none;
|
|
}
|
|
|
|
.btn-danger {
|
|
background-color: #dc3545;
|
|
}
|
|
.btn-danger:hover {
|
|
background-color: #c82333;
|
|
}
|
|
|
|
.btn-secondary {
|
|
background-color: #6c757d;
|
|
}
|
|
.btn-secondary:hover {
|
|
background-color: #545b62;
|
|
}
|
|
|
|
.btn-success { /* Added success button style */
|
|
background-color: #28a745;
|
|
}
|
|
.btn-success:hover {
|
|
background-color: #1e7e34;
|
|
}
|
|
|
|
|
|
/* Alerts */
|
|
.alert {
|
|
padding: 15px; /* Increased padding */
|
|
margin-bottom: 20px;
|
|
border-radius: 4px;
|
|
border: 1px solid transparent; /* Base for border */
|
|
position: relative;
|
|
}
|
|
|
|
.alert-success {
|
|
background-color: #d4edda;
|
|
color: #155724;
|
|
border-color: #c3e6cb;
|
|
}
|
|
|
|
.alert-error {
|
|
background-color: #f8d7da;
|
|
color: #721c24;
|
|
border-color: #f5c6cb;
|
|
}
|
|
|
|
.alert-info { /* Added info alert style */
|
|
background-color: #cce5ff;
|
|
color: #004085;
|
|
border-color: #b8daff;
|
|
}
|
|
|
|
|
|
/* Utility Classes */
|
|
.mono { /* For monospace text, like client IDs */
|
|
font-family: 'Courier New', Courier, monospace;
|
|
background-color: #e9ecef;
|
|
padding: 3px 6px; /* Adjusted padding */
|
|
border-radius: 3px;
|
|
font-size: 0.9em;
|
|
}
|
|
|
|
.small-text {
|
|
font-size: 0.85em;
|
|
color: #555;
|
|
}
|
|
|
|
.text-danger { /* For error text not in an alert */
|
|
color: #dc3545;
|
|
}
|
|
|
|
.text-muted {
|
|
color: #6c757d;
|
|
}
|
|
|
|
.mb-1 { margin-bottom: 0.25rem !important; }
|
|
.mb-2 { margin-bottom: 0.5rem !important; }
|
|
.mb-3 { margin-bottom: 1rem !important; }
|
|
.mt-1 { margin-top: 0.25rem !important; }
|
|
.mt-2 { margin-top: 0.5rem !important; }
|
|
.mt-3 { margin-top: 1rem !important; }
|
|
.ml-1 { margin-left: 0.25rem !important; }
|
|
.ml-2 { margin-left: 0.5rem !important; }
|
|
.mr-1 { margin-right: 0.25rem !important; }
|
|
.mr-2 { margin-right: 0.5rem !important; }
|
|
|
|
/* For inline forms like in table actions */
|
|
.form-inline {
|
|
display: inline-block;
|
|
vertical-align: middle;
|
|
margin-right: 5px; /* Add some space between inline forms/buttons */
|
|
}
|
|
.form-inline button {
|
|
padding: 5px 8px; /* Smaller padding for inline buttons */
|
|
}
|
|
|
|
/* Specific section styling */
|
|
.settings-section, .section-divider {
|
|
margin-top: 30px;
|
|
margin-bottom: 30px;
|
|
padding-top: 20px;
|
|
border-top: 1px solid #eee;
|
|
}
|
|
.settings-section h3 {
|
|
margin-top: 0; /* Reset top margin for h3 within this section */
|
|
}
|
|
|
|
/* Checkbox list styling for group management */
|
|
.checkbox-list div {
|
|
margin-bottom: 8px;
|
|
}
|
|
.checkbox-list label { /* Target labels next to checkboxes */
|
|
font-weight: normal; /* Override bold from .form-group label */
|
|
margin-left: 5px;
|
|
}
|
|
|
|
hr {
|
|
margin: 30px 0;
|
|
border: 0;
|
|
border-top: 1px solid #eee;
|
|
}
|