@import url("https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,600;1,400&family=DM+Sans:wght@300;400;500&display=swap");:root{--bg:#fdf6e3;--bg-tinted:#f0e8c8;--green:#3d6b50;--green-dark:#2d5040;--green-light:#7a9e88;--text:#2a2822;--heading:#1a1a18;--faint:#8a8478;--rule:#e0dbd4;--font-heading:"Playfair Display",Georgia,serif;--font-body:"DM Sans",sans-serif}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-body);background:var(--bg);color:var(--text);font-size:15px;line-height:1.7}.band{height:5px}.band,.band--bottom{background:var(--green)}.band--bottom{height:4px}.wrap{max-width:700px;margin:0 auto;padding:0 1.5rem}h1,h2,h3{font-family:var(--font-heading);color:var(--heading)}h1{font-size:1.6rem;margin-bottom:.5rem}h1 em{font-style:italic;color:var(--green)}h2{font-size:1.1rem;margin-bottom:.8rem}.header{padding:1rem 0;border-bottom:1px solid var(--rule);text-align:center}.header span{font-family:var(--font-heading);font-size:.95rem;color:var(--green)}.login-box{max-width:320px;margin:4rem auto;text-align:center}.form-group{margin-bottom:1rem}.form-group label{display:block;font-size:.75rem;letter-spacing:1px;text-transform:uppercase;color:var(--faint);margin-bottom:.3rem}.form-group input,.form-group select,.form-group textarea{width:100%;padding:.65rem .8rem;border:1px solid var(--rule);border-radius:2px;font-family:var(--font-body);font-size:.9rem;background:#fff;color:var(--text)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--green)}.form-group textarea{resize:vertical;min-height:60px}.contacts-dropdown{position:absolute;z-index:10;background:#fff;border:1px solid var(--rule);border-radius:2px;max-height:200px;overflow-y:auto;width:100%;box-shadow:0 4px 12px rgba(0,0,0,.1)}.contact-item{padding:.6rem .8rem;cursor:pointer;border-bottom:1px solid var(--rule);font-size:.88rem}.contact-item:hover{background:var(--bg-tinted)}.contact-item .name{font-weight:500}.contact-item .detail{font-size:.78rem;color:var(--faint)}.btn{display:inline-block;padding:.65rem 1.5rem;border:none;border-radius:2px;font-family:var(--font-body);font-size:.9rem;cursor:pointer;text-decoration:none}.btn--green{background:var(--green);color:#fff}.btn--green:hover{background:var(--green-dark)}.btn--outline{background:none;border:1px solid var(--green);color:var(--green)}.btn--full{display:block;width:100%}.btn:disabled{opacity:.5;cursor:not-allowed}.two-col{display:grid;grid-template-columns:1fr 1fr;grid-gap:1rem;gap:1rem}.appt-card{background:#fff;border:1px solid var(--rule);border-left:3px solid var(--green);padding:.8rem 1rem;margin-bottom:.5rem;border-radius:2px}.appt-time{font-weight:500;color:var(--green);font-size:.9rem}.appt-name{font-weight:500;margin-top:.2rem}.appt-detail{font-size:.8rem;color:var(--faint)}.checkbox-row{display:flex;align-items:center;gap:.5rem;margin:1rem 0}.checkbox-row input[type=checkbox]{width:auto}.success-msg{background:#e8f5e9;border:1px solid #a5d6a7;color:#2e7d32;border-radius:2px}.error-msg,.success-msg{padding:1rem;margin-bottom:1rem;text-align:center}.error-msg{background:#ffebee;border:1px solid #ef9a9a;color:#c62828;border-radius:2px}@media (max-width:500px){.two-col{grid-template-columns:1fr}}