.admin-page{min-height:100vh;background:#eef1ec;color:#1c2a22}.admin-header{display:flex;align-items:center;justify-content:space-between;padding:24px 5%;border-bottom:1px solid #cdd6cd;background:#fff}.admin-header .brand{font:700 1.7rem Georgia,serif;text-decoration:none}.admin-header nav{display:flex;align-items:center;gap:24px}.admin-header nav a,.text-button{font-size:15px;color:#2f5a46}.admin-header form{margin:0}.text-button{font-family:inherit;border:0;padding:0;background:none;cursor:pointer;text-decoration:underline}.admin-main{max-width:1100px;padding:64px 24px;margin:auto}.admin-card{background:#fff;border:1px solid #dbe1d8;border-radius:20px;padding:40px;box-shadow:0 12px 48px #1f3a2e08}.admin-card h1{font-size:clamp(2rem,5vw,2.8rem)}.admin-eyebrow{font-size:12px;letter-spacing:.16em;color:#687768;margin:0 0 18px}.admin-intro{color:#56645b;max-width:680px;margin:20px 0 32px}.login-card{max-width:510px;margin:0 auto}.admin-form{display:grid;gap:10px}.admin-form input{width:100%;padding:13px 14px;border:1px solid #b9c5b8;border-radius:8px;font:inherit;background:#fff;color:#1c2a22;margin-bottom:12px}.admin-form .btn{border:0;cursor:pointer;font:600 16px system-ui;margin-top:8px}.error-message{color:#8c2424;background:#fff1ee;border-radius:8px;padding:12px 16px;margin-bottom:20px}.calendar-panel{display:grid;grid-template-columns:minmax(280px,420px) 1fr;gap:48px}.calendar-panel .cal{width:100%;margin:0}.calendar-help{border-left:1px solid #dbe1d8;padding-left:32px;color:#56645b}.calendar-help h2{font:700 1.5rem Georgia,serif;color:#1c2a22;margin:0 0 16px}.calendar-status{color:#1f3a2e;font-weight:600}.admin .cal-g button.busy{background:#1f3a2e;color:#fff;text-decoration:line-through}.admin .cal-g button.free{background:#edf3e8}.admin .cal-g button:hover:not(:disabled){outline:2px solid #c47f17;outline-offset:1px}@media(max-width:700px){.admin-main{padding:24px 16px}.admin-card{padding:24px 18px}.calendar-panel{grid-template-columns:1fr;gap:28px}.calendar-help{border-left:0;border-top:1px solid #dbe1d8;padding:24px 0 0}.admin-header{padding:20px 16px}.admin-header nav{gap:14px}.admin-header nav a,.text-button{font-size:13px}}
