:root{--font-scale: 1}*{box-sizing:border-box}body{margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.6;color:#374151;background-color:#f3f4f6;font-size:calc(14px * var(--font-scale))}button,[type=button],[type=reset],[type=submit],[role=button]{cursor:default;color:#000}.btn{padding:.5rem 1rem;border:none;border-radius:.5rem;font-weight:600;font-size:calc(.875rem * var(--font-scale));cursor:pointer;display:inline-flex;align-items:center;gap:.5rem;transition:all .2s}.btn-primary{background:#3b82f6;color:#fff}.btn-primary:hover:not(:disabled){background-color:#2563eb}.btn-primary:disabled{background-color:#93c5fd;cursor:not-allowed}.btn-secondary{background:#6b7280;color:#fff}.btn-secondary:hover{background:#4b5563}.btn-danger{background:#ef4444;color:#fff}.btn-danger:hover{background:#dc2626}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-sm{padding:.375rem .75rem;font-size:calc(.8rem * var(--font-scale))}.btn-icon{width:1.25rem;height:1.25rem}.btn-icon-action{padding:.5rem;border:none;border-radius:.375rem;cursor:pointer;background:transparent;color:#6b7280;transition:all .2s}.btn-icon-action:hover{background:#f3f4f6;color:#374151}.btn-edit{color:#2563eb}.btn-edit:hover{background:#eff6ff;color:#1d4ed8}.btn-delete{color:#dc2626}.btn-delete:hover{background:#fef2f2;color:#b91c1c}.btn-success{background:#10b981;color:#fff}.btn-success:hover{background:#059669}.btn-info{background:#06b6d4;color:#fff}.btn-info:hover{background:#0891b2}.btn-add-patient{background:#10b981;color:#fff;border:none;border-radius:.375rem;padding:.5rem;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.25rem}.btn-add-patient:hover{background:#059669}.btn-add-patient svg{width:1rem;height:1rem}.btn-add-patient .person-icon{width:1rem;height:1rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-label{font-weight:600;color:#374151;font-size:calc(.875rem * var(--font-scale))}.form-input{padding:.75rem 1rem;border:1px solid #d1d5db;border-radius:.5rem;font-size:calc(.875rem * var(--font-scale));transition:all .2s;background:white}.form-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.form-input:disabled{background:#f9fafb;color:#9ca3af;cursor:not-allowed}.modal{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.5);display:flex;justify-content:center;align-items:center;z-index:1000}.modal-content{background:white;border-radius:.75rem;box-shadow:0 20px 25px -5px #0000001a;max-width:90vw;max-height:90vh;overflow:auto}.modal-header{padding:1.5rem;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;align-items:center}.modal-header h2{margin:0;font-size:calc(1.25rem * var(--font-scale));font-weight:700;color:#111827}.modal-body{padding:1.5rem}.modal-footer{padding:1.5rem;border-top:1px solid #e5e7eb;display:flex;justify-content:flex-end;gap:.75rem}.data-table{width:100%;border-collapse:collapse;background:white;border-radius:.5rem;overflow:hidden;box-shadow:0 1px 3px #0000001a}.data-table th,.data-table td{padding:.75rem 1rem;text-align:left;border-bottom:1px solid #e5e7eb;font-size:calc(.875rem * var(--font-scale))}.data-table th{background:#f9fafb;font-weight:600;color:#374151}.data-table tr:hover{background:#f9fafb}.error-message{background:#fef2f2;color:#dc2626;padding:.75rem;border-radius:.375rem;font-size:calc(.875rem * var(--font-scale));border:1px solid #fecaca}
