/* Outil de réservation de leçons — complète assets/styles.css */
.lecons h1 {
    font-family: var(--display);
    margin: 0 0 24px;
}

.lecons-nav {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px 20px;
    padding-bottom: 16px;
    margin-bottom: 28px;
    border-bottom: 1px solid var(--line-2);
}

.lecons-nav form {
    margin-left: auto;
}

.lecons-nav button {
    padding: 0;
    font: inherit;
    color: inherit;
    text-decoration: underline;
    background: none;
    border: 0;
    cursor: pointer;
}

.lecons-message {
    padding: 12px 16px;
    margin: 0 0 20px;
    border: 1px solid var(--line-2);
    border-left: 4px solid var(--ink);
    border-radius: var(--r-btn);
    background: var(--card);
}

.lecons-message--erreur {
    border-left-color: var(--accent);
}

.lecons-form {
    display: grid;
    gap: 14px;
    max-width: 460px;
    margin: 0 0 32px;
}

.lecons-form label {
    display: grid;
    gap: 6px;
    font-weight: 600;
}

.lecons-form input[type="text"],
.lecons-form input[type="email"],
.lecons-form select,
.lecons-form textarea {
    width: 100%;
    padding: 10px 12px;
    font: inherit;
    color: var(--ink);
    background: var(--card);
    border: 1px solid var(--line-2);
    border-radius: var(--r-btn);
}

.lecons-form .lecons-case {
    display: flex;
    align-items: center;
    gap: 8px;
    font-weight: 400;
}

.lecons-table {
    width: 100%;
    border-collapse: collapse;
    margin: 0 0 32px;
    background: var(--card);
}

.lecons-table th,
.lecons-table td {
    padding: 10px 12px;
    text-align: left;
    border-bottom: 1px solid var(--line);
}

.lecons-table th {
    font-size: 0.85rem;
    color: var(--muted);
}

.lecons-table-defilement {
    overflow-x: auto;
}

.lecons h2 {
    font-family: var(--display);
    margin: 32px 0 12px;
}

.lecons-plages {
    display: grid;
    gap: 8px;
    padding: 0;
    margin: 0 0 24px;
    list-style: none;
}

.lecons-plages li,
.lecons-ligne {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px 16px;
    padding: 12px 16px;
    background: var(--card);
    border: 1px solid var(--line-2);
    border-radius: var(--r-btn);
}

.lecons-plage__heure {
    min-width: 130px;
    font-weight: 700;
}

.lecons-plages form {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    margin-left: auto;
}

.lecons-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 16px;
    margin-left: auto;
}

.lecons-actions form {
    margin-left: 0;
}

.lecons-plages input[type="text"] {
    padding: 8px 10px;
    font: inherit;
    border: 1px solid var(--line-2);
    border-radius: var(--r-btn);
}

.lecons-etat {
    margin-left: auto;
    color: var(--muted);
}

.lecons-form input[type="time"],
.lecons-form input[type="date"],
.lecons-form input[type="number"] {
    width: 100%;
    padding: 10px 12px;
    font: inherit;
    color: var(--ink);
    background: var(--card);
    border: 1px solid var(--line-2);
    border-radius: var(--r-btn);
}

.lecons-aide {
    font-weight: 400;
    color: var(--muted);
}

.lecons-pastille {
    display: inline-block;
    min-width: 20px;
    padding: 1px 6px;
    font-size: 0.75rem;
    font-weight: 700;
    line-height: 18px;
    color: #fff;
    text-align: center;
    vertical-align: middle;
    background: var(--accent);
    border-radius: var(--r-pill);
}

.lecons-regles {
    padding: 16px 20px;
    margin: 0 0 24px;
    background: var(--paper-2);
    border-radius: var(--r-card);
}

.lecons-regles h2 {
    margin: 0 0 8px;
    font-size: 1.1rem;
}

.lecons-regles ul {
    padding-left: 20px;
    margin: 0;
}

.lecons-regles li + li {
    margin-top: 4px;
}

.lecons-agenda {
    color: var(--muted);
}
