*{box-sizing:border-box}body{margin:0;background:#f5f7f5;color:#1b322b;font:16px system-ui,sans-serif}a{color:#095b40;text-decoration:none}aside{width:230px;position:fixed;inset:0 auto 0 0;background:#fff;border-right:1px solid #e3e9e4;padding:36px 24px}.brand{font:700 25px Georgia,serif;color:#075238}.brand span{color:#af8b42}nav{margin:48px 0}nav a{display:block;padding:13px 16px;border-radius:9px;margin:6px 0}nav a.active{background:#e8f2ec;font-weight:700}main{margin-left:230px;padding:40px;max-width:1500px}header,.row{display:flex;align-items:center;justify-content:space-between;gap:20px}header{margin-bottom:28px}h1{font-size:30px;margin:8px 0}h2{font-size:21px}small,.muted{color:#6a7b72}small{letter-spacing:1px}article,.hero{padding:28px;border-radius:16px;background:#fff;border:1px solid #e4ebe6;margin-bottom:20px}.hero{background:#084d37;color:#fff;padding:36px}.hero h2{font-size:29px}.hero p{color:#d0e4d7}.light{color:#e7d6a9;padding:10px}.grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.grid article{min-width:0}label{display:block;font-size:14px;font-weight:600;margin-bottom:17px}input,select,textarea{display:block;width:100%;padding:12px;border:1px solid #ccd9d0;border-radius:8px;margin-top:7px;background:#fff;font:inherit;color:inherit}textarea{min-height:90px}button,.button{display:inline-block;padding:12px 20px;background:#075238;color:#fff;border:0;border-radius:8px;font:600 14px system-ui;cursor:pointer}.hero .button{background:#fff;color:#075238}.secondary{background:#edf2ee;color:#325c47}.badge{display:inline-block;background:#f4efdf;color:#796028;padding:5px 9px;border-radius:6px;font-size:12px}.row,.appointment{border-bottom:1px solid #e5ece7;padding:18px 0;overflow-wrap:anywhere}.inline{display:flex;gap:8px}.error{background:#ffebe7;color:#9e3425;padding:16px;border-radius:8px}.login{max-width:440px;margin:10vh auto;padding:36px;background:#fff;border-radius:20px;box-shadow:0 15px 60px #0a4a3610}.login .brand{margin-bottom:40px}.login button{width:100%}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #b28c42;outline-offset:3px}@media(max-width:800px){aside{position:static;width:auto;padding:20px}nav{margin:15px 0;display:flex;overflow:auto}nav a{white-space:nowrap}main{margin:0;padding:20px}.grid{grid-template-columns:1fr}.login{margin:6vh 20px}header{align-items:flex-start}}
