.login{max-width:460px;margin:7vh auto;padding:30px;background:#fff;border:1px solid #d9e1dc;border-top:6px solid #a8c0b0;border-radius:15px}.login img{display:block;width:210px;max-width:100%;margin:0 auto 26px}.login .field{margin:18px 0}.login button{margin-top:12px}.login form button{width:100%}#loginError{color:#932f3a;white-space:pre-line}.save-failed{background:#fff0ef!important;color:#922f38!important}.save-pending{background:#fff4db!important}.empty-patients{padding:30px;border:1px dashed #adbdc7;border-radius:12px;background:#fff;margin:24px 0}.staff-actions{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0}.inactive{opacity:.75}.account{overflow-wrap:anywhere}.account button{font-size:14px;margin-top:12px}.demo{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.demo button{padding:4px 9px;font-size:14px}.shared-therapy{background:#eef4f0;padding:14px;border-radius:9px;margin-top:12px}.doc-actions{display:flex;gap:12px}.doc-actions button{font-size:14px}.staff-inactive{color:#934753}.login .muted{font-size:14px}@media(max-width:680px){.login{margin:20px 12px}.role-controls{gap:7px}.role-controls button{font-size:14px}.account{display:block}.content{padding-bottom:40px}}

#backupDialog{width:min(480px,calc(100vw - 32px));max-height:90vh;overflow:auto;padding:24px;box-sizing:border-box}#backupDialog .field{display:flex;flex-direction:column;gap:6px;margin:16px 0}#backupDialog input{width:100%;box-sizing:border-box}#backupStatus{white-space:pre-line}#backupDownload:not([hidden]){display:inline-block;background:#103870;color:white;padding:12px 18px;border-radius:9px;text-decoration:none}.backup-footer{margin-top:20px}
#restoreDialog{width:min(620px,calc(100vw - 32px));max-height:90vh;overflow:auto;padding:24px;box-sizing:border-box}#restoreDialog .field{display:flex;flex-direction:column;gap:6px;margin:16px 0}#restoreDialog input:not([type=checkbox]){width:100%;box-sizing:border-box}#restoreStatus{white-space:pre-line}

#extraDialog{width:min(700px,calc(100vw - 28px));max-height:90vh;overflow:auto;padding:24px;box-sizing:border-box}#extraDialog input,#extraDialog select{max-width:100%;box-sizing:border-box}#extraBilling{margin-top:16px;border:1px solid #d9e1dc;border-radius:10px;padding:16px}

.roster-scroll{overflow-x:auto;background:white;border:1px solid #d9e1dc;border-radius:12px}.roster-scroll table{width:100%;border-collapse:collapse}.roster-scroll th,.roster-scroll td{padding:14px;text-align:left;border-bottom:1px solid #d9e1dc;min-width:100px}.roster-scroll th{background:#eef4f5}.roster-counts{display:flex;gap:12px;flex-wrap:wrap}.roster-counts p{background:#fff;padding:12px;border-radius:8px}#monthlyPatients .stats b{display:block;font-size:28px}#monthlyPatients .stats{margin:20px 0}
