:root{--primary:#075a78;--primary-dark:#03445c;--success:#198754;--danger:#dc3545;--background:#f3f6f8;--border:#dce3e8;--text:#263238;--white:#fff}
*{box-sizing:border-box}body{margin:0;font-family:Arial,Helvetica,sans-serif;background:var(--background);color:var(--text);line-height:1.5}.container{width:min(1150px,calc(100% - 2rem));margin:0 auto}.narrow{width:min(600px,calc(100% - 2rem));margin-top:4rem}.hero,.admin-header{background:linear-gradient(135deg,var(--primary),var(--primary-dark));color:#fff;padding:3rem 0}.admin-header .container{display:flex;justify-content:space-between;align-items:center}.admin-header a,.hero a{color:#fff}.card{background:var(--white);border-radius:12px;padding:1.5rem;margin:2rem 0;box-shadow:0 5px 20px rgba(0,0,0,.08)}.section-header{display:flex;justify-content:space-between;align-items:center;gap:1rem}.calendar-navigation{display:flex;align-items:center;gap:1rem}.calendar-navigation button{padding:.5rem .8rem}.legend{display:flex;gap:1rem;margin:1rem 0}.legend span{display:flex;align-items:center;gap:.5rem}.legend-box{width:18px;height:18px;border-radius:4px;display:inline-block}.available{background:#e8f5e9}.occupied{background:#f8d7da}.calendar-weekdays,.calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:.5rem}.calendar-weekdays{margin-bottom:.5rem;font-weight:bold;text-align:center}.calendar-day{min-height:100px;border:1px solid var(--border);border-radius:8px;padding:.5rem;background:#fff}.calendar-day.empty{background:#f7f7f7}.calendar-booking{background:#f8d7da;color:#842029;border-radius:5px;padding:.3rem;margin-top:.5rem;font-size:.85rem;text-align:center}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.full-width{grid-column:1/-1}label{display:block;font-weight:bold;margin:.7rem 0 .4rem}input,textarea{width:100%;padding:.75rem;border:1px solid var(--border);border-radius:7px;font:inherit}textarea{min-height:120px}.checkbox-row{display:flex;gap:.7rem}.checkbox-row input{width:auto;margin-top:.9rem}button,.primary-button{display:inline-block;background:var(--primary);color:#fff;border:0;padding:.8rem 1.2rem;border-radius:7px;font-size:1rem;cursor:pointer;text-decoration:none}button:hover,.primary-button:hover{background:var(--primary-dark)}.secondary-button,.edit-button{display:inline-block;background:#6c757d;color:#fff;padding:.8rem 1.2rem;border-radius:7px;text-decoration:none}.message{display:none;margin-top:1rem;padding:1rem;border-radius:7px}.message:not(:empty){display:block}.message.success{background:#d1e7dd;color:#0f5132}.message.error{background:#f8d7da;color:#842029}.reservation{border:1px solid var(--border);border-radius:10px;padding:1.2rem;margin-top:1rem}.reservation-top{display:flex;justify-content:space-between;gap:1rem}.reservation-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:1rem}.status{display:inline-block;padding:.3rem .6rem;border-radius:999px;font-size:.8rem}.status.pending{background:#fff3cd;color:#664d03}.status.confirmed{background:#d1e7dd;color:#0f5132}.admin-actions{display:flex;gap:.7rem;flex-wrap:wrap;align-items:center}.admin-actions form{margin:0}.approve{background:var(--success)}.reject{background:var(--danger)}.confirmation-card{text-align:center}footer{padding:2rem 0;text-align:center}a{color:var(--primary)}@media(max-width:750px){.form-grid{grid-template-columns:1fr}.full-width{grid-column:auto}.calendar-weekdays{font-size:.75rem}.calendar-day{min-height:70px;font-size:.8rem}.reservation-grid{grid-template-columns:1fr}.section-header{flex-direction:column;align-items:flex-start}}
