html,body {
height: 100%;
background: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%);
}
body {
margin: 0;
font-family: 'Inter', 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
font-weight: 400;
line-height: 1.6;
color: #333;
}
button:hover {
cursor: pointer;
transition: all 0.3s ease;
}
.image-container {
height: 20px;
}
/* For magnifying glass image only */
.glass {
border: 1px solid #ddd;
border-radius: 50%;
padding: 2px;
}
h2 {
margin: 0;
font-weight: 600;
color: #252D3C;
letter-spacing: -0.5px;
}
section {
/* Sections are already hidden to prevent funny business when loading page */
display: none;
background: white;
margin-left: 3.5%;
width: 95%;
height: auto;
height: 85%;
margin-top: 1%;
border-radius: 12px;
box-shadow: 0 4px 20px rgba(37, 45, 60, 0.1);
padding: 24px;
box-sizing: border-box;
}
/* Companies and students */
.add-btn-container {
width: 93%;
margin-bottom: 20px;
}
.nameSearch {
background-color: inherit;
border: none;
height: 96%;
width: 85%;
border-right: 1px solid #e0e6ed;
border-radius: inherit;
padding: 0 12px;
font-size: 14px;
}
.filterAction {
background-color: inherit;
border: none;
height: 100%;
padding: 8px 12px;
color: #252D3C;
}
.filter {
border: 1px solid #e0e6ed;
margin-left: 3.5%;
margin-bottom: 20px;
border-radius: 8px;
height: 48px;
width: 320px;
display: flex;
flex-direction: row;
background: white;
box-shadow: 0 2px 8px rgba(37, 45, 60, 0.08);
}
/* For appointments */
.hidden {
display: none;
}
/* For adding to company */
.addUser {
width: 500px;
max-width: 90%;
margin: 0 auto;
background: linear-gradient(145deg, #ffffff 0%, #f8f9fa 100%);
border-radius: 16px;
box-shadow: 0 8px 32px rgba(37, 45, 60, 0.12);
padding: 32px;
}
.useradd-label {
margin-top: 0;
font-size: 24px;
text-align: center;
font-weight: 600;
color: #252D3C;
margin-bottom: 24px;
}
.add {
border: none;
font-weight: 600;
background: linear-gradient(135deg, #252D3C 0%, #365B93 100%);
color: white;
padding: 12px 24px;
border-radius: 8px;
margin-left: auto;
display: block;
transition: all 0.3s ease;
font-size: 14px;
}
.add:hover {
transform: translateY(-2px);
box-shadow: 0 4px 16px rgba(37, 45, 60, 0.3);
}
form {
display: flex;
flex-direction: column;
gap: 16px;
}
.back {
border: none;
background: transparent;
font-weight: 600;
color: #252D3C;
padding: 8px 16px;
border-radius: 6px;
transition: all 0.3s ease;
font-size: 14px;
margin-bottom: 16px;
}
.back:hover {
background: rgba(37, 45, 60, 0.1);
}
.addInput {
border: 2px solid #e0e6ed;
border-radius: 8px;
background: white;
box-sizing: border-box;
padding: 14px 16px;
font-size: 14px;
transition: all 0.3s ease;
font-family: inherit;
}
.addInput:focus {
outline: none;
border-color: #365B93;
box-shadow: 0 0 0 3px rgba(54, 91, 147, 0.1);
}
.save-container {
margin-top: 24px;
}
.save {
background: linear-gradient(135deg, #252D3C 0%, #365B93 100%);
color: white;
font-weight: 600;
border: none;
border-radius: 8px;
padding: 14px 32px;
font-size: 16px;
cursor: pointer;
transition: all 0.3s ease;
width: 100%;
}
.save:hover {
transform: translateY(-2px);
box-shadow: 0 6px 20px rgba(37, 45, 60, 0.3);
}
/* Table */
table {
width: 100%;
border-collapse: collapse;
background: white;
border-radius: 12px;
overflow: hidden;
box-shadow: 0 4px 16px rgba(37, 45, 60, 0.08);
}
.list {
background: white;
overflow: auto;
height: 100%;
border-radius: 12px;
}
li {
margin-bottom: 8px;
}
th {
font-style: normal;
text-align: center;
background: linear-gradient(135deg, #252D3C 0%, #365B93 100%);
color: white;
padding: 16px 12px;
font-weight: 600;
font-size: 14px;
letter-spacing: 0.5px;
border: none;
}
.th-short {
width: 5%;
background: linear-gradient(135deg, #252D3C 0%, #365B93 100%);
}
/* Here to change the size of some headers */
.extraTh {
width: 5%;
}
.loginTh {
width: 15%;
}
.mailTh {
width: 25%;
}
.extraTd {
text-align: center;
}
tr {
border: none;
transition: all 0.3s ease;
}
tr:nth-child(even) {
background: #f8f9fa;
}
tr:hover {
background: rgba(54, 91, 147, 0.05);
transform: translateY(-1px);
box-shadow: 0 2px 8px rgba(37, 45, 60, 0.1);
}
.highlighted {
border: 2px solid #e74c3c;
background: rgba(231, 76, 60, 0.05);
}
td {
height: 60px;
padding: 12px;
border: none;
font-size: 14px;
color: #555;
}
.studentActivated {
width: min-content;
}
.searchable {
height: 76%;
margin-left: 3.5%;
}
#appointments {
height: 96.1%;
}
.searchable-content {
width: 80%;
background: white;
}
#main-container {
margin: 20px auto;
max-width: 1400px;
border-radius: 16px;
display: flex;
flex-direction: row;
height: calc(100vh - 40px);
box-shadow: 0 8px 32px rgba(37, 45, 60, 0.15);
overflow: hidden;
background: white;
}
/* NAVIGATION ELEMENTS----------------- */
.nav-container {
height: 100%;
width: 280px;
min-width: 280px;
display: flex;
flex-direction: column;
color: white;
background: linear-gradient(180deg, #252D3C 0%, #1a202c 100%);
font-family: inherit;
padding: 24px 0;
box-sizing: border-box;
}
/* Nav element is both info-nav and btn-nav */
.nav-element {
margin: 0 20px;
}
.info-nav {
font-size: 20px;
font-weight: 700;
margin-bottom: 32px;
text-align: center;
letter-spacing: 1px;
}
.btn-nav {
border: none;
height: 48px;
width: calc(100% - 40px);
margin: 4px 20px;
background: transparent;
color: white;
font-size: 15px;
border-radius: 12px;
transition: all 0.3s ease;
text-align: left;
padding: 0 16px;
font-weight: 500;
}
.btn-nav:hover {
background: rgba(54, 91, 147, 0.8);
transform: translateX(4px);
box-shadow: 0 4px 12px rgba(54, 91, 147, 0.3);
}
.btn-nav:active {
background: #365B93;
}
#logout {
border: none;
margin: 20px;
padding: 12px 20px;
background: linear-gradient(135deg, #e74c3c 0%, #c0392b 100%);
color: white;
border-radius: 8px;
font-weight: 600;
transition: all 0.3s ease;
}
#logout:hover {
background: linear-gradient(135deg, #c0392b 0%, #a93226 100%);
transform: translateY(-2px);
box-shadow: 0 4px 12px rgba(231, 76, 60, 0.3);
}
/* Right navigation elements */
.amount-section {
border: none;
height: auto;
width: calc(100% - 40px);
margin: 12px 20px;
background: linear-gradient(135deg, #ffffff 0%, #f8f9fa 100%);
color: #252D3C;
font-size: 14px;
border-radius: 12px;
padding: 16px;
box-shadow: 0 2px 8px rgba(255, 255, 255, 0.1);
transition: all 0.3s ease;
}
.amount-section:hover {
transform: translateY(-2px);
box-shadow: 0 4px 16px rgba(255, 255, 255, 0.2);
}
.section-inside {
height: 100%;
text-align: center;
}
.section-inside span:first-child {
font-size: 24px;
font-weight: 700;
color: #365B93;
display: block;
margin-bottom: 4px;
}
.section-inside span:last-child {
font-size: 12px;
font-weight: 500;
text-transform: uppercase;
letter-spacing: 0.5px;
color: #666;
}
/* RESULT ELEMENTS--------------------- */
#result-container {
margin-left: 0;
width: 100%;
flex: 1;
height: 100%;
background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
padding: 24px;
box-sizing: border-box;
overflow-y: auto;
}
#create:hover {
cursor: pointer;
}
h2 {
padding: 0 0 24px 0;
font-size: 28px;
font-weight: 700;
color: #252D3C;
border-bottom: 3px solid #365B93;
display: inline-block;
margin-bottom: 32px;
}
.member-amount {
display: flex;
flex-direction: column;
margin-left: 5%;
}
/* Students and companies */
.studentId {
display: none;
}
.extraActions {
height: 20px;
width: 20px;
opacity: 0.7;
transition: all 0.3s ease;
margin: 0 4px;
border-radius: 4px;
}
.extraActions:hover {
cursor: pointer;
opacity: 1;
transform: scale(1.1);
}
/* LOGS */
#logs {
height: 82%;
}
#form-container {
display: flex;
justify-content: space-between;
background: white;
border-top: 1px solid #e0e6ed;
padding: 16px 24px;
border-radius: 0 0 12px 12px;
}
.logItem {
margin: 0;
padding: 16px 24px;
width: 100%;
display: flex;
flex-direction: row;
border: 1px solid #e0e6ed;
margin-bottom: 8px;
border-radius: 8px;
background: white;
transition: all 0.3s ease;
}
.logItem:hover {
background: #f8f9fa;
transform: translateY(-1px);
box-shadow: 0 2px 8px rgba(37, 45, 60, 0.1);
}
.logAction {
width: 60%;
font-weight: 500;
color: #252D3C;
}
.logDate {
width: 40%;
color: #666;
font-size: 14px;
}
#next-log-form, #prev-log-form {
width: auto;
}
#next-log-form input[type="submit"],
#prev-log-form input[type="submit"] {
background: linear-gradient(135deg, #252D3C 0%, #365B93 100%);
color: white;
border: none;
padding: 10px 20px;
border-radius: 6px;
font-weight: 600;
cursor: pointer;
transition: all 0.3s ease;
}
#next-log-form input[type="submit"]:hover,
#prev-log-form input[type="submit"]:hover {
transform: translateY(-2px);
box-shadow: 0 4px 12px rgba(37, 45, 60, 0.3);
}
select {
border: 2px solid #e0e6ed;
border-radius: 6px;
padding: 8px 12px;
background: white;
font-family: inherit;
}
select:focus {
outline: none;
border-color: #365B93;
box-shadow: 0 0 0 3px rgba(54, 91, 147, 0.1);
}
#events {
border: none;
}
.eventSearch {
width: 90%;
}
/* Extra, when the admin wants to check extra info of a user */
#extra-container {
/* starts off undisplayed */
display: none;
position: fixed;
margin: 0;
left: 0;
top: 0;
width: 100%;
height: 100%;
z-index: 1000;
background: rgba(37, 45, 60, 0.8);
backdrop-filter: blur(4px);
}
/* Button for removing popups */
#removePopupButton {
position: absolute;
width: 32px;
height: 32px;
top: 16px;
right: 16px;
background: #e74c3c;
color: white;
border: none;
border-radius: 50%;
font-size: 18px;
font-weight: bold;
cursor: pointer;
transition: all 0.3s ease;
}
#removePopupButton:hover {
background: #c0392b;
transform: scale(1.1);
}
#extra-message-container {
position: absolute;
left: 50%;
top: 50%;
transform: translate(-50%, -50%);
width: 500px;
max-width: 90%;
max-height: 80%;
background: white;
overflow: auto;
border-radius: 16px;
box-shadow: 0 20px 60px rgba(37, 45, 60, 0.3);
padding: 32px;
}
#extra-message {
text-align: center;
margin: 0 0 24px 0;
color: #252D3C;
font-size: 16px;
line-height: 1.6;
}
.tempForm {
display: none;
}
#abortAction,
#deletionForm input[type="submit"] {
background: linear-gradient(135deg, #252D3C 0%, #365B93 100%);
color: white;
border: none;
padding: 12px 24px;
border-radius: 8px;
font-weight: 600;
cursor: pointer;
transition: all 0.3s ease;
margin: 8px;
}
#abortAction:hover,
#deletionForm input[type="submit"]:hover {
transform: translateY(-2px);
box-shadow: 0 4px 16px rgba(37, 45, 60, 0.3);
}
#abortAction {
background: linear-gradient(135deg, #6c757d 0%, #495057 100%);
}
#abortAction:hover {
background: linear-gradient(135deg, #495057 0%, #343a40 100%);
}
/* Responsive Design */
@media (max-width: 1200px) {
#main-container {
margin: 10px;
height: calc(100vh - 20px);
}
.nav-container {
width: 250px;
min-width: 250px;
}
}
@media (max-width: 768px) {
#main-container {
flex-direction: column;
height: auto;
min-height: calc(100vh - 20px);
}
.nav-container {
width: 100%;
height: auto;
padding: 16px 0;
}
.nav-element {
margin: 0 16px;
}
.btn-nav {
margin: 4px 16px;
width: calc(100% - 32px);
}
.amount-section {
margin: 8px 16px;
width: calc(100% - 32px);
}
#result-container {
padding: 16px;
}
.addUser {
width: 100%;
padding: 24px 16px;
}
.filter {
width: calc(100% - 32px);
margin-left: 16px;
}
section {
margin-left: 0;
width: 100%;
padding: 16px;
}
}