/* Prosty reset */ * { box-sizing: border-box; margin: 0; padding: 0; } body { font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif; background: linear-gradient(120deg, #f3f9ff, #ddefff); min-height: 100vh; display: flex; flex-direction: column; align-items: stretch; transition: background 0.3s ease, color 0.3s ease; } @keyframes fadeIn { from { opacity: 0; transform: translateY(15px); } to { opacity: 1; transform: translateY(0); } } /* ------- HEADER ------- */ header { background-color: #72a6ff; color: #fff; padding: 10px 20px; display: flex; justify-content: flex-end; /* przycisk w prawym górnym rogu */ align-items: center; } header button { background-color: #72a6ff; color: #fff; border: 1px solid #fff; border-radius: 8px; font-size: 14px; padding: 8px 16px; cursor: pointer; transition: background 0.3s, transform 0.2s; } header button:hover { background-color: #5e90e7; transform: scale(1.03); } /* ------- SEKCJA LOGOWANIA ------- */ .section { display: none; /* Ukryte domyślnie */ padding: 20px; flex: 1; } #loginSection { display: block; /* Widoczna na starcie */ background-color: #ffffff; max-width: 400px; width: 90%; max-height: 400px; height: 100%; padding: 20px 20px; border-radius: 12px; box-shadow: 0 12px 24px rgba(0, 0, 0, 0.15); animation: fadeIn 0.6s ease; text-align: center; margin: 80px auto 20px auto; /* margines, by nie wchodzić na header */ transition: background-color 0.3s ease, color 0.3s ease; } #loginSection h1 { margin-bottom: 15px; color: #333; transition: color 0.3s ease; } #loginForm label { display: block; margin: 10px 0 5px 0; color: #444; transition: color 0.3s ease; } #loginForm input { width: 100%; padding: 12px; margin-bottom: 15px; border: 1px solid #ccc; border-radius: 8px; font-size: 16px; transition: border-color 0.3s, background-color 0.3s, color 0.3s; } #loginForm input:focus { border-color: #72a6ff; outline: none; } #loginForm button { padding: 14px 24px; border: none; border-radius: 8px; font-size: 16px; cursor: pointer; background: #72a6ff; color: #fff; font-weight: 600; letter-spacing: 1px; transition: background 0.3s, transform 0.2s; margin-top: 10px; width: 100%; } #loginForm button:hover { background: #5e90e7; transform: scale(1.02); } #loginError { margin-top: 10px; color: red; font-weight: 500; transition: color 0.3s ease; } /* ------- PRZYCISKI REJESTRACJI ------- */ #showRegisterFormBtn { padding: 14px 24px; border: none; border-radius: 8px; font-size: 16px; cursor: pointer; color: white; font-weight: bold; transition: background 0.3s, transform 0.2s; margin-top: 10px; display: block; /* Centrowanie */ width: 100%; /* Dostosowanie rozmiaru */ } #showRegisterFormBtn:hover { transform: scale(1.02); } /* ------- SEKCJA REJESTRACJI ------- */ #registerSection { display: none; /* Ukryte domyślnie */ background-color: #ffffff; max-width: 400px; max-height: 450px; height: 90%; width: 90%; padding: 30px 20px; border-radius: 12px; box-shadow: 0 12px 24px rgba(0, 0, 0, 0.15); animation: fadeIn 0.6s ease; text-align: center; margin: 80px auto 20px auto; transition: background-color 0.3s ease, color 0.3s ease; } #registerSection h1 { margin-bottom: 20px; color: #333; transition: color 0.3s ease; } #registerForm label { display: block; margin: 10px 0 5px 0; color: #444; transition: color 0.3s ease; } #registerForm input { width: 100%; padding: 12px; margin-bottom: 15px; border: 1px solid #ccc; border-radius: 8px; font-size: 16px; transition: border-color 0.3s, background-color 0.3s, color 0.3s; } #registerForm input:focus { border-color: #28a745; outline: none; } #registerForm button[type="submit"] { padding: 14px 24px; border: none; border-radius: 8px; font-size: 16px; cursor: pointer; color: #fff; font-weight: 600; letter-spacing: 1px; transition: background 0.3s, transform 0.2s; margin-top: 10px; width: 100%; } #registerForm button[type="submit"]:hover { transform: scale(1.02); } #registerForm .close-form-btn { padding: 14px 24px; border: none; border-radius: 8px; font-size: 16px; cursor: pointer; background-color: #dc3545; /* Czerwony kolor */ color: #fff; font-weight: 600; letter-spacing: 1px; transition: background 0.3s, transform 0.2s; margin-top: 10px; width: 100%; /* Taki sam rozmiar jak inne przyciski */ } #registerForm .close-form-btn:hover { background-color: #c82333; /* Ciemniejszy czerwony na hover */ transform: scale(1.02); } #registerError { margin-top: 10px; color: red; font-weight: 500; transition: color 0.3s ease; } #registerSuccess { margin-top: 10px; color: #155724; background-color: #d4edda; border-color: #c3e6cb; padding: 10px; border: 1px solid; border-radius: 4px; display: none; /* Ukryte domyślnie */ font-weight: 500; transition: color 0.3s ease, background-color 0.3s ease; } /* ------- PANEL ADMINISTRACYJNY ------- */ #adminPanel { background-color: #ffffff; max-width: 1000px; width: 90%; padding: 30px; border-radius: 12px; box-shadow: 0 12px 24px rgba(0, 0, 0, 0.15); animation: fadeIn 0.6s ease; margin: 20px auto; transition: background-color 0.3s ease, color 0.3s ease; } #adminPanel h1 { text-align: center; margin-bottom: 20px; color: #333; transition: color 0.3s ease; } .buttons-container { display: flex; justify-content: center; margin-bottom: 20px; gap: 10px; } .btn { padding: 10px 16px; border: none; border-radius: 8px; background-color: #72a6ff; color: #fff; font-weight: 600; cursor: pointer; transition: background 0.3s, transform 0.2s; } .btn:hover { background-color: #5e90e7; transform: scale(1.02); } .secondary-btn { background-color: #28a745; /* Zielony kolor */ } .secondary-btn:hover { background-color: #218838; } .form-box { margin-bottom: 20px; box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); /* Dodanie głębi */ padding: 20px; border-radius: 8px; background-color: #f9f9f9; animation: fadeIn 0.6s ease; } .form-box h2 { text-align: center; margin-bottom: 15px; color: #333; transition: color 0.3s ease; } .form-box label { display: block; margin: 10px 0 5px 0; color: #444; transition: color 0.3s ease; } .form-box input, .form-box select { width: 100%; padding: 10px; margin-bottom: 15px; border: 1px solid #ccc; border-radius: 6px; font-size: 14px; transition: border-color 0.3s, background-color 0.3s, color 0.3s; } .form-box input:focus, .form-box select:focus { border-color: #72a6ff; outline: none; } .form-box button[type="submit"], .form-box .close-form-btn { padding: 10px 20px; border: none; border-radius: 6px; font-size: 14px; cursor: pointer; background: #72a6ff; color: #fff; font-weight: 600; letter-spacing: 1px; transition: background 0.3s, transform 0.2s; margin-right: 10px; } .form-box button[type="submit"]:hover, .form-box .close-form-btn:hover { background: #5e90e7; transform: scale(1.02); } .form-box .close-form-btn { background-color: #dc3545; /* Czerwony kolor */ } .form-box .close-form-btn:hover { background-color: #c82333; } /* ------- TABELA ------- */ table { width: 100%; border-collapse: collapse; margin-top: 20px; } thead { background-color: #72a6ff; color: #fff; } th, td { padding: 12px; text-align: left; border-bottom: 1px solid #ddd; transition: background-color 0.3s ease, color 0.3s ease; } th { font-weight: 600; } tr:last-child td { border-bottom: none; } #errorMessage { text-align: center; color: red; margin-top: 20px; font-weight: 500; transition: color 0.3s ease; } /* ------- POWIADOMIENIA ------- */ .notifications-container { position: fixed; bottom: 20px; right: 20px; z-index: 1000; display: flex; flex-direction: column; gap: 10px; } .notification { position: fixed; bottom: 20px; right: 20px; background-color: #333; color: #fff; padding: 15px 20px; border-radius: 8px; display: block !important; box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.2); z-index: 1000; opacity: 0 !important; transform: translateY(20px); transition: opacity 0.3s ease, transform 0.3s ease; } .notification.show { opacity: 1 !important; transform: translateY(0); } .notification.success { background-color: #4caf50; } .notification.error { background-color: #f44336; } /* ------- TRYB CIEMNY ------- */ body.dark-mode { background: linear-gradient(120deg, #2f2a51, #34324a); color: #eee; } /* Header w trybie ciemnym */ body.dark-mode header { background-color: #4b2e87; } body.dark-mode header button { background-color: #4b2e87; border: 1px solid #cfc0f5; } body.dark-mode header button:hover { background-color: #633ead; } /* Sekcje w trybie ciemnym */ body.dark-mode #loginSection, body.dark-mode #adminPanel, body.dark-mode #addAppointmentFormBox, body.dark-mode #registerSection { background-color: #3c336a; color: #dfdff6; } body.dark-mode #loginSection h1, body.dark-mode #adminPanel h1, body.dark-mode #registerSection h1, body.dark-mode .form-box h2 { color: #c4c4e4; } body.dark-mode #loginForm label, body.dark-mode #addAppointmentForm label, body.dark-mode #registerForm label { color: #dfdff6; } body.dark-mode #loginForm input, body.dark-mode #loginForm select, body.dark-mode #addAppointmentForm input, body.dark-mode #addAppointmentForm select, body.dark-mode #registerForm input, body.dark-mode #registerForm select { background-color: #4b4485; color: #dfdff6; border-color: #746fb4; } body.dark-mode #loginForm input:focus, body.dark-mode #loginForm select:focus, body.dark-mode #addAppointmentForm input:focus, body.dark-mode #addAppointmentForm select:focus, body.dark-mode #registerForm input:focus, body.dark-mode #registerForm select:focus { border-color: #a099d9; } body.dark-mode #loginForm button, body.dark-mode #registerForm button[type="submit"], body.dark-mode #adminPanel .btn, body.dark-mode .form-box button[type="submit"], body.dark-mode .form-box .close-form-btn { background-color: #4b2e87; } body.dark-mode #loginForm button:hover, body.dark-mode #registerForm button[type="submit"]:hover, body.dark-mode #adminPanel .btn:hover, body.dark-mode .form-box button[type="submit"]:hover, body.dark-mode .form-box .close-form-btn:hover { background-color: #633ead; } body.dark-mode #loginError, body.dark-mode #registerError, body.dark-mode #errorMessage { color: #ff9e9e; } body.dark-mode #registerSuccess { color: #155724; background-color: #d4edda; border-color: #c3e6cb; } body.dark-mode .btn { background-color: #4b2e87; } body.dark-mode .btn:hover { background-color: #633ead; } body.dark-mode thead { background-color: #4b2e87; } body.dark-mode th, body.dark-mode td { border-bottom: 1px solid #5f5993; } body.dark-mode tr:nth-child(odd) td { background-color: #48406f; } body.dark-mode tr:nth-child(even) td { background-color: #423a67; } /* Stylizacja formularza w trybie ciemnym */ body.dark-mode .form-box { background-color: #4b4485; box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3); } body.dark-mode .form-box label { color: #dfdff6; } /* Panel użytkownika */ .user-panel { background-color: #3c336a; /* Kolor panelu */ max-width: 800px; width: 90%; padding: 20px; border-radius: 15px; /* Zaokrąglone rogi */ box-shadow: 0 12px 24px rgba(0, 0, 0, 0.25); /* Efekt głębi */ margin: 20px auto; transition: background-color 0.3s ease, color 0.3s ease; } .user-panel h2 { text-align: center; color: #dfdff6; margin-bottom: 20px; } /* Tabela w panelu użytkownika */ .user-panel table { width: 100%; border-collapse: collapse; margin-top: 20px; } .user-panel thead { background-color: #4b2e87; color: #fff; } .notification { position: fixed; bottom: 20px; right: 20px; max-width: 300px; padding: 10px; border-radius: 8px; box-shadow: 0px 2px 10px rgba(0, 0, 0, 0.2); color: white; display: none; } footer { text-align: center; margin-top: 20px; font-size: 14px; color: #555; transition: color 0.3s ease; } body.dark-mode footer { color: #dfdff6; } .notification.success { background-color: #28a745; } .notification.error { background-color: #dc3545; } .user-panel th, .user-panel td { padding: 12px; text-align: left; border-bottom: 1px solid #5f5993; color: #dfdff6; } .user-panel tr:nth-child(even) td { background-color: #48406f; } .user-panel tr:nth-child(odd) td { background-color: #423a67; } /* Powiadomienie */ .notification { padding: 15px 20px; border-radius: 8px; box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); animation: fadeIn 0.3s ease-out; color: #fff; font-size: 14px; font-weight: bold; } /* Typy powiadomień */ .notification.success { background-color: #4caf50; /* Zielony */ } .notification.error { background-color: #f44336; /* Czerwony */ } .notification.info { background-color: #2196f3; /* Niebieski */ } /* Tryb ciemny - kolory powiadomień */ body.dark-mode .notification.success { background-color: #388e3c; } body.dark-mode .notification.error { background-color: #d32f2f; } body.dark-mode .notification.info { background-color: #1976d2; } /* Animacja fade-in */ @keyframes fadeIn { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }