body { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; background-color: #f4f4f9; color: #333; margin: 0; padding: 20px; }
.container { max-width: 1200px; margin: 0 auto; background: #fff; padding: 20px; border-radius: 8px; box-shadow: 0 2px 10px rgba(0,0,0,0.1); }
h1, h2 { color: #2c3e50; }

/* Nagłówek kalendarza */
.calendar-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 20px; }
.calendar-header h1 { margin: 0; font-size: 1.8em; }
.calendar-header a { text-decoration: none; background: #3498db; color: white; padding: 8px 15px; border-radius: 4px; }
.subscribe-link { text-align: center; margin-bottom: 20px; }
.subscribe-link a { font-weight: bold; color: #2980b9; }

/* Kalendarz */
.calendar { width: 100%; border-collapse: collapse; }
.calendar th, .calendar td { border: 1px solid #ddd; padding: 10px; vertical-align: top; height: 120px; max-width: calc(8vw); min-width: 4vw; }
.calendar th { background: #ecf0f1; text-align: center; }
.calendar td.today { background-color: #fcf8e3; }
.day-number { font-weight: bold; font-size: 1.1em; color: #7f8c8d; }
.events-list { list-style: none; margin: 5px 0 0; padding: 0; font-size: 0.9em; }
.events-list li { background-color: #e7f3fe; border-left: 3px solid #3498db; padding: 5px; margin-bottom: 5px; border-radius: 3px; }
.events-list li strong { color: #2980b9; }

/* Formularze */
.form-container { display: flex; gap: 40px; }
.form-container form { flex: 1; }
form { display: flex; flex-direction: column; gap: 10px; background: #f9f9f9; padding: 20px; border-radius: 5px; }
form label { font-weight: bold; }
form input[type="text"], form input[type="password"], form input[type="date"], form input[type="time"] { padding: 10px; border: 1px solid #ccc; border-radius: 4px; font-size: 1em; }
form button { padding: 12px; background: #2ecc71; color: white; border: none; border-radius: 4px; cursor: pointer; font-size: 1.1em; }
form button:hover { background: #27ae60; }
.inline-label { display: flex; align-items: center; gap: 10px; font-weight: normal; }
.inline-label input { width: auto; }

/* Logowanie */
.form-login { max-width: 400px; margin: 20px auto; }
.admin-login-link { display: block; text-align: center; margin-top: 20px; color: #7f8c8d; }

/* Komunikaty */
.error { color: #c0392b; background: #f2dede; padding: 10px; border: 1px solid #ebccd1; border-radius: 4px; }
.message { color: #27ae60; background: #dff0d8; padding: 10px; border: 1px solid #d6e9c6; border-radius: 4px; }
.admin-header { border-bottom: 1px solid #eee; padding-bottom: 15px; margin-bottom: 20px; }

/* Układ siatki dla formularzy w panelu admina */
.form-grid {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 40px;
}

.right-column {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

/* Dostosowanie formularza w prawej kolumnie */
.right-column form {
    margin-top: 0;
}

/* Kontener dla wymuszonej zmiany hasła */
.forced-change-container {
    max-width: 500px;
    margin-top: 50px;
}

.info {
    color: #31708f;
    background-color: #d9edf7;
    border: 1px solid #bce8f1;
    padding: 15px;
    border-radius: 4px;
    text-align: center;
}

/* Poprawki dla urządzeń mobilnych */
@media (max-width: 768px) {
    .form-grid {
        grid-template-columns: 1fr;
    }
}


/* Kontener do zarządzania wydarzeniami */
.events-management-container {
    margin-top: 40px;
    padding-top: 20px;
    border-top: 2px solid #ecf0f1;
}

.event-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.event-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 15px;
    background-color: #f9f9f9;
    border: 1px solid #eee;
    border-radius: 5px;
    margin-bottom: 10px;
}

.event-details {
    display: flex;
    flex-direction: column;
}

.event-title {
    font-weight: bold;
    font-size: 1.1em;
    color: #34495e;
}

.event-date {
    font-size: 0.9em;
    color: #7f8c8d;
    margin-top: 4px;
}

.delete-form {
    margin: 0;
    padding: 0;
    background: none;
}

.delete-btn {
    background-color: #e74c3c;
    color: white;
    border: none;
    padding: 8px 15px;
    border-radius: 4px;
    cursor: pointer;
    font-size: 0.9em;
    transition: background-color 0.2s;
}

.delete-btn:hover {
    background-color: #c0392b;
}

/* Ukryj widok mobilny na desktopie */
.calendar-mobile {
    display: none;
}

/* Na ekranach max 768px: ukryj tabelę, pokaż listę */
@media (max-width: 768px) {
    .calendar {
        display: none;
    }

    .calendar-mobile {
        display: block;
    }

    .calendar-day-mobile {
        background: #f9f9f9;
        border: 1px solid #ddd;
        padding: 15px;
        margin-bottom: 12px;
        border-radius: 6px;
        box-shadow: 0 1px 3px rgba(0,0,0,0.1);
    }

    .day-number-mobile {
        font-weight: bold;
        font-size: 1.3em;
        margin-bottom: 8px;
        color: #2980b9;
    }

    .events-list li {
        background-color: #e7f3fe;
        border-left: 3px solid #3498db;
        padding: 5px;
        margin-bottom: 6px;
        border-radius: 3px;
        font-size: 1em;
    }

    .no-events {
        color: #7f8c8d;
        font-style: italic;
        font-size: 0.9em;
    }
}
