*{box-sizing:border-box}body{margin:0;font-family:Arial,Helvetica,sans-serif;background:#f4f7fb;color:#1f2937}.app{display:flex;min-height:100vh}.sidebar{width:250px;background:#0f2742;color:white;padding:20px;flex-shrink:0}.logo{font-size:22px;font-weight:bold;margin-bottom:30px}.menu a{display:block;color:#dce7f5;text-decoration:none;padding:12px;border-radius:10px;cursor:pointer}.menu a.active,.menu a:hover{background:#1e4972}.main{flex:1;padding:24px}.view,.panel-paziente,.panel-agenda{display:none}.view.active,.panel-paziente.active,.panel-agenda.active{display:block}.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.card{background:white;border-radius:16px;padding:20px;margin-bottom:20px;box-shadow:0 8px 24px rgba(15,39,66,.06)}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.card-value{font-size:30px;font-weight:bold}.muted{color:#6b7280;font-size:13px}.grid2{display:grid;grid-template-columns:1.2fr 2fr;gap:20px}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.field label{display:block;font-size:13px;color:#6b7280;margin-bottom:6px}.field input,.field select,.field textarea{width:100%;padding:10px;border:1px solid #d8e0ea;border-radius:10px}.field textarea{min-height:80px}.formgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.full{grid-column:1/-1}.button{background:#1e4972;color:white;border:0;border-radius:10px;padding:10px 14px;cursor:pointer}.button.secondary{background:white;color:#1e4972;border:1px solid #d8e0ea}.tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}.tabs button{border:1px solid #d8e0ea;background:white;padding:10px 12px;border-radius:10px;cursor:pointer}.tabs button.active{background:#1e4972;color:white}.table{width:100%;border-collapse:collapse}.table th,.table td{padding:10px;border-bottom:1px solid #edf1f5;text-align:left}.table tr:hover{background:#f8fbff}.badge{padding:5px 9px;border-radius:999px;font-size:12px}.green{background:#e7f8ed;color:#15803d}.slot{display:grid;grid-template-columns:180px 1fr 120px;gap:12px;padding:12px;border-bottom:1px solid #edf1f5}.msg{position:fixed;right:20px;bottom:20px;background:white;border-radius:10px;padding:12px 16px;box-shadow:0 8px 24px #0002}.msg.ok{color:#15803d}.msg.error{color:#b91c1c}.timeline{border-bottom:1px solid #edf1f5;padding:10px 0}.calendar-switch button.active{background:#1e4972;color:white}@media(max-width:1000px){.cards,.grid2,.grid3,.formgrid{grid-template-columns:1fr}.app{flex-direction:column}.sidebar{width:100%}}
